From 15fbec40dd5b1e32a429ad3827702664490212e3 Mon Sep 17 00:00:00 2001 From: GitHub Action Date: Mon, 25 Nov 2024 18:05:27 +0000 Subject: [PATCH 01/21] chore: update langfuse_github_discussions.json --- src/langfuse_github_discussions.json | 59 +++++++++++++++++++++++----- 1 file changed, 49 insertions(+), 10 deletions(-) diff --git a/src/langfuse_github_discussions.json b/src/langfuse_github_discussions.json index a47fe7a6c..1e5ae9cfd 100644 --- a/src/langfuse_github_discussions.json +++ b/src/langfuse_github_discussions.json @@ -1,9 +1,26 @@ { - "updated_at": "2024-11-25T12:07:15.070065+00:00", + "updated_at": "2024-11-25T18:05:27.317675+00:00", "categories": [ { "category": "Ideas", "discussions": [ + { + "number": 4414, + "title": "langfuse-python: simple static method listing prompt template var names", + "href": "https://github.com/orgs/langfuse/discussions/4414", + "created_at": "2024-11-25T16:28:05Z", + "upvotes": 1, + "comment_count": 1, + "resolved": false, + "labels": [ + "feat-prompt-management" + ], + "author": { + "login": "rhighs", + "html_url": "https://github.com/rhighs" + }, + "category": "Ideas" + }, { "number": 4397, "title": "n8n Integration", @@ -72,7 +89,9 @@ "upvotes": 1, "comment_count": 0, "resolved": false, - "labels": [], + "labels": [ + "feat-datasets" + ], "author": { "login": "jannikmaierhoefer", "html_url": "https://github.com/jannikmaierhoefer" @@ -2701,7 +2720,7 @@ "href": "https://github.com/orgs/langfuse/discussions/3004", "created_at": "2024-08-22T09:50:47Z", "upvotes": 45, - "comment_count": 16, + "comment_count": 17, "resolved": false, "labels": [ "✅ Done", @@ -7141,6 +7160,24 @@ { "category": "Support", "discussions": [ + { + "number": 4413, + "title": "Help needed with CustomSSOProvider Configuration for GitHub Enterprise", + "href": "https://github.com/orgs/langfuse/discussions/4413", + "created_at": "2024-11-25T15:30:23Z", + "upvotes": 1, + "comment_count": 2, + "resolved": false, + "labels": [ + "feat-auth", + "self-hosting" + ], + "author": { + "login": "jay0129", + "html_url": "https://github.com/jay0129" + }, + "category": "Support" + }, { "number": 4393, "title": "Openai JS: Tracing for multiple iterations and tool calling", @@ -7194,8 +7231,8 @@ "href": "https://github.com/orgs/langfuse/discussions/4374", "created_at": "2024-11-21T22:39:36Z", "upvotes": 1, - "comment_count": 1, - "resolved": false, + "comment_count": 2, + "resolved": true, "labels": [], "author": { "login": "geek1s42", @@ -7239,8 +7276,8 @@ "href": "https://github.com/orgs/langfuse/discussions/4363", "created_at": "2024-11-21T16:41:35Z", "upvotes": 1, - "comment_count": 1, - "resolved": false, + "comment_count": 2, + "resolved": true, "labels": [], "author": { "login": "pleomax0730", @@ -7301,7 +7338,7 @@ "href": "https://github.com/orgs/langfuse/discussions/4352", "created_at": "2024-11-21T05:57:10Z", "upvotes": 1, - "comment_count": 0, + "comment_count": 1, "resolved": false, "labels": [], "author": { @@ -7316,9 +7353,11 @@ "href": "https://github.com/orgs/langfuse/discussions/4330", "created_at": "2024-11-20T07:55:51Z", "upvotes": 1, - "comment_count": 0, + "comment_count": 1, "resolved": false, - "labels": [], + "labels": [ + "integration-langchain" + ], "author": { "login": "wertycn", "html_url": "https://github.com/wertycn" From c121985bfea554ff58ea115108290fe2d5bc6770 Mon Sep 17 00:00:00 2001 From: Marc Klingen Date: Mon, 25 Nov 2024 22:44:41 +0100 Subject: [PATCH 02/21] docs: add ghcr download stats --- pages/blog/2024-11-most-used-oss-llmops.mdx | 22 +++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/pages/blog/2024-11-most-used-oss-llmops.mdx b/pages/blog/2024-11-most-used-oss-llmops.mdx index d570cd0f2..31036e42d 100644 --- a/pages/blog/2024-11-most-used-oss-llmops.mdx +++ b/pages/blog/2024-11-most-used-oss-llmops.mdx @@ -28,12 +28,12 @@ Langfuse is the **most downloaded** OSS LLMOps tool across Python, JS/TS, and Do | | pypi downloads | npm downloads | docker pulls | | --------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -| 🪢 Langfuse | [![Langfuse pypi downloads](https://img.shields.io/pypi/dm/langfuse?style=for-the-badge&label=%20&labelColor=black&color=orange)](https://pypi.org/project/langfuse) | [![Langfuse npm downloads](https://img.shields.io/npm/dm/langfuse?style=for-the-badge&label=%20&labelColor=black&color=orange)](https://www.npmjs.com/package/langfuse) | [![Langfuse Docker Pulls](https://img.shields.io/docker/pulls/langfuse/langfuse?style=for-the-badge&label=%20&labelColor=black&color=orange)](https://hub.docker.com/r/langfuse/langfuse) | +| 🪢 Langfuse | [![Langfuse pypi downloads](https://img.shields.io/pypi/dm/langfuse?style=for-the-badge&label=%20&labelColor=black&color=orange)](https://pypi.org/project/langfuse) | [![Langfuse npm downloads](https://img.shields.io/npm/dm/langfuse?style=for-the-badge&label=%20&labelColor=black&color=orange)](https://www.npmjs.com/package/langfuse) | [![Langfuse Docker Pulls](https://img.shields.io/docker/pulls/langfuse/langfuse?style=for-the-badge&label=%20&labelColor=black&color=orange)](https://hub.docker.com/r/langfuse/langfuse) | | Helicone | [![Helicone pypi downloads](https://img.shields.io/pypi/dm/helicone?style=for-the-badge&label=%20&labelColor=black&color=grey)](https://pypi.org/project/helicone) | [![Helicone npm downloads](https://img.shields.io/npm/dm/helicone?style=for-the-badge&label=%20&labelColor=black&color=grey)](https://www.npmjs.com/package/helicone) | [![Helicone Docker Pulls](https://img.shields.io/docker/pulls/helicone/worker?style=for-the-badge&label=%20&labelColor=black&color=grey)](https://hub.docker.com/r/helicone/worker) | -| Opik / Comet | [![opik pypi downloads](https://img.shields.io/pypi/dm/opik?style=for-the-badge&label=%20&labelColor=black&color=grey)](https://pypi.org/project/opik) | N/A | N/A | +| Opik / Comet | [![opik pypi downloads](https://img.shields.io/pypi/dm/opik?style=for-the-badge&label=%20&labelColor=black&color=grey)](https://pypi.org/project/opik) | N/A | 3k ([ghcr](https://github.com/comet-ml/opik/pkgs/container/opik%2Fopik-backend)) | | Phoenix / Arize | [![Phoenix pypi downloads](https://img.shields.io/pypi/dm/arize-phoenix?style=for-the-badge&label=%20&labelColor=black&color=grey)](https://pypi.org/project/phoenix) | N/A | [![Phoenix Docker Pulls](https://img.shields.io/docker/pulls/arizephoenix/phoenix?style=for-the-badge&label=%20&labelColor=black&color=grey)](https://hub.docker.com/r/arizephoenix/phoenix) | | Lunary | [![Lunary pypi downloads](https://img.shields.io/pypi/dm/lunary?style=for-the-badge&label=%20&labelColor=black&color=grey)](https://pypi.org/project/lunary) | [![Lunary npm downloads](https://img.shields.io/npm/dm/lunary?style=for-the-badge&label=%20&labelColor=black&color=grey)](https://www.npmjs.com/package/lunary) | N/A | -| Openlit | [![Openlit pypi downloads](https://img.shields.io/pypi/dm/openlit?style=for-the-badge&label=%20&labelColor=black&color=grey)](https://pypi.org/project/openlit) | [![Openlit npm downloads](https://img.shields.io/npm/dm/openlit?style=for-the-badge&label=%20&labelColor=black&color=grey)](https://www.npmjs.com/package/openlit) | N/A | +| Openlit | [![Openlit pypi downloads](https://img.shields.io/pypi/dm/openlit?style=for-the-badge&label=%20&labelColor=black&color=grey)](https://pypi.org/project/openlit) | [![Openlit npm downloads](https://img.shields.io/npm/dm/openlit?style=for-the-badge&label=%20&labelColor=black&color=grey)](https://www.npmjs.com/package/openlit) | 10k ([ghcr](https://ghcr.io/openlit/openlit)) | | Langtrace | [![Langtrace pypi downloads](https://img.shields.io/pypi/dm/langtrace-python-sdk?style=for-the-badge&label=%20&labelColor=black&color=grey)](https://pypi.org/project/langtrace-python-sdk) | [![Langtrace npm downloads](https://img.shields.io/npm/dm/%40langtrase%2Ftypescript-sdk?style=for-the-badge&label=%20&labelColor=black&color=grey)](https://www.npmjs.com/package/@langtrase/typescript-sdk) | [![Langtrace Docker Pulls](https://img.shields.io/docker/pulls/scale3labs/langtrace-client?style=for-the-badge&label=%20&labelColor=black&color=grey)](https://hub.docker.com/r/scale3labs/langtrace-client) | _Numbers refresh automatically via [shields.io](https://shields.io)_ @@ -65,7 +65,7 @@ We are proud to have the **most engaged** community in this space on [GitHub](ht | | GitHub stars | Last commit | GitHub Discussions | GitHub Issues | | --------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -| 🪢 Langfuse | [![Langfuse GitHub stars](https://img.shields.io/github/stars/langfuse/langfuse?style=for-the-badge&label=%20&labelColor=black&color=orange)](https://github.com/langfuse/langfuse) | [![Langfuse last commit](https://img.shields.io/github/last-commit/langfuse/langfuse?style=for-the-badge&label=%20&labelColor=black&color=orange)](https://github.com/langfuse/langfuse) | [![Langfuse GitHub Discussions](https://img.shields.io/github/discussions/langfuse/langfuse?style=for-the-badge&label=%20&labelColor=black&color=orange)](https://github.com/orgs/langfuse/discussions) | [![Langfuse GitHub Issues](https://img.shields.io/github/issues-pr-closed-raw/langfuse/langfuse?style=for-the-badge&label=%20&labelColor=black&color=orange)](https://github.com/langfuse/langfuse/issues?q=is%3Aissue+is%3Aclosed) | +| 🪢 Langfuse | [![Langfuse GitHub stars](https://img.shields.io/github/stars/langfuse/langfuse?style=for-the-badge&label=%20&labelColor=black&color=orange)](https://github.com/langfuse/langfuse) | [![Langfuse last commit](https://img.shields.io/github/last-commit/langfuse/langfuse?style=for-the-badge&label=%20&labelColor=black&color=orange)](https://github.com/langfuse/langfuse) | [![Langfuse GitHub Discussions](https://img.shields.io/github/discussions/langfuse/langfuse?style=for-the-badge&label=%20&labelColor=black&color=orange)](https://github.com/orgs/langfuse/discussions) | [![Langfuse GitHub Issues](https://img.shields.io/github/issues-pr-closed-raw/langfuse/langfuse?style=for-the-badge&label=%20&labelColor=black&color=orange)](https://github.com/langfuse/langfuse/issues?q=is%3Aissue+is%3Aclosed) | | Helicone | [![Helicone GitHub stars](https://img.shields.io/github/stars/helicone/helicone?style=for-the-badge&label=%20&labelColor=black&color=grey)](https://github.com/helicone/helicone) | [![Helicone last commit](https://img.shields.io/github/last-commit/helicone/helicone?style=for-the-badge&label=%20&labelColor=black&color=grey)](https://github.com/helicone/helicone) | [![Helicone GitHub Discussions](https://img.shields.io/github/discussions/helicone/helicone?style=for-the-badge&label=%20&labelColor=black&color=grey)](https://github.com/orgs/helicone/discussions) | [![Helicone GitHub Issues](https://img.shields.io/github/issues-pr-closed-raw/helicone/helicone?style=for-the-badge&label=%20&labelColor=black&color=grey)](https://github.com/helicone/helicone/issues?q=is%3Aissue+is%3Aclosed) | | Opik / Comet | [![opik GitHub stars](https://img.shields.io/github/stars/comet-ml/opik?style=for-the-badge&label=%20&labelColor=black&color=grey)](https://github.com/comet-ml/opik) | [![opik last commit](https://img.shields.io/github/last-commit/comet-ml/opik?style=for-the-badge&label=%20&labelColor=black&color=grey)](https://github.com/comet-ml/opik) | N/A | [![opik GitHub Issues](https://img.shields.io/github/issues-pr-closed-raw/comet-ml/opik?style=for-the-badge&label=%20&labelColor=black&color=grey)](https://github.com/comet-ml/opik/issues?q=is%3Aissue+is%3Aclosed) | | Phoenix / Arize | [![Phoenix GitHub stars](https://img.shields.io/github/stars/arize-ai/phoenix?style=for-the-badge&label=%20&labelColor=black&color=grey)](https://github.com/arize-ai/phoenix) | [![Phoenix last commit](https://img.shields.io/github/last-commit/arize-ai/phoenix?style=for-the-badge&label=%20&labelColor=black&color=grey)](https://github.com/arize-ai/phoenix) | [![Phoenix GitHub Discussions](https://img.shields.io/github/discussions/arize-ai/phoenix?style=for-the-badge&label=%20&labelColor=black&color=grey)](https://github.com/orgs/arize-ai/discussions) | [![Phoenix GitHub Issues](https://img.shields.io/github/issues-pr-closed-raw/arize-ai/phoenix?style=for-the-badge&label=%20&labelColor=black&color=grey)](https://github.com/arize-ai/phoenix/issues?q=is%3Aissue+is%3Aclosed) | @@ -76,11 +76,17 @@ We are proud to have the **most engaged** community in this space on [GitHub](ht _Numbers refresh automatically via [shields.io](https://shields.io)_ ## Why chose Langfuse? + -### Large community: -Langfuse has numerous actively maintained **integrations** with the latest LLM frameworks (such as [Langchain](docs/integrations/langchain), [LlamaIndex](docs/integrations/llamaindex), and [OpenAI](docs/integrations/openai)) and a helpful community on [Discord](https://discord.langfuse.com) and [GitHub](https://github.com/orgs/langfuse/discussions). -### Battle-tested: -Langfuse is used in production by thousands of users and has a proven track record of **reliability** and **performance**. + ### Large community: Langfuse has numerous actively maintained + **integrations** with the latest LLM frameworks (such as + [Langchain](docs/integrations/langchain), + [LlamaIndex](docs/integrations/llamaindex), and + [OpenAI](docs/integrations/openai)) and a helpful community on + [Discord](https://discord.langfuse.com) and + [GitHub](https://github.com/orgs/langfuse/discussions). ### Battle-tested: + Langfuse is used in production by thousands of users and has a proven track + record of **reliability** and **performance**. Read more on why other teams use Langfuse [here](/why). From 1e19cc60041bed93f84e462b55711b3ab825d805 Mon Sep 17 00:00:00 2001 From: Marc Klingen Date: Tue, 26 Nov 2024 00:20:28 +0100 Subject: [PATCH 03/21] docs: add prompt experiments video --- pages/docs/datasets/prompt-experiments.mdx | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/pages/docs/datasets/prompt-experiments.mdx b/pages/docs/datasets/prompt-experiments.mdx index 03cb2d284..2dc540478 100644 --- a/pages/docs/datasets/prompt-experiments.mdx +++ b/pages/docs/datasets/prompt-experiments.mdx @@ -39,6 +39,14 @@ Prompt Experiments is currently in public beta on Langfuse Cloud. It will be rel +## Overview + + + ## Setup From 24de2455a720f419e302950910764965d09c8fe3 Mon Sep 17 00:00:00 2001 From: GitHub Action Date: Tue, 26 Nov 2024 00:18:07 +0000 Subject: [PATCH 04/21] chore: update langfuse_github_discussions.json --- src/langfuse_github_discussions.json | 15850 +++++++++++++------------ 1 file changed, 7941 insertions(+), 7909 deletions(-) diff --git a/src/langfuse_github_discussions.json b/src/langfuse_github_discussions.json index 1e5ae9cfd..b4ea5b43a 100644 --- a/src/langfuse_github_discussions.json +++ b/src/langfuse_github_discussions.json @@ -1,2354 +1,2320 @@ { - "updated_at": "2024-11-25T18:05:27.317675+00:00", + "updated_at": "2024-11-26T00:18:07.180056+00:00", "categories": [ { - "category": "Ideas", + "category": "Support", "discussions": [ { - "number": 4414, - "title": "langfuse-python: simple static method listing prompt template var names", - "href": "https://github.com/orgs/langfuse/discussions/4414", - "created_at": "2024-11-25T16:28:05Z", + "number": 4418, + "title": "Cannot use prompt experiments \"No dataset item contains any variables\"", + "href": "https://github.com/orgs/langfuse/discussions/4418", + "created_at": "2024-11-25T20:32:59Z", "upvotes": 1, - "comment_count": 1, + "comment_count": 2, "resolved": false, - "labels": [ - "feat-prompt-management" - ], + "labels": [], "author": { - "login": "rhighs", - "html_url": "https://github.com/rhighs" + "login": "j10sanders", + "html_url": "https://github.com/j10sanders" }, - "category": "Ideas" + "category": "Support" }, { - "number": 4397, - "title": "n8n Integration", - "href": "https://github.com/orgs/langfuse/discussions/4397", - "created_at": "2024-11-24T09:43:01Z", - "upvotes": 1, - "comment_count": 0, + "number": 4417, + "title": "does token & cost counting take into consideration prompt caching, eg openai prompt caching?", + "href": "https://github.com/orgs/langfuse/discussions/4417", + "created_at": "2024-11-25T19:59:13Z", + "upvotes": 2, + "comment_count": 2, "resolved": false, - "labels": [], + "labels": [ + "feat-cost-tracking" + ], "author": { - "login": "aibucketmail", - "html_url": "https://github.com/aibucketmail" + "login": "dwstevens", + "html_url": "https://github.com/dwstevens" }, - "category": "Ideas" + "category": "Support" }, { - "number": 4381, - "title": "Feature Request: Add Tagging Pipelines for Evaluation-Based Tagging", - "href": "https://github.com/orgs/langfuse/discussions/4381", - "created_at": "2024-11-22T03:44:17Z", + "number": 4413, + "title": "Help needed with CustomSSOProvider Configuration for GitHub Enterprise", + "href": "https://github.com/orgs/langfuse/discussions/4413", + "created_at": "2024-11-25T15:30:23Z", "upvotes": 1, - "comment_count": 0, + "comment_count": 2, "resolved": false, - "labels": [], + "labels": [ + "feat-auth", + "self-hosting" + ], "author": { - "login": "wesleyearlstander", - "html_url": "https://github.com/wesleyearlstander" + "login": "jay0129", + "html_url": "https://github.com/jay0129" }, - "category": "Ideas" + "category": "Support" }, { - "number": 4380, - "title": "Adding types for evals in Langfuse", - "href": "https://github.com/orgs/langfuse/discussions/4380", - "created_at": "2024-11-22T03:35:26Z", + "number": 4393, + "title": "Openai JS: Tracing for multiple iterations and tool calling", + "href": "https://github.com/orgs/langfuse/discussions/4393", + "created_at": "2024-11-23T06:57:40Z", "upvotes": 1, "comment_count": 1, - "resolved": false, - "labels": [], + "resolved": true, + "labels": [ + "integration-openai" + ], "author": { - "login": "wesleyearlstander", - "html_url": "https://github.com/wesleyearlstander" + "login": "uhhfeef", + "html_url": "https://github.com/uhhfeef" }, - "category": "Ideas" + "category": "Support" }, { - "number": 4372, - "title": "LaTex Rendering", - "href": "https://github.com/orgs/langfuse/discussions/4372", - "created_at": "2024-11-21T22:06:07Z", + "number": 4389, + "title": "Does Langfuse tracing work in Vercel edge functions?", + "href": "https://github.com/orgs/langfuse/discussions/4389", + "created_at": "2024-11-22T22:41:52Z", "upvotes": 1, "comment_count": 0, "resolved": false, "labels": [], "author": { - "login": "wesleyearlstander", - "html_url": "https://github.com/wesleyearlstander" + "login": "holdenmatt", + "html_url": "https://github.com/holdenmatt" }, - "category": "Ideas" + "category": "Support" }, { - "number": 4353, - "title": "Datasets: Add selection of traces to a dataset", - "href": "https://github.com/orgs/langfuse/discussions/4353", - "created_at": "2024-11-21T08:56:15Z", + "number": 4388, + "title": "How to completely discard image with new multi-modal system?", + "href": "https://github.com/orgs/langfuse/discussions/4388", + "created_at": "2024-11-22T18:56:07Z", "upvotes": 1, - "comment_count": 0, + "comment_count": 2, "resolved": false, - "labels": [ - "feat-datasets" - ], + "labels": [], "author": { - "login": "jannikmaierhoefer", - "html_url": "https://github.com/jannikmaierhoefer" + "login": "bioshazard", + "html_url": "https://github.com/bioshazard" }, - "category": "Ideas" + "category": "Support" }, { - "number": 4348, - "title": "Multi-user annotation capability in Score Configs", - "href": "https://github.com/orgs/langfuse/discussions/4348", - "created_at": "2024-11-20T19:16:38Z", + "number": 4374, + "title": "Error while migrating schema", + "href": "https://github.com/orgs/langfuse/discussions/4374", + "created_at": "2024-11-21T22:39:36Z", "upvotes": 1, "comment_count": 2, - "resolved": false, - "labels": [ - "feat-annotation" - ], + "resolved": true, + "labels": [], "author": { - "login": "juanmleng", - "html_url": "https://github.com/juanmleng" + "login": "geek1s42", + "html_url": "https://github.com/geek1s42" }, - "category": "Ideas" + "category": "Support" }, { - "number": 4342, - "title": "Feature request: Lifecycle hooks in LangFuse", - "href": "https://github.com/orgs/langfuse/discussions/4342", - "created_at": "2024-11-20T14:23:44Z", + "number": 4373, + "title": "Silent failure when attempting adding scores to trace", + "href": "https://github.com/orgs/langfuse/discussions/4373", + "created_at": "2024-11-21T22:18:26Z", "upvotes": 1, - "comment_count": 1, - "resolved": false, + "comment_count": 2, + "resolved": true, "labels": [], "author": { - "login": "barseghyanartur", - "html_url": "https://github.com/barseghyanartur" + "login": "bioshazard", + "html_url": "https://github.com/bioshazard" }, - "category": "Ideas" + "category": "Support" }, { - "number": 4340, - "title": "RBAC: Restriction based on trace tags/metadata", - "href": "https://github.com/orgs/langfuse/discussions/4340", - "created_at": "2024-11-20T12:32:40Z", - "upvotes": 2, - "comment_count": 0, - "resolved": false, + "number": 4365, + "title": "Not able to see traces", + "href": "https://github.com/orgs/langfuse/discussions/4365", + "created_at": "2024-11-21T16:56:26Z", + "upvotes": 1, + "comment_count": 2, + "resolved": true, "labels": [], "author": { - "login": "jannikmaierhoefer", - "html_url": "https://github.com/jannikmaierhoefer" + "login": "uhhfeef", + "html_url": "https://github.com/uhhfeef" }, - "category": "Ideas" + "category": "Support" }, { - "number": 4332, - "title": "Trace Table: Ability to sort table by score", - "href": "https://github.com/orgs/langfuse/discussions/4332", - "created_at": "2024-11-20T10:27:38Z", - "upvotes": 2, - "comment_count": 0, - "resolved": false, + "number": 4363, + "title": "Langchain with ChatVertexAI: Image/Audio Input Not Displayed in Dashboard with Multi-Modal Traces", + "href": "https://github.com/orgs/langfuse/discussions/4363", + "created_at": "2024-11-21T16:41:35Z", + "upvotes": 1, + "comment_count": 2, + "resolved": true, "labels": [], "author": { - "login": "jannikmaierhoefer", - "html_url": "https://github.com/jannikmaierhoefer" + "login": "pleomax0730", + "html_url": "https://github.com/pleomax0730" }, - "category": "Ideas" + "category": "Support" }, { - "number": 4331, - "title": "More filter on daily metrics", - "href": "https://github.com/orgs/langfuse/discussions/4331", - "created_at": "2024-11-20T08:27:01Z", + "number": 4361, + "title": "Is downgrade available for self-hosted version?", + "href": "https://github.com/orgs/langfuse/discussions/4361", + "created_at": "2024-11-21T15:52:18Z", "upvotes": 1, - "comment_count": 0, - "resolved": false, + "comment_count": 1, + "resolved": true, "labels": [], "author": { - "login": "takefy-dev", - "html_url": "https://github.com/takefy-dev" + "login": "skabbit", + "html_url": "https://github.com/skabbit" }, - "category": "Ideas" + "category": "Support" }, { - "number": 4322, - "title": "Add the ability to remove tags from traces via the SDK/API", - "href": "https://github.com/orgs/langfuse/discussions/4322", - "created_at": "2024-11-19T20:09:18Z", - "upvotes": 2, - "comment_count": 0, - "resolved": false, - "labels": [], + "number": 4359, + "title": "Unexpected error occurred", + "href": "https://github.com/orgs/langfuse/discussions/4359", + "created_at": "2024-11-21T14:21:11Z", + "upvotes": 1, + "comment_count": 1, + "resolved": true, + "labels": [ + "self-hosting" + ], "author": { - "login": "justinwiley", - "html_url": "https://github.com/justinwiley" + "login": "jguokion", + "html_url": "https://github.com/jguokion" }, - "category": "Ideas" + "category": "Support" }, { - "number": 4316, - "title": "Prompt Changelog Management", - "href": "https://github.com/orgs/langfuse/discussions/4316", - "created_at": "2024-11-19T14:32:33Z", - "upvotes": 3, - "comment_count": 0, + "number": 4358, + "title": "Tracing of Async Tasks in Agentic Workflow", + "href": "https://github.com/orgs/langfuse/discussions/4358", + "created_at": "2024-11-21T10:46:31Z", + "upvotes": 1, + "comment_count": 2, "resolved": false, "labels": [], "author": { - "login": "alexander-abramovich", - "html_url": "https://github.com/alexander-abramovich" + "login": "ashish-vwo", + "html_url": "https://github.com/ashish-vwo" }, - "category": "Ideas" + "category": "Support" }, { - "number": 4315, - "title": "Smartly integrate with prompt templating tools (like Jinja templating engine)", - "href": "https://github.com/orgs/langfuse/discussions/4315", - "created_at": "2024-11-19T14:30:42Z", - "upvotes": 2, - "comment_count": 0, - "resolved": false, - "labels": [], - "author": { - "login": "alexander-abramovich", - "html_url": "https://github.com/alexander-abramovich" - }, - "category": "Ideas" - }, - { - "number": 4314, - "title": "Making prompt editing eye-pleasing and less error-prown", - "href": "https://github.com/orgs/langfuse/discussions/4314", - "created_at": "2024-11-19T14:24:29Z", - "upvotes": 2, - "comment_count": 0, + "number": 4352, + "title": "Send metrics to ELK", + "href": "https://github.com/orgs/langfuse/discussions/4352", + "created_at": "2024-11-21T05:57:10Z", + "upvotes": 1, + "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "alexander-abramovich", - "html_url": "https://github.com/alexander-abramovich" + "login": "Kratemis", + "html_url": "https://github.com/Kratemis" }, - "category": "Ideas" + "category": "Support" }, { - "number": 4304, - "title": "Prompt Management: Metadata for Prompt Versions", - "href": "https://github.com/orgs/langfuse/discussions/4304", - "created_at": "2024-11-19T08:39:27Z", - "upvotes": 6, - "comment_count": 2, + "number": 4330, + "title": "Request for Simplified Custom `trace_id` Implementation in `CallbackHandler` for LangServe", + "href": "https://github.com/orgs/langfuse/discussions/4330", + "created_at": "2024-11-20T07:55:51Z", + "upvotes": 1, + "comment_count": 1, "resolved": false, "labels": [ - "feat-prompt-management" + "integration-langchain" ], "author": { - "login": "jannikmaierhoefer", - "html_url": "https://github.com/jannikmaierhoefer" + "login": "wertycn", + "html_url": "https://github.com/wertycn" }, - "category": "Ideas" + "category": "Support" }, { - "number": 4303, - "title": "Exporting comments", - "href": "https://github.com/orgs/langfuse/discussions/4303", - "created_at": "2024-11-19T06:59:31Z", + "number": 4309, + "title": "Langchain//Langgraph prompt link", + "href": "https://github.com/orgs/langfuse/discussions/4309", + "created_at": "2024-11-19T11:18:16Z", "upvotes": 1, - "comment_count": 1, - "resolved": false, - "labels": [], + "comment_count": 3, + "resolved": true, + "labels": [ + "feat-prompt-management", + "integration-langchain" + ], "author": { - "login": "jamesyu", - "html_url": "https://github.com/jamesyu" + "login": "BuragaIonut", + "html_url": "https://github.com/BuragaIonut" }, - "category": "Ideas" + "category": "Support" }, { - "number": 4301, - "title": "[Feature Request] API to Remove or Update Trace Tags", - "href": "https://github.com/orgs/langfuse/discussions/4301", - "created_at": "2024-11-19T02:41:13Z", + "number": 4293, + "title": "slower than expected langfuse_context.update_current_observation operation?", + "href": "https://github.com/orgs/langfuse/discussions/4293", + "created_at": "2024-11-18T17:00:12Z", "upvotes": 1, - "comment_count": 0, - "resolved": false, + "comment_count": 2, + "resolved": true, "labels": [], "author": { - "login": "0xcodedead", - "html_url": "https://github.com/0xcodedead" + "login": "nikcaryo-super", + "html_url": "https://github.com/nikcaryo-super" }, - "category": "Ideas" + "category": "Support" }, { - "number": 4299, - "title": "Add XML/tree viewer to playground and trace viewer", - "href": "https://github.com/orgs/langfuse/discussions/4299", - "created_at": "2024-11-19T01:12:03Z", + "number": 4286, + "title": "Langfuse returning a internal server error message sometimes", + "href": "https://github.com/orgs/langfuse/discussions/4286", + "created_at": "2024-11-18T13:37:41Z", "upvotes": 1, - "comment_count": 0, + "comment_count": 2, "resolved": false, "labels": [], "author": { - "login": "jeff-an", - "html_url": "https://github.com/jeff-an" + "login": "nithin1995", + "html_url": "https://github.com/nithin1995" }, - "category": "Ideas" + "category": "Support" }, { - "number": 4280, - "title": "Increase character limit of comments in Langfuse", - "href": "https://github.com/orgs/langfuse/discussions/4280", - "created_at": "2024-11-18T11:20:06Z", + "number": 4284, + "title": "Update prompt label programatically", + "href": "https://github.com/orgs/langfuse/discussions/4284", + "created_at": "2024-11-18T13:18:06Z", "upvotes": 1, - "comment_count": 0, - "resolved": false, - "labels": [], + "comment_count": 1, + "resolved": true, + "labels": [ + "feat-prompt-management" + ], "author": { - "login": "jannikmaierhoefer", - "html_url": "https://github.com/jannikmaierhoefer" + "login": "nikitagupta5566", + "html_url": "https://github.com/nikitagupta5566" }, - "category": "Ideas" + "category": "Support" }, { - "number": 4276, - "title": "Enh prompt management system", - "href": "https://github.com/orgs/langfuse/discussions/4276", - "created_at": "2024-11-17T21:50:06Z", + "number": 4281, + "title": "Preventing Input and Output Capture for GENERATION span in Langfuse", + "href": "https://github.com/orgs/langfuse/discussions/4281", + "created_at": "2024-11-18T11:23:08Z", "upvotes": 1, - "comment_count": 1, - "resolved": false, + "comment_count": 2, + "resolved": true, "labels": [], "author": { - "login": "flefevre", - "html_url": "https://github.com/flefevre" + "login": "ootkin", + "html_url": "https://github.com/ootkin" }, - "category": "Ideas" + "category": "Support" }, { - "number": 4268, - "title": "Support image messages in the playground", - "href": "https://github.com/orgs/langfuse/discussions/4268", - "created_at": "2024-11-17T01:02:48Z", + "number": 4262, + "title": "why setup trace is showing SETUP Tracing Pending always and Trace doesn't show in dashboard", + "href": "https://github.com/orgs/langfuse/discussions/4262", + "created_at": "2024-11-15T23:49:20Z", "upvotes": 1, "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [], "author": { - "login": "jeff-an", - "html_url": "https://github.com/jeff-an" + "login": "msgateway", + "html_url": "https://github.com/msgateway" }, - "category": "Ideas" + "category": "Support" }, { - "number": 4263, - "title": "Extend RBAC to Include Teams and Refine Permissions for Prompt Management", - "href": "https://github.com/orgs/langfuse/discussions/4263", - "created_at": "2024-11-16T04:22:27Z", + "number": 4261, + "title": "Disable tracing for certain calls", + "href": "https://github.com/orgs/langfuse/discussions/4261", + "created_at": "2024-11-15T22:54:27Z", "upvotes": 1, - "comment_count": 0, - "resolved": false, + "comment_count": 1, + "resolved": true, "labels": [], "author": { - "login": "flefevre", - "html_url": "https://github.com/flefevre" + "login": "yliuaaron", + "html_url": "https://github.com/yliuaaron" }, - "category": "Ideas" + "category": "Support" }, { - "number": 4258, - "title": "Automatically Trace from Playground", - "href": "https://github.com/orgs/langfuse/discussions/4258", - "created_at": "2024-11-15T18:58:05Z", + "number": 4259, + "title": "Custom trace properties in AsyncOpenAI", + "href": "https://github.com/orgs/langfuse/discussions/4259", + "created_at": "2024-11-15T19:50:10Z", "upvotes": 1, - "comment_count": 0, + "comment_count": 2, "resolved": false, "labels": [], "author": { - "login": "Chinoman10", - "html_url": "https://github.com/Chinoman10" + "login": "yliuaaron", + "html_url": "https://github.com/yliuaaron" }, - "category": "Ideas" + "category": "Support" }, { - "number": 4247, - "title": "Reset LangfuseDecorator context to allow nested traces", - "href": "https://github.com/orgs/langfuse/discussions/4247", - "created_at": "2024-11-15T09:59:28Z", - "upvotes": 2, - "comment_count": 0, + "number": 4231, + "title": "Langfuse overwriting ingested usage for gpt-4o-mini models & incorrect inferred usage for low-detail image data", + "href": "https://github.com/orgs/langfuse/discussions/4231", + "created_at": "2024-11-14T12:29:51Z", + "upvotes": 1, + "comment_count": 2, "resolved": false, - "labels": [], + "labels": [ + "integration-openai", + "feat-cost-tracking" + ], "author": { - "login": "vitalii-diachkov-sumup", - "html_url": "https://github.com/vitalii-diachkov-sumup" + "login": "LastRemote", + "html_url": "https://github.com/LastRemote" }, - "category": "Ideas" + "category": "Support" }, { - "number": 4212, - "title": "Disable authentication in self-hosted deployments", - "href": "https://github.com/orgs/langfuse/discussions/4212", - "created_at": "2024-11-13T13:32:11Z", - "upvotes": 2, - "comment_count": 1, - "resolved": false, + "number": 4228, + "title": "Why my langgrpahjs agent can't show token", + "href": "https://github.com/orgs/langfuse/discussions/4228", + "created_at": "2024-11-14T08:46:36Z", + "upvotes": 1, + "comment_count": 2, + "resolved": true, "labels": [ - "feat-auth", - "self-hosting" + "integration-langchain" ], "author": { - "login": "mariusp12", - "html_url": "https://github.com/mariusp12" + "login": "VittorioYan", + "html_url": "https://github.com/VittorioYan" }, - "category": "Ideas" + "category": "Support" }, { - "number": 4208, - "title": "Multi-turn / session experiments in datasets", - "href": "https://github.com/orgs/langfuse/discussions/4208", - "created_at": "2024-11-13T11:43:31Z", + "number": 4223, + "title": "How/which environment var do I need to set to get OAuth2.0 authentication flow?", + "href": "https://github.com/orgs/langfuse/discussions/4223", + "created_at": "2024-11-13T19:57:27Z", "upvotes": 1, - "comment_count": 1, + "comment_count": 3, "resolved": false, "labels": [ - "feat-datasets" + "self-hosting" ], "author": { - "login": "bartsimo", - "html_url": "https://github.com/bartsimo" + "login": "itay-moav", + "html_url": "https://github.com/itay-moav" }, - "category": "Ideas" + "category": "Support" }, { - "number": 4189, - "title": "feat: add support for SSR to allow runtime BASE_PATH", - "href": "https://github.com/orgs/langfuse/discussions/4189", - "created_at": "2024-11-12T12:39:25Z", - "upvotes": 2, - "comment_count": 1, - "resolved": false, - "labels": [ - "self-hosting" - ], - "author": { - "login": "sinux-l5d", - "html_url": "https://github.com/sinux-l5d" - }, - "category": "Ideas" - }, - { - "number": 4168, - "title": "Centralized API Key Management with Secret Store Integration (e.g. HashiCorp Vault)", - "href": "https://github.com/orgs/langfuse/discussions/4168", - "created_at": "2024-11-11T11:11:10Z", + "number": 4213, + "title": "Is there a way to keep database connections open longer?", + "href": "https://github.com/orgs/langfuse/discussions/4213", + "created_at": "2024-11-13T13:53:25Z", "upvotes": 1, "comment_count": 2, "resolved": false, "labels": [ - "security", "self-hosting" ], "author": { - "login": "bikram42", - "html_url": "https://github.com/bikram42" + "login": "tomi-bigpi", + "html_url": "https://github.com/tomi-bigpi" }, - "category": "Ideas" + "category": "Support" }, { - "number": 4166, - "title": "Allow sending events to multiple LF projects within one client app", - "href": "https://github.com/orgs/langfuse/discussions/4166", - "created_at": "2024-11-11T10:51:01Z", + "number": 4205, + "title": "Tokenizer config for Qwen 2.5 models", + "href": "https://github.com/orgs/langfuse/discussions/4205", + "created_at": "2024-11-13T08:05:03Z", "upvotes": 1, "comment_count": 2, "resolved": false, "labels": [], "author": { - "login": "snopoke", - "html_url": "https://github.com/snopoke" + "login": "mediumsizeworkingdog", + "html_url": "https://github.com/mediumsizeworkingdog" }, - "category": "Ideas" + "category": "Support" }, { - "number": 4165, - "title": "Another glimpse into prompt management in LangFuse", - "href": "https://github.com/orgs/langfuse/discussions/4165", - "created_at": "2024-11-11T10:20:18Z", + "number": 4197, + "title": "[Generations]: Support n parameter", + "href": "https://github.com/orgs/langfuse/discussions/4197", + "created_at": "2024-11-12T18:58:32Z", "upvotes": 1, "comment_count": 1, "resolved": false, "labels": [ - "feat-prompt-management" + "integration-openai" ], "author": { - "login": "barseghyanartur", - "html_url": "https://github.com/barseghyanartur" + "login": "ngamolsky", + "html_url": "https://github.com/ngamolsky" }, - "category": "Ideas" + "category": "Support" }, { - "number": 4154, - "title": "Feature Request: Enable Invites with `AUTH_DISABLE_SIGNUP` (or/and GitHub OAuth for a given organization)", - "href": "https://github.com/orgs/langfuse/discussions/4154", - "created_at": "2024-11-10T15:04:41Z", - "upvotes": 2, - "comment_count": 1, - "resolved": false, + "number": 4179, + "title": "Is there a way to get process to exit on DB connection errors when rotating database passwords?", + "href": "https://github.com/orgs/langfuse/discussions/4179", + "created_at": "2024-11-11T21:55:56Z", + "upvotes": 1, + "comment_count": 3, + "resolved": true, "labels": [ - "feat-auth", "self-hosting" ], "author": { - "login": "shner-elmo", - "html_url": "https://github.com/shner-elmo" + "login": "tomi-bigpi", + "html_url": "https://github.com/tomi-bigpi" }, - "category": "Ideas" + "category": "Support" }, { - "number": 4143, - "title": "Getting prompts using LiteLLM syntax", - "href": "https://github.com/orgs/langfuse/discussions/4143", - "created_at": "2024-11-09T17:01:10Z", + "number": 4178, + "title": "How to update a score?", + "href": "https://github.com/orgs/langfuse/discussions/4178", + "created_at": "2024-11-11T21:48:51Z", "upvotes": 1, - "comment_count": 0, - "resolved": false, - "labels": [], + "comment_count": 1, + "resolved": true, + "labels": [ + "feat-scores" + ], "author": { - "login": "doasfrancisco", - "html_url": "https://github.com/doasfrancisco" + "login": "leichx", + "html_url": "https://github.com/leichx" }, - "category": "Ideas" + "category": "Support" }, { - "number": 4129, - "title": "Annotation Queue: Display trace id", - "href": "https://github.com/orgs/langfuse/discussions/4129", - "created_at": "2024-11-08T16:14:00Z", + "number": 4172, + "title": "TypeError: LangfuseTracer.trace() got an unexpected keyword argument 'parent_span'", + "href": "https://github.com/orgs/langfuse/discussions/4172", + "created_at": "2024-11-11T13:31:14Z", "upvotes": 1, - "comment_count": 0, - "resolved": false, - "labels": [], + "comment_count": 2, + "resolved": true, + "labels": [ + "integration-haystack" + ], "author": { - "login": "jannikmaierhoefer", - "html_url": "https://github.com/jannikmaierhoefer" + "login": "schwasa", + "html_url": "https://github.com/schwasa" }, - "category": "Ideas" + "category": "Support" }, { - "number": 4121, - "title": "Enable to use variable of prompt on evaluator.", - "href": "https://github.com/orgs/langfuse/discussions/4121", - "created_at": "2024-11-08T09:16:28Z", - "upvotes": 3, - "comment_count": 1, - "resolved": false, + "number": 4169, + "title": "Tenant based prompt management ?", + "href": "https://github.com/orgs/langfuse/discussions/4169", + "created_at": "2024-11-11T11:22:21Z", + "upvotes": 1, + "comment_count": 2, + "resolved": true, "labels": [ - "feat-evals" + "feat-prompt-management" ], "author": { - "login": "takryo00", - "html_url": "https://github.com/takryo00" + "login": "PreetamGKatakali", + "html_url": "https://github.com/PreetamGKatakali" }, - "category": "Ideas" + "category": "Support" }, { - "number": 4120, - "title": "Sessions Table: Scores Column", - "href": "https://github.com/orgs/langfuse/discussions/4120", - "created_at": "2024-11-08T08:58:10Z", - "upvotes": 5, - "comment_count": 0, + "number": 4134, + "title": "LangGraph traces cause self-hosted instance to hang", + "href": "https://github.com/orgs/langfuse/discussions/4134", + "created_at": "2024-11-08T22:54:34Z", + "upvotes": 1, + "comment_count": 2, "resolved": false, "labels": [ - "feat-sessions" + "integration-langchain" ], "author": { - "login": "jannikmaierhoefer", - "html_url": "https://github.com/jannikmaierhoefer" + "login": "rishimo", + "html_url": "https://github.com/rishimo" }, - "category": "Ideas" + "category": "Support" }, { - "number": 4110, - "title": "Sort functionality in Users page", - "href": "https://github.com/orgs/langfuse/discussions/4110", - "created_at": "2024-11-07T19:43:07Z", + "number": 4123, + "title": "Block strangers from signing in to your app", + "href": "https://github.com/orgs/langfuse/discussions/4123", + "created_at": "2024-11-08T10:14:08Z", "upvotes": 1, - "comment_count": 0, - "resolved": false, + "comment_count": 2, + "resolved": true, "labels": [], "author": { - "login": "sal-dti", - "html_url": "https://github.com/sal-dti" + "login": "shner-elmo", + "html_url": "https://github.com/shner-elmo" }, - "category": "Ideas" + "category": "Support" }, { - "number": 4106, - "title": "Add new filters for the LLM as a Judge Evaluation (other scores and cost)", - "href": "https://github.com/orgs/langfuse/discussions/4106", - "created_at": "2024-11-07T14:44:31Z", + "number": 4119, + "title": "Can we use Langfuse without any Authentication enabled?", + "href": "https://github.com/orgs/langfuse/discussions/4119", + "created_at": "2024-11-08T08:32:30Z", "upvotes": 1, "comment_count": 1, - "resolved": false, - "labels": [ - "feat-evals" - ], + "resolved": true, + "labels": [], "author": { - "login": "laisalvescw", - "html_url": "https://github.com/laisalvescw" + "login": "SudhaGarimella", + "html_url": "https://github.com/SudhaGarimella" }, - "category": "Ideas" + "category": "Support" }, { - "number": 4103, - "title": "Prompt Management: Deployment level view", - "href": "https://github.com/orgs/langfuse/discussions/4103", - "created_at": "2024-11-07T12:40:07Z", - "upvotes": 2, + "number": 4118, + "title": "Can I evaluate Span using the External Evaluation Pipeline?", + "href": "https://github.com/orgs/langfuse/discussions/4118", + "created_at": "2024-11-08T08:04:55Z", + "upvotes": 1, "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [ - "feat-prompt-management" + "feat-evals" ], "author": { - "login": "jannikmaierhoefer", - "html_url": "https://github.com/jannikmaierhoefer" + "login": "ygt1qa8", + "html_url": "https://github.com/ygt1qa8" }, - "category": "Ideas" + "category": "Support" }, { - "number": 4102, - "title": "Prompt Management: labels in prompt table", - "href": "https://github.com/orgs/langfuse/discussions/4102", - "created_at": "2024-11-07T12:38:00Z", - "upvotes": 2, - "comment_count": 0, + "number": 4117, + "title": "ERROR - An error occurred: 'function' object is not subscriptable", + "href": "https://github.com/orgs/langfuse/discussions/4117", + "created_at": "2024-11-08T04:51:09Z", + "upvotes": 1, + "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "jannikmaierhoefer", - "html_url": "https://github.com/jannikmaierhoefer" + "login": "MazarSayed", + "html_url": "https://github.com/MazarSayed" }, - "category": "Ideas" + "category": "Support" }, { - "number": 4099, - "title": "Does LangFuse support a (declarative) plugin architecture?", - "href": "https://github.com/orgs/langfuse/discussions/4099", - "created_at": "2024-11-07T11:27:39Z", + "number": 4116, + "title": "How can I implement a knowledge base and multi-turn file dialogue with pip deployment?! How does this “history” work?", + "href": "https://github.com/orgs/langfuse/discussions/4116", + "created_at": "2024-11-08T03:05:40Z", "upvotes": 1, - "comment_count": 1, - "resolved": false, + "comment_count": 2, + "resolved": true, "labels": [], "author": { - "login": "barseghyanartur", - "html_url": "https://github.com/barseghyanartur" + "login": "SKKKKYLAR", + "html_url": "https://github.com/SKKKKYLAR" }, - "category": "Ideas" + "category": "Support" }, { - "number": 4097, - "title": "More Granular Target Objects for Langfuse Evaluators", - "href": "https://github.com/orgs/langfuse/discussions/4097", - "created_at": "2024-11-07T10:00:11Z", + "number": 4115, + "title": "Configure LangFuse Project within CallbackHandler", + "href": "https://github.com/orgs/langfuse/discussions/4115", + "created_at": "2024-11-07T23:19:13Z", "upvotes": 1, - "comment_count": 0, - "resolved": false, - "labels": [], + "comment_count": 2, + "resolved": true, + "labels": [ + "integration-langchain" + ], "author": { - "login": "qrosseel", - "html_url": "https://github.com/qrosseel" + "login": "krlng", + "html_url": "https://github.com/krlng" }, - "category": "Ideas" + "category": "Support" }, { - "number": 4096, - "title": "Evaluator CRUD in UI and API", - "href": "https://github.com/orgs/langfuse/discussions/4096", - "created_at": "2024-11-07T09:46:01Z", + "number": 4091, + "title": "Openwebui and langfuse", + "href": "https://github.com/orgs/langfuse/discussions/4091", + "created_at": "2024-11-06T22:21:43Z", "upvotes": 1, "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [], "author": { - "login": "qrosseel", - "html_url": "https://github.com/qrosseel" + "login": "flefevre", + "html_url": "https://github.com/flefevre" }, - "category": "Ideas" + "category": "Support" }, { - "number": 4078, - "title": "Specify data masking on decorator itself", - "href": "https://github.com/orgs/langfuse/discussions/4078", - "created_at": "2024-11-06T14:00:47Z", + "number": 4090, + "title": "Configuring logging", + "href": "https://github.com/orgs/langfuse/discussions/4090", + "created_at": "2024-11-06T21:39:03Z", "upvotes": 1, - "comment_count": 0, + "comment_count": 5, "resolved": false, - "labels": [ - "integration-python-decorator", - "feat-data-masking" - ], + "labels": [], "author": { - "login": "marcklingen", - "html_url": "https://github.com/marcklingen" + "login": "pcoccoli", + "html_url": "https://github.com/pcoccoli" }, - "category": "Ideas" + "category": "Support" }, { - "number": 4077, - "title": "Export dataset run table", - "href": "https://github.com/orgs/langfuse/discussions/4077", - "created_at": "2024-11-06T13:58:30Z", - "upvotes": 4, - "comment_count": 0, + "number": 4080, + "title": "Langfuse User Management with Custom Oauth", + "href": "https://github.com/orgs/langfuse/discussions/4080", + "created_at": "2024-11-06T14:21:39Z", + "upvotes": 1, + "comment_count": 3, "resolved": false, "labels": [ - "feat-datasets" + "feat-auth", + "self-hosting" ], "author": { - "login": "marcklingen", - "html_url": "https://github.com/marcklingen" + "login": "bziolkowski", + "html_url": "https://github.com/bziolkowski" }, - "category": "Ideas" + "category": "Support" }, { - "number": 4076, - "title": "Customizable data mask (input/output, observation names, observation type)", - "href": "https://github.com/orgs/langfuse/discussions/4076", - "created_at": "2024-11-06T13:56:36Z", - "upvotes": 2, - "comment_count": 0, - "resolved": false, + "number": 4079, + "title": "How to prevent strangers from creating an account on your app", + "href": "https://github.com/orgs/langfuse/discussions/4079", + "created_at": "2024-11-06T14:17:46Z", + "upvotes": 1, + "comment_count": 1, + "resolved": true, "labels": [ - "feat-data-masking" + "self-hosting" ], "author": { - "login": "marcklingen", - "html_url": "https://github.com/marcklingen" + "login": "shner-elmo", + "html_url": "https://github.com/shner-elmo" }, - "category": "Ideas" + "category": "Support" }, { - "number": 4060, - "title": "Add support for more complex Jinja constructs", - "href": "https://github.com/orgs/langfuse/discussions/4060", - "created_at": "2024-11-05T14:28:17Z", + "number": 4075, + "title": "Does it make sense to use multiple api-keys", + "href": "https://github.com/orgs/langfuse/discussions/4075", + "created_at": "2024-11-06T11:22:45Z", "upvotes": 1, - "comment_count": 1, - "resolved": false, - "labels": [ - "feat-prompt-management" - ], + "comment_count": 2, + "resolved": true, + "labels": [], "author": { - "login": "alex-stoica", - "html_url": "https://github.com/alex-stoica" + "login": "shner-elmo", + "html_url": "https://github.com/shner-elmo" }, - "category": "Ideas" + "category": "Support" }, { - "number": 4040, - "title": "Linking ChatPromptTemplate to Multiple Prompts", - "href": "https://github.com/orgs/langfuse/discussions/4040", - "created_at": "2024-11-04T13:49:06Z", + "number": 4071, + "title": "Authentication not working?", + "href": "https://github.com/orgs/langfuse/discussions/4071", + "created_at": "2024-11-06T01:00:12Z", "upvotes": 1, - "comment_count": 1, - "resolved": false, - "labels": [ - "feat-prompt-management" - ], + "comment_count": 2, + "resolved": true, + "labels": [], "author": { - "login": "sternr", - "html_url": "https://github.com/sternr" + "login": "shner-elmo", + "html_url": "https://github.com/shner-elmo" }, - "category": "Ideas" + "category": "Support" }, { - "number": 4037, - "title": "feat: support adding trace tags in annotation queue view", - "href": "https://github.com/orgs/langfuse/discussions/4037", - "created_at": "2024-11-04T13:04:02Z", - "upvotes": 2, - "comment_count": 0, + "number": 4056, + "title": "Langfuse deployment issue on k8", + "href": "https://github.com/orgs/langfuse/discussions/4056", + "created_at": "2024-11-05T11:54:57Z", + "upvotes": 1, + "comment_count": 4, "resolved": false, "labels": [ - "feat-annotation" + "self-hosting" ], "author": { - "login": "marliessophie", - "html_url": "https://github.com/marliessophie" + "login": "hrone-dev-satyammishra", + "html_url": "https://github.com/hrone-dev-satyammishra" }, - "category": "Ideas" + "category": "Support" }, { - "number": 4035, - "title": "Feat: De-dupe and show info when adding the same trace/observation to an annotation queue multiple times", - "href": "https://github.com/orgs/langfuse/discussions/4035", - "created_at": "2024-11-04T12:58:59Z", + "number": 4046, + "title": "Should the Langfuse classs initialization be cached (does it do any I/O on init?) ?", + "href": "https://github.com/orgs/langfuse/discussions/4046", + "created_at": "2024-11-04T16:44:27Z", "upvotes": 1, "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [ - "feat-annotation" + "integration-langchain" ], "author": { - "login": "marliessophie", - "html_url": "https://github.com/marliessophie" + "login": "shner-elmo", + "html_url": "https://github.com/shner-elmo" }, - "category": "Ideas" + "category": "Support" }, { - "number": 4025, - "title": "Diff support for dataset runs view", - "href": "https://github.com/orgs/langfuse/discussions/4025", - "created_at": "2024-11-04T03:48:40Z", - "upvotes": 3, - "comment_count": 0, + "number": 4043, + "title": "\"Custom\" traces not creating when Next.js Vercel instrumentation is on.", + "href": "https://github.com/orgs/langfuse/discussions/4043", + "created_at": "2024-11-04T14:07:46Z", + "upvotes": 1, + "comment_count": 2, "resolved": false, - "labels": [ - "feat-datasets" - ], + "labels": [], "author": { - "login": "saikatmitra91", - "html_url": "https://github.com/saikatmitra91" + "login": "rovnyart", + "html_url": "https://github.com/rovnyart" }, - "category": "Ideas" + "category": "Support" }, { - "number": 4019, - "title": "Create Support for gemini models in playground", - "href": "https://github.com/orgs/langfuse/discussions/4019", - "created_at": "2024-11-03T11:12:42Z", + "number": 4041, + "title": "When running in relatively high amount of concurrent requests we start getting: \"API error occurred: Service unavailable.\" from Langfuse server", + "href": "https://github.com/orgs/langfuse/discussions/4041", + "created_at": "2024-11-04T13:55:19Z", "upvotes": 1, "comment_count": 2, - "resolved": false, - "labels": [ - "feat-evals", - "feat-playground" - ], + "resolved": true, + "labels": [], "author": { - "login": "anuraj-suman", - "html_url": "https://github.com/anuraj-suman" + "login": "sternr", + "html_url": "https://github.com/sternr" }, - "category": "Ideas" + "category": "Support" }, { - "number": 4012, - "title": "Duplicate a template prompt to start a new prompt with all the boilerplate prepared", - "href": "https://github.com/orgs/langfuse/discussions/4012", - "created_at": "2024-11-02T15:26:33Z", + "number": 4038, + "title": "SSL: CERTIFICATE_VERIFY_FAILED error when access the self hosted langfuse from the code", + "href": "https://github.com/orgs/langfuse/discussions/4038", + "created_at": "2024-11-04T13:14:05Z", "upvotes": 1, - "comment_count": 1, - "resolved": false, - "labels": [ - "feat-prompt-management" - ], + "comment_count": 2, + "resolved": true, + "labels": [], "author": { - "login": "jakelucasnyc", - "html_url": "https://github.com/jakelucasnyc" + "login": "SugumarRavichandran", + "html_url": "https://github.com/SugumarRavichandran" }, - "category": "Ideas" + "category": "Support" }, { - "number": 4009, - "title": "SDK-Python: Get all prompts from LangfuseSDK Client", - "href": "https://github.com/orgs/langfuse/discussions/4009", - "created_at": "2024-11-01T18:39:02Z", + "number": 4026, + "title": "Blob is not defined for Node 16", + "href": "https://github.com/orgs/langfuse/discussions/4026", + "created_at": "2024-11-04T04:58:15Z", "upvotes": 1, - "comment_count": 1, + "comment_count": 2, "resolved": false, "labels": [], "author": { - "login": "nthanapaisal", - "html_url": "https://github.com/nthanapaisal" + "login": "jamesyu", + "html_url": "https://github.com/jamesyu" }, - "category": "Ideas" + "category": "Support" }, { - "number": 4000, - "title": "Support custom aggregated queries through the UI", - "href": "https://github.com/orgs/langfuse/discussions/4000", - "created_at": "2024-11-01T14:19:58Z", - "upvotes": 2, - "comment_count": 0, - "resolved": false, + "number": 4001, + "title": "Cloudron packaging issue with Prisma client", + "href": "https://github.com/orgs/langfuse/discussions/4001", + "created_at": "2024-11-01T14:21:59Z", + "upvotes": 1, + "comment_count": 2, + "resolved": true, "labels": [], "author": { - "login": "emieldatalytica", - "html_url": "https://github.com/emieldatalytica" + "login": "Lanhild", + "html_url": "https://github.com/Lanhild" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3997, - "title": "Alerts based on metrics (cost, evaluation, user-feedback), trigger webhook/email/slack/...", - "href": "https://github.com/orgs/langfuse/discussions/3997", - "created_at": "2024-11-01T11:25:05Z", + "number": 3996, + "title": "Can you use the app without OAuth?", + "href": "https://github.com/orgs/langfuse/discussions/3996", + "created_at": "2024-11-01T03:36:33Z", "upvotes": 1, - "comment_count": 0, - "resolved": false, + "comment_count": 1, + "resolved": true, + "labels": [ + "feat-auth", + "self-hosting" + ], + "author": { + "login": "shner-elmo", + "html_url": "https://github.com/shner-elmo" + }, + "category": "Support" + }, + { + "number": 3985, + "title": "Pending Badge Stuck on Setup Tracing Step", + "href": "https://github.com/orgs/langfuse/discussions/3985", + "created_at": "2024-10-31T15:51:08Z", + "upvotes": 1, + "comment_count": 2, + "resolved": true, "labels": [], "author": { - "login": "marcklingen", - "html_url": "https://github.com/marcklingen" + "login": "c0pper", + "html_url": "https://github.com/c0pper" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3988, - "title": "Change AWS access pattern for Bedrock LLM usage, assume role", - "href": "https://github.com/orgs/langfuse/discussions/3988", - "created_at": "2024-10-31T17:45:48Z", + "number": 3977, + "title": "getPromptStateless received 403 error when using `LangfuseWeb` SDK", + "href": "https://github.com/orgs/langfuse/discussions/3977", + "created_at": "2024-10-31T01:45:19Z", "upvotes": 1, "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [ - "feat-evals", - "feat-playground" + "feat-prompt-management" ], "author": { - "login": "j10sanders", - "html_url": "https://github.com/j10sanders" + "login": "huangbaitu123", + "html_url": "https://github.com/huangbaitu123" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3986, - "title": "Support for Atlassian OAuth-Provider", - "href": "https://github.com/orgs/langfuse/discussions/3986", - "created_at": "2024-10-31T16:56:45Z", + "number": 3976, + "title": "Missing scores after pushing scores to Langfuse", + "href": "https://github.com/orgs/langfuse/discussions/3976", + "created_at": "2024-10-31T00:02:59Z", + "upvotes": 1, + "comment_count": 3, + "resolved": true, + "labels": [], + "author": { + "login": "laisalvescw", + "html_url": "https://github.com/laisalvescw" + }, + "category": "Support" + }, + { + "number": 3972, + "title": "For which kinds of data is `ENCRYPTION_KEY` used?", + "href": "https://github.com/orgs/langfuse/discussions/3972", + "created_at": "2024-10-30T18:21:25Z", "upvotes": 1, "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [ - "feat-auth", "self-hosting" ], "author": { - "login": "backface", - "html_url": "https://github.com/backface" + "login": "felix-sanchez-unmind", + "html_url": "https://github.com/felix-sanchez-unmind" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3981, - "title": "Async support for data masking in JS/TS SDK", - "href": "https://github.com/orgs/langfuse/discussions/3981", - "created_at": "2024-10-31T14:06:21Z", - "upvotes": 3, - "comment_count": 3, - "resolved": false, + "number": 3965, + "title": "How to set environment variables for custom oauth2.0 sso?", + "href": "https://github.com/orgs/langfuse/discussions/3965", + "created_at": "2024-10-30T06:27:15Z", + "upvotes": 1, + "comment_count": 1, + "resolved": true, "labels": [ - "feat-data-masking" + "feat-auth", + "self-hosting" ], "author": { - "login": "pexxi", - "html_url": "https://github.com/pexxi" + "login": "IeohMingChan", + "html_url": "https://github.com/IeohMingChan" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3970, - "title": "Add ability to export and import evaluators between projects", - "href": "https://github.com/orgs/langfuse/discussions/3970", - "created_at": "2024-10-30T16:13:20Z", - "upvotes": 2, + "number": 3957, + "title": "Langfuse.create_prompt() got an unexpected keyword argument 'version'", + "href": "https://github.com/orgs/langfuse/discussions/3957", + "created_at": "2024-10-29T13:21:51Z", + "upvotes": 1, "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [ - "feat-evals" + "feat-prompt-management" ], "author": { - "login": "j10sanders", - "html_url": "https://github.com/j10sanders" + "login": "silenceliang", + "html_url": "https://github.com/silenceliang" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3954, - "title": "Decorator: disable tracing at the decorated function level", - "href": "https://github.com/orgs/langfuse/discussions/3954", - "created_at": "2024-10-29T11:45:13Z", - "upvotes": 2, + "number": 3949, + "title": "Is there a way to clear trace data in batch?", + "href": "https://github.com/orgs/langfuse/discussions/3949", + "created_at": "2024-10-29T06:10:26Z", + "upvotes": 1, "comment_count": 2, - "resolved": false, + "resolved": true, "labels": [ - "sdk-python", - "integration-python-decorator" + "self-hosting" ], "author": { - "login": "klemenstraeger", - "html_url": "https://github.com/klemenstraeger" + "login": "renwei-work", + "html_url": "https://github.com/renwei-work" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3941, - "title": "Add keyword highlighting and color coding", - "href": "https://github.com/orgs/langfuse/discussions/3941", - "created_at": "2024-10-28T12:17:38Z", + "number": 3943, + "title": "Improvements of Langfuse-Haystack integration", + "href": "https://github.com/orgs/langfuse/discussions/3943", + "created_at": "2024-10-28T14:49:51Z", "upvotes": 1, "comment_count": 2, - "resolved": false, + "resolved": true, "labels": [ - "feat-prompt-management" + "integration-haystack" ], "author": { - "login": "ignazflam", - "html_url": "https://github.com/ignazflam" + "login": "alex-stoica", + "html_url": "https://github.com/alex-stoica" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3935, - "title": "feat: Folder structure for dataset organisation", - "href": "https://github.com/orgs/langfuse/discussions/3935", - "created_at": "2024-10-28T08:23:14Z", + "number": 3924, + "title": "Postgres version mismatch when upgrading langfuse locally", + "href": "https://github.com/orgs/langfuse/discussions/3924", + "created_at": "2024-10-25T18:30:14Z", "upvotes": 2, "comment_count": 1, - "resolved": false, - "labels": [ - "feat-datasets" - ], + "resolved": true, + "labels": [], "author": { - "login": "marliessophie", - "html_url": "https://github.com/marliessophie" + "login": "nikcaryo-super", + "html_url": "https://github.com/nikcaryo-super" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3918, - "title": "Model-based evaluations triggered by observations", - "href": "https://github.com/orgs/langfuse/discussions/3918", - "created_at": "2024-10-25T14:25:49Z", - "upvotes": 2, - "comment_count": 0, - "resolved": false, + "number": 3920, + "title": "Rate limit exceed using Langfuse Python SDK", + "href": "https://github.com/orgs/langfuse/discussions/3920", + "created_at": "2024-10-25T14:45:56Z", + "upvotes": 1, + "comment_count": 1, + "resolved": true, "labels": [ - "feat-evals" + "feat-api" ], "author": { - "login": "marcklingen", - "html_url": "https://github.com/marcklingen" + "login": "laisalvescw", + "html_url": "https://github.com/laisalvescw" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3904, - "title": "Support for Custom SSO Without AUTH_CUSTOM_CLIENT_SECRET and Incorrect Profile Mapping", - "href": "https://github.com/orgs/langfuse/discussions/3904", - "created_at": "2024-10-24T17:07:38Z", - "upvotes": 0, - "comment_count": 0, - "resolved": false, - "labels": [], - "author": { - "login": "lucebert", - "html_url": "https://github.com/lucebert" + "number": 3910, + "title": "If I use Anthropic Claude component in Langflow, the trace data in Langfuse is all null", + "href": "https://github.com/orgs/langfuse/discussions/3910", + "created_at": "2024-10-25T06:50:02Z", + "upvotes": 2, + "comment_count": 2, + "resolved": true, + "labels": [], + "author": { + "login": "b8heng", + "html_url": "https://github.com/b8heng" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3893, - "title": "Allow prompt editing without creating new version (draft mode)", - "href": "https://github.com/orgs/langfuse/discussions/3893", - "created_at": "2024-10-24T08:47:13Z", - "upvotes": 2, + "number": 3905, + "title": "Allow injection of generation context into evaluation prompt", + "href": "https://github.com/orgs/langfuse/discussions/3905", + "created_at": "2024-10-24T20:39:46Z", + "upvotes": 1, "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [ - "feat-prompt-management" + "feat-evals" ], "author": { "login": "dveyarangi", "html_url": "https://github.com/dveyarangi" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3891, - "title": "feat: user consumption broken down by model", - "href": "https://github.com/orgs/langfuse/discussions/3891", - "created_at": "2024-10-24T05:41:12Z", + "number": 3902, + "title": "How to fetch the output and input tokens of a trace via API?", + "href": "https://github.com/orgs/langfuse/discussions/3902", + "created_at": "2024-10-24T16:16:56Z", + "upvotes": 0, + "comment_count": 1, + "resolved": true, + "labels": [ + "feat-api", + "feat-cost-tracking" + ], + "author": { + "login": "fdb02983rhy", + "html_url": "https://github.com/fdb02983rhy" + }, + "category": "Support" + }, + { + "number": 3900, + "title": "Sometimes traces lack metadata completely", + "href": "https://github.com/orgs/langfuse/discussions/3900", + "created_at": "2024-10-24T15:06:32Z", "upvotes": 1, - "comment_count": 0, - "resolved": false, + "comment_count": 4, + "resolved": true, "labels": [], "author": { - "login": "belphegor-s", - "html_url": "https://github.com/belphegor-s" + "login": "RichardSieg", + "html_url": "https://github.com/RichardSieg" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3885, - "title": "Trace -> Playground: Populate variable fields to make input iteration easier.", - "href": "https://github.com/orgs/langfuse/discussions/3885", - "created_at": "2024-10-23T16:26:36Z", - "upvotes": 2, - "comment_count": 0, + "number": 3890, + "title": "how to add invoked langchain tool names as tags or as metadata", + "href": "https://github.com/orgs/langfuse/discussions/3890", + "created_at": "2024-10-24T00:39:02Z", + "upvotes": 1, + "comment_count": 1, "resolved": false, "labels": [ - "feat-prompt-management", - "feat-playground" + "integration-langchain" ], "author": { - "login": "jannikmaierhoefer", - "html_url": "https://github.com/jannikmaierhoefer" + "login": "Wrashionis", + "html_url": "https://github.com/Wrashionis" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3875, - "title": "add gpt-4o-2024-08-06 model to langfuse models list", - "href": "https://github.com/orgs/langfuse/discussions/3875", - "created_at": "2024-10-23T10:54:01Z", + "number": 3886, + "title": "Azure AD auth: OAUTH_PARSE_PROFILE_ERROR", + "href": "https://github.com/orgs/langfuse/discussions/3886", + "created_at": "2024-10-23T19:40:57Z", "upvotes": 1, - "comment_count": 1, + "comment_count": 2, "resolved": false, - "labels": [ - "✅ Done" - ], + "labels": [], "author": { - "login": "alex-stoica", - "html_url": "https://github.com/alex-stoica" + "login": "kryvokhyzha", + "html_url": "https://github.com/kryvokhyzha" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3874, - "title": "Ensure prompt validation when attaching prompts to generations", - "href": "https://github.com/orgs/langfuse/discussions/3874", - "created_at": "2024-10-23T10:48:38Z", + "number": 3884, + "title": "I cant quite tell if i'm doing the parent span correctly. The trace is appearing but not associated to the Session", + "href": "https://github.com/orgs/langfuse/discussions/3884", + "created_at": "2024-10-23T16:12:44Z", "upvotes": 1, - "comment_count": 0, + "comment_count": 2, "resolved": false, - "labels": [ - "feat-prompt-management" - ], + "labels": [], "author": { - "login": "alex-stoica", - "html_url": "https://github.com/alex-stoica" + "login": "PandelisZ", + "html_url": "https://github.com/PandelisZ" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3866, - "title": "Support for OpenAI's cached input tokens", - "href": "https://github.com/orgs/langfuse/discussions/3866", - "created_at": "2024-10-22T19:38:33Z", - "upvotes": 4, + "number": 3879, + "title": "No token information in observation of LLM run", + "href": "https://github.com/orgs/langfuse/discussions/3879", + "created_at": "2024-10-23T13:07:43Z", + "upvotes": 1, "comment_count": 2, "resolved": false, "labels": [ "feat-cost-tracking" ], "author": { - "login": "anatolec", - "html_url": "https://github.com/anatolec" + "login": "noInterestIfPaidInFull", + "html_url": "https://github.com/noInterestIfPaidInFull" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3862, - "title": "python generator request - return values", - "href": "https://github.com/orgs/langfuse/discussions/3862", - "created_at": "2024-10-22T11:43:22Z", + "number": 3877, + "title": "Self host Langfuse not working - column `t6.cloud_config` does not exist", + "href": "https://github.com/orgs/langfuse/discussions/3877", + "created_at": "2024-10-23T11:54:13Z", "upvotes": 1, - "comment_count": 1, + "comment_count": 4, "resolved": false, "labels": [ - "integration-python-decorator" + "self-hosting" ], "author": { - "login": "benji-finster", - "html_url": "https://github.com/benji-finster" + "login": "SugumarRavichandran", + "html_url": "https://github.com/SugumarRavichandran" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3842, - "title": "Scores: Conditional Annotation", - "href": "https://github.com/orgs/langfuse/discussions/3842", - "created_at": "2024-10-21T08:37:48Z", + "number": 3868, + "title": "Langfuse Tracing not showing up on UI", + "href": "https://github.com/orgs/langfuse/discussions/3868", + "created_at": "2024-10-22T21:26:13Z", "upvotes": 1, - "comment_count": 0, - "resolved": false, - "labels": [ - "feat-scores", - "feat-annotation" - ], + "comment_count": 2, + "resolved": true, + "labels": [], "author": { - "login": "marliessophie", - "html_url": "https://github.com/marliessophie" + "login": "nthanapaisal", + "html_url": "https://github.com/nthanapaisal" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3841, - "title": "Annotation Queues: define optional/mandatory score configs by queue", - "href": "https://github.com/orgs/langfuse/discussions/3841", - "created_at": "2024-10-21T08:32:46Z", + "number": 3863, + "title": "Request Timeout for Dashboard", + "href": "https://github.com/orgs/langfuse/discussions/3863", + "created_at": "2024-10-22T14:18:43Z", "upvotes": 1, - "comment_count": 0, - "resolved": false, + "comment_count": 2, + "resolved": true, "labels": [ - "feat-annotation" + "self-hosting" ], "author": { - "login": "marliessophie", - "html_url": "https://github.com/marliessophie" + "login": "mritonia", + "html_url": "https://github.com/mritonia" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3840, - "title": "Scores: support for recording multiple choice selection as score value", - "href": "https://github.com/orgs/langfuse/discussions/3840", - "created_at": "2024-10-21T08:20:01Z", + "number": 3858, + "title": "Monitoring self-hosted langfuse.", + "href": "https://github.com/orgs/langfuse/discussions/3858", + "created_at": "2024-10-22T07:04:26Z", "upvotes": 1, - "comment_count": 0, - "resolved": false, + "comment_count": 2, + "resolved": true, "labels": [ - "feat-scores" + "self-hosting" ], "author": { - "login": "marliessophie", - "html_url": "https://github.com/marliessophie" + "login": "SinghCoder", + "html_url": "https://github.com/SinghCoder" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3839, - "title": "Prompts: ability to share prompt or playground session", - "href": "https://github.com/orgs/langfuse/discussions/3839", - "created_at": "2024-10-21T08:00:15Z", - "upvotes": 2, - "comment_count": 0, - "resolved": false, + "number": 3854, + "title": "Open AI Python SDK - 'OpenAI' object has no attribute 'langfuse_auth_check'", + "href": "https://github.com/orgs/langfuse/discussions/3854", + "created_at": "2024-10-21T21:41:17Z", + "upvotes": 1, + "comment_count": 4, + "resolved": true, "labels": [ - "feat-prompt-management" + "integration-openai" ], "author": { - "login": "marliessophie", - "html_url": "https://github.com/marliessophie" + "login": "hjensen", + "html_url": "https://github.com/hjensen" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3836, - "title": "Distinguishing various steps", - "href": "https://github.com/orgs/langfuse/discussions/3836", - "created_at": "2024-10-20T16:54:32Z", + "number": 3845, + "title": "Traces: Link a trace to multiple sessions", + "href": "https://github.com/orgs/langfuse/discussions/3845", + "created_at": "2024-10-21T11:31:54Z", "upvotes": 1, - "comment_count": 0, - "resolved": false, - "labels": [], - "author": { - "login": "ajram23", - "html_url": "https://github.com/ajram23" - }, - "category": "Ideas" - }, - { - "number": 3818, - "title": "Filter by status in dataset items table", - "href": "https://github.com/orgs/langfuse/discussions/3818", - "created_at": "2024-10-18T03:17:50Z", - "upvotes": 2, "comment_count": 2, - "resolved": false, + "resolved": true, "labels": [ - "feat-datasets" + "feat-sessions" ], "author": { - "login": "FrankyCTY", - "html_url": "https://github.com/FrankyCTY" + "login": "nikitagupta5566", + "html_url": "https://github.com/nikitagupta5566" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3817, - "title": "Add generic types for prompt variables in the sdk clients, e.g. `langfuse.getPrompt<{input: string}>(\"prompt name\")`", - "href": "https://github.com/orgs/langfuse/discussions/3817", - "created_at": "2024-10-17T23:40:45Z", - "upvotes": 1, - "comment_count": 0, - "resolved": false, + "number": 3838, + "title": "How do I user wise \"Total Token\" counts via API or via python, As I want to track which user is consuming how much tokens", + "href": "https://github.com/orgs/langfuse/discussions/3838", + "created_at": "2024-10-21T06:51:06Z", + "upvotes": 2, + "comment_count": 3, + "resolved": true, "labels": [ - "feat-prompt-management" + "feat-cost-tracking" ], "author": { - "login": "marcklingen", - "html_url": "https://github.com/marcklingen" + "login": "hrone-dev-satyammishra", + "html_url": "https://github.com/hrone-dev-satyammishra" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3801, - "title": "Add image type with image_url for vision apo", - "href": "https://github.com/orgs/langfuse/discussions/3801", - "created_at": "2024-10-17T15:27:23Z", + "number": 3835, + "title": "To use Gemini on playground", + "href": "https://github.com/orgs/langfuse/discussions/3835", + "created_at": "2024-10-20T12:20:22Z", "upvotes": 1, - "comment_count": 1, + "comment_count": 3, "resolved": false, - "labels": [ - "feat-prompt-management", - "feat-playground" - ], + "labels": [], "author": { - "login": "profikid", - "html_url": "https://github.com/profikid" + "login": "yu-tarrrr", + "html_url": "https://github.com/yu-tarrrr" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3798, - "title": "Versioning/edit of Evaluator Configuration", - "href": "https://github.com/orgs/langfuse/discussions/3798", - "created_at": "2024-10-17T11:59:39Z", - "upvotes": 3, - "comment_count": 1, + "number": 3824, + "title": "Traces and events not going through to Langfuse server even though they're generating", + "href": "https://github.com/orgs/langfuse/discussions/3824", + "created_at": "2024-10-18T13:49:53Z", + "upvotes": 1, + "comment_count": 2, "resolved": false, "labels": [ - "feat-evals" + "integration-python-decorator" ], "author": { - "login": "filipmihal", - "html_url": "https://github.com/filipmihal" + "login": "FaresKi", + "html_url": "https://github.com/FaresKi" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3782, - "title": "Measure time to last generated token", - "href": "https://github.com/orgs/langfuse/discussions/3782", - "created_at": "2024-10-16T17:45:12Z", - "upvotes": 2, - "comment_count": 0, + "number": 3800, + "title": "Insert API Keys in database", + "href": "https://github.com/orgs/langfuse/discussions/3800", + "created_at": "2024-10-17T12:40:17Z", + "upvotes": 1, + "comment_count": 3, "resolved": false, "labels": [], "author": { - "login": "dsherry", - "html_url": "https://github.com/dsherry" + "login": "kryvokhyzha", + "html_url": "https://github.com/kryvokhyzha" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3772, - "title": "Support annotation role permission to only access Annotation Queue feature", - "href": "https://github.com/orgs/langfuse/discussions/3772", - "created_at": "2024-10-16T03:49:43Z", + "number": 3799, + "title": "Weird behaviour of metric values and their reasoning", + "href": "https://github.com/orgs/langfuse/discussions/3799", + "created_at": "2024-10-17T12:17:48Z", "upvotes": 1, - "comment_count": 1, - "resolved": false, + "comment_count": 2, + "resolved": true, "labels": [ - "feat-annotation" + "feat-evals" ], "author": { - "login": "ytqh", - "html_url": "https://github.com/ytqh" + "login": "filipmihal", + "html_url": "https://github.com/filipmihal" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3765, - "title": "OpenAI integration support for realtime api", - "href": "https://github.com/orgs/langfuse/discussions/3765", - "created_at": "2024-10-15T21:35:13Z", - "upvotes": 5, + "number": 3797, + "title": "Filter Categorical Score Values", + "href": "https://github.com/orgs/langfuse/discussions/3797", + "created_at": "2024-10-17T10:15:58Z", + "upvotes": 1, "comment_count": 3, - "resolved": false, + "resolved": true, "labels": [ - "integration-openai" + "feat-scores" ], "author": { - "login": "marcklingen", - "html_url": "https://github.com/marcklingen" + "login": "alabrashJr", + "html_url": "https://github.com/alabrashJr" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3761, - "title": "DsPY type optimization functionality", - "href": "https://github.com/orgs/langfuse/discussions/3761", - "created_at": "2024-10-15T20:02:39Z", + "number": 3796, + "title": "Manually setting up Langchain Callback handler with explicit values doesn't configure langfuse client in decorator approach", + "href": "https://github.com/orgs/langfuse/discussions/3796", + "created_at": "2024-10-17T08:36:51Z", "upvotes": 1, - "comment_count": 1, - "resolved": false, + "comment_count": 2, + "resolved": true, "labels": [ - "integration-dspy" + "integration-langchain" ], "author": { - "login": "nikshepsvn", - "html_url": "https://github.com/nikshepsvn" + "login": "FaresKi", + "html_url": "https://github.com/FaresKi" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3755, - "title": "Intergrate with Ragflow", - "href": "https://github.com/orgs/langfuse/discussions/3755", - "created_at": "2024-10-15T06:54:12Z", - "upvotes": 3, - "comment_count": 1, - "resolved": false, + "number": 3780, + "title": "How to use prompt management with litellm's integration with langfuse?", + "href": "https://github.com/orgs/langfuse/discussions/3780", + "created_at": "2024-10-16T16:48:40Z", + "upvotes": 2, + "comment_count": 8, + "resolved": true, "labels": [ - "integrations" + "feat-prompt-management", + "integration-litellm" ], "author": { - "login": "chuwe000", - "html_url": "https://github.com/chuwe000" + "login": "GildeshAbhay", + "html_url": "https://github.com/GildeshAbhay" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3802, - "title": "Get Observation IDs of sub chains when using @observe decorator combined with Langchain", - "href": "https://github.com/orgs/langfuse/discussions/3802", - "created_at": "2024-10-14T14:22:38Z", + "number": 3779, + "title": "Annotation Queues and Session IDs and Datasets and LLM Security", + "href": "https://github.com/orgs/langfuse/discussions/3779", + "created_at": "2024-10-16T14:55:09Z", "upvotes": 1, - "comment_count": 4, + "comment_count": 3, "resolved": false, - "labels": [ - "sdk-python", - "integration-langchain", - "integration-python-decorator" - ], + "labels": [], "author": { - "login": "guusfrenken-wk", - "html_url": "https://github.com/guusfrenken-wk" + "login": "paolotamag", + "html_url": "https://github.com/paolotamag" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3725, - "title": "observe context manager", - "href": "https://github.com/orgs/langfuse/discussions/3725", - "created_at": "2024-10-12T07:33:09Z", + "number": 3778, + "title": "Observe decorator not working with custom langchain model & custom langfuse callback handler", + "href": "https://github.com/orgs/langfuse/discussions/3778", + "created_at": "2024-10-16T12:36:02Z", "upvotes": 1, - "comment_count": 1, - "resolved": false, + "comment_count": 2, + "resolved": true, "labels": [], "author": { - "login": "eliorc", - "html_url": "https://github.com/eliorc" + "login": "FaresKi", + "html_url": "https://github.com/FaresKi" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3723, - "title": "Terminal version of Langfuse (Langfuse CLI)", - "href": "https://github.com/orgs/langfuse/discussions/3723", - "created_at": "2024-10-11T21:06:48Z", - "upvotes": 3, + "number": 3777, + "title": "Error when trying to upgrade my langfuse deployment", + "href": "https://github.com/orgs/langfuse/discussions/3777", + "created_at": "2024-10-16T09:25:53Z", + "upvotes": 2, "comment_count": 2, "resolved": false, - "labels": [], + "labels": [ + "self-hosting" + ], "author": { - "login": "Shahin-rmz", - "html_url": "https://github.com/Shahin-rmz" + "login": "nithin1995", + "html_url": "https://github.com/nithin1995" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3681, - "title": "Evalution of a prompt by a LLM", - "href": "https://github.com/orgs/langfuse/discussions/3681", - "created_at": "2024-10-09T19:17:30Z", - "upvotes": 3, - "comment_count": 0, - "resolved": false, - "labels": [ - "feat-prompt-management" - ], + "number": 3766, + "title": "Latency and total cost for runs are not computed", + "href": "https://github.com/orgs/langfuse/discussions/3766", + "created_at": "2024-10-15T21:38:15Z", + "upvotes": 1, + "comment_count": 3, + "resolved": true, + "labels": [], "author": { - "login": "jannikmaierhoefer", - "html_url": "https://github.com/jannikmaierhoefer" + "login": "ldbolanos", + "html_url": "https://github.com/ldbolanos" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3663, - "title": "Dashboard: Add time to first token chart (ttft)", - "href": "https://github.com/orgs/langfuse/discussions/3663", - "created_at": "2024-10-08T23:56:42Z", - "upvotes": 6, - "comment_count": 0, - "resolved": false, + "number": 3764, + "title": "Best practices for tracing an app with history and tool usage", + "href": "https://github.com/orgs/langfuse/discussions/3764", + "created_at": "2024-10-15T21:27:34Z", + "upvotes": 2, + "comment_count": 3, + "resolved": true, "labels": [ - "feat-dashboard" + "integration-openai" ], "author": { - "login": "marcklingen", - "html_url": "https://github.com/marcklingen" + "login": "machulav", + "html_url": "https://github.com/machulav" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3646, - "title": "Table sorting and filtering in database runs", - "href": "https://github.com/orgs/langfuse/discussions/3646", - "created_at": "2024-10-08T11:13:52Z", - "upvotes": 2, - "comment_count": 0, - "resolved": false, - "labels": [], + "number": 3756, + "title": "How to create an eval config for prompts using python api?", + "href": "https://github.com/orgs/langfuse/discussions/3756", + "created_at": "2024-10-15T09:20:06Z", + "upvotes": 1, + "comment_count": 2, + "resolved": true, + "labels": [ + "feat-evals" + ], "author": { - "login": "FlorDonnaSanders", - "html_url": "https://github.com/FlorDonnaSanders" + "login": "GildeshAbhay", + "html_url": "https://github.com/GildeshAbhay" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3618, - "title": "User Aliases", - "href": "https://github.com/orgs/langfuse/discussions/3618", - "created_at": "2024-10-07T07:51:49Z", + "number": 3737, + "title": "Monitoring for multi agent systems (OpenWebUI)", + "href": "https://github.com/orgs/langfuse/discussions/3737", + "created_at": "2024-10-14T16:50:17Z", "upvotes": 1, - "comment_count": 1, - "resolved": false, - "labels": [], + "comment_count": 3, + "resolved": true, + "labels": [ + "integration-openwebui" + ], "author": { - "login": "FlorDonnaSanders", - "html_url": "https://github.com/FlorDonnaSanders" + "login": "OM-EL", + "html_url": "https://github.com/OM-EL" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3576, - "title": "feat: edit custom model definitions", - "href": "https://github.com/orgs/langfuse/discussions/3576", - "created_at": "2024-10-04T12:40:54Z", - "upvotes": 3, - "comment_count": 0, - "resolved": false, - "labels": [], + "number": 3735, + "title": "Is it possible to use tools calling and structured output in the Prompts UI and Playground?", + "href": "https://github.com/orgs/langfuse/discussions/3735", + "created_at": "2024-10-14T16:43:23Z", + "upvotes": 1, + "comment_count": 2, + "resolved": true, + "labels": [ + "feat-prompt-management", + "feat-playground" + ], "author": { - "login": "nialldevlin1", - "html_url": "https://github.com/nialldevlin1" + "login": "mifopen", + "html_url": "https://github.com/mifopen" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3558, - "title": "Dashboard: split prompt/completion/total tokens", - "href": "https://github.com/orgs/langfuse/discussions/3558", - "created_at": "2024-10-02T02:17:47Z", - "upvotes": 6, - "comment_count": 0, - "resolved": false, + "number": 3718, + "title": "How to delete a Session?", + "href": "https://github.com/orgs/langfuse/discussions/3718", + "created_at": "2024-10-11T14:51:46Z", + "upvotes": 1, + "comment_count": 2, + "resolved": true, "labels": [ - "feat-dashboard" + "feat-sessions" ], "author": { - "login": "marcklingen", - "html_url": "https://github.com/marcklingen" + "login": "augustoolucas", + "html_url": "https://github.com/augustoolucas" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3551, - "title": "Metrics API to support the OpenMetrics format", - "href": "https://github.com/orgs/langfuse/discussions/3551", - "created_at": "2024-10-01T15:03:02Z", - "upvotes": 3, - "comment_count": 0, - "resolved": false, - "labels": [], + "number": 3717, + "title": "Llamaindex Workflow does't work with Instrumentation Module", + "href": "https://github.com/orgs/langfuse/discussions/3717", + "created_at": "2024-10-11T10:27:09Z", + "upvotes": 1, + "comment_count": 3, + "resolved": true, + "labels": [ + "integraton-llamaindex" + ], "author": { - "login": "shukawam", - "html_url": "https://github.com/shukawam" + "login": "ntdanhtma", + "html_url": "https://github.com/ntdanhtma" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3550, - "title": "Asynchronous Langfuse Client.", - "href": "https://github.com/orgs/langfuse/discussions/3550", - "created_at": "2024-10-01T14:03:48Z", - "upvotes": 8, - "comment_count": 1, - "resolved": false, + "number": 3698, + "title": "Can I use Amazon Bedrock for Langfuse Evals?", + "href": "https://github.com/orgs/langfuse/discussions/3698", + "created_at": "2024-10-10T15:34:48Z", + "upvotes": 1, + "comment_count": 5, + "resolved": true, "labels": [ - "sdk-python" + "feat-evals", + "integration-amazon-bedrock" ], "author": { - "login": "fimselamse", - "html_url": "https://github.com/fimselamse" + "login": "j10sanders", + "html_url": "https://github.com/j10sanders" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3546, - "title": "Add SCIM support for user/role/identity management", - "href": "https://github.com/orgs/langfuse/discussions/3546", - "created_at": "2024-10-01T02:18:33Z", + "number": 3679, + "title": "Langfuse / Langflow not intergrating", + "href": "https://github.com/orgs/langfuse/discussions/3679", + "created_at": "2024-10-09T17:06:32Z", "upvotes": 1, - "comment_count": 1, + "comment_count": 2, "resolved": false, "labels": [ - "feat-api", - "security" + "integration-langflow" ], "author": { - "login": "marcklingen", - "html_url": "https://github.com/marcklingen" + "login": "colecal", + "html_url": "https://github.com/colecal" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3538, - "title": "Vector search for datasets for few-shot prompting", - "href": "https://github.com/orgs/langfuse/discussions/3538", - "created_at": "2024-09-30T17:31:18Z", + "number": 3678, + "title": "Langfuse not tracing code from my VM (server)", + "href": "https://github.com/orgs/langfuse/discussions/3678", + "created_at": "2024-10-09T14:56:05Z", "upvotes": 1, "comment_count": 1, "resolved": false, "labels": [ - "feat-datasets" + "self-hosting" ], "author": { - "login": "antoniomdk", - "html_url": "https://github.com/antoniomdk" + "login": "akbar-mta", + "html_url": "https://github.com/akbar-mta" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3529, - "title": "Sampling for JS/TS SDKs and integrations", - "href": "https://github.com/orgs/langfuse/discussions/3529", - "created_at": "2024-09-30T05:44:07Z", - "upvotes": 8, - "comment_count": 0, - "resolved": false, + "number": 3674, + "title": "Docs for K8s deployments", + "href": "https://github.com/orgs/langfuse/discussions/3674", + "created_at": "2024-10-09T09:52:05Z", + "upvotes": 1, + "comment_count": 2, + "resolved": true, "labels": [ - "feat-sampling" + "self-hosting" ], "author": { - "login": "marcklingen", - "html_url": "https://github.com/marcklingen" + "login": "Brant-lzh", + "html_url": "https://github.com/Brant-lzh" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3528, - "title": "Add saved filters config", - "href": "https://github.com/orgs/langfuse/discussions/3528", - "created_at": "2024-09-30T05:36:44Z", + "number": 3645, + "title": "Cannot Sign In or Sign Up to Local Langfuse Instance", + "href": "https://github.com/orgs/langfuse/discussions/3645", + "created_at": "2024-10-08T11:09:48Z", "upvotes": 1, - "comment_count": 1, - "resolved": false, - "labels": [ - "ui" - ], + "comment_count": 2, + "resolved": true, + "labels": [], "author": { - "login": "emaugars12", - "html_url": "https://github.com/emaugars12" + "login": "Patryk-Chlanda", + "html_url": "https://github.com/Patryk-Chlanda" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3527, - "title": "Show prompt-level aggregate metrics on the prompts table", - "href": "https://github.com/orgs/langfuse/discussions/3527", - "created_at": "2024-09-30T00:33:43Z", - "upvotes": 4, - "comment_count": 0, - "resolved": false, - "labels": [ - "feat-prompt-management" - ], + "number": 3641, + "title": "Sign in and Sign up button is greyed out", + "href": "https://github.com/orgs/langfuse/discussions/3641", + "created_at": "2024-10-08T09:32:16Z", + "upvotes": 1, + "comment_count": 2, + "resolved": true, + "labels": [], "author": { - "login": "marcklingen", - "html_url": "https://github.com/marcklingen" + "login": "akbar-mta", + "html_url": "https://github.com/akbar-mta" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3524, - "title": "Field-level selection for input/output filtering in decorator instead of using update_current_observation/trace", - "href": "https://github.com/orgs/langfuse/discussions/3524", - "created_at": "2024-09-29T08:28:45Z", + "number": 3637, + "title": "Sign In Button Remains Disabled When Logging in with Email/Password on Langfuse Self-Hosted", + "href": "https://github.com/orgs/langfuse/discussions/3637", + "created_at": "2024-10-08T06:40:05Z", + "upvotes": 2, + "comment_count": 2, + "resolved": true, + "labels": [], + "author": { + "login": "tubone24", + "html_url": "https://github.com/tubone24" + }, + "category": "Support" + }, + { + "number": 3615, + "title": "Failing with internal server error when trying to add score to a trace", + "href": "https://github.com/orgs/langfuse/discussions/3615", + "created_at": "2024-10-07T06:15:14Z", "upvotes": 1, - "comment_count": 4, - "resolved": false, - "labels": [ - "integration-python-decorator" - ], + "comment_count": 2, + "resolved": true, + "labels": [], "author": { - "login": "amir-mic-lin", - "html_url": "https://github.com/amir-mic-lin" + "login": "nithin1995", + "html_url": "https://github.com/nithin1995" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3508, - "title": "feat: organization level dashboard", - "href": "https://github.com/orgs/langfuse/discussions/3508", - "created_at": "2024-09-27T13:48:13Z", + "number": 3592, + "title": "Set trace_id in Langchain CallbackHandler", + "href": "https://github.com/orgs/langfuse/discussions/3592", + "created_at": "2024-10-05T11:09:30Z", "upvotes": 1, "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [], "author": { - "login": "nialldevlin1", - "html_url": "https://github.com/nialldevlin1" + "login": "michaelpoluektov", + "html_url": "https://github.com/michaelpoluektov" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3478, - "title": "TextGrad integration", - "href": "https://github.com/orgs/langfuse/discussions/3478", - "created_at": "2024-09-25T16:13:45Z", + "number": 3574, + "title": "Automated provisioning of default resources in self hosting", + "href": "https://github.com/orgs/langfuse/discussions/3574", + "created_at": "2024-10-04T06:44:45Z", "upvotes": 1, - "comment_count": 1, - "resolved": false, + "comment_count": 2, + "resolved": true, "labels": [ - "integrations" + "self-hosting" ], "author": { - "login": "sakthi-geek", - "html_url": "https://github.com/sakthi-geek" + "login": "Harinisri29", + "html_url": "https://github.com/Harinisri29" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3476, - "title": "Chart: usage/metrics grouped by tags", - "href": "https://github.com/orgs/langfuse/discussions/3476", - "created_at": "2024-09-25T13:54:14Z", + "number": 3569, + "title": "UnauthorizedError: No authorization header After Switching to Headless Initialization", + "href": "https://github.com/orgs/langfuse/discussions/3569", + "created_at": "2024-10-03T08:52:35Z", "upvotes": 2, - "comment_count": 0, + "comment_count": 2, "resolved": false, - "labels": [ - "feat-dashboard", - "feat-tags" - ], + "labels": [], "author": { - "login": "marcklingen", - "html_url": "https://github.com/marcklingen" + "login": "chandel-aman", + "html_url": "https://github.com/chandel-aman" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3472, - "title": "Dashboard: add chart for unique users (MAU/WAU/DAU)", - "href": "https://github.com/orgs/langfuse/discussions/3472", - "created_at": "2024-09-25T11:37:30Z", - "upvotes": 2, - "comment_count": 0, - "resolved": false, - "labels": [ - "feat-dashboard", - "feat-users" - ], + "number": 3559, + "title": "Token Cost using OpenRouter", + "href": "https://github.com/orgs/langfuse/discussions/3559", + "created_at": "2024-10-02T05:25:14Z", + "upvotes": 1, + "comment_count": 1, + "resolved": true, + "labels": [], "author": { - "login": "marcklingen", - "html_url": "https://github.com/marcklingen" + "login": "austinm911", + "html_url": "https://github.com/austinm911" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3447, - "title": "Playground: Move messages / add messages in-between others", - "href": "https://github.com/orgs/langfuse/discussions/3447", - "created_at": "2024-09-23T09:16:23Z", - "upvotes": 2, - "comment_count": 0, - "resolved": false, - "labels": [ - "feat-playground" - ], + "number": 3557, + "title": "Link 2 traces", + "href": "https://github.com/orgs/langfuse/discussions/3557", + "created_at": "2024-10-02T02:14:27Z", + "upvotes": 1, + "comment_count": 1, + "resolved": true, + "labels": [], "author": { - "login": "jannikmaierhoefer", - "html_url": "https://github.com/jannikmaierhoefer" + "login": "saiprasath21", + "html_url": "https://github.com/saiprasath21" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3443, - "title": "Why not extend observeOpenAI to support message-level user id?", - "href": "https://github.com/orgs/langfuse/discussions/3443", - "created_at": "2024-09-21T23:57:57Z", + "number": 3556, + "title": "Update a trace", + "href": "https://github.com/orgs/langfuse/discussions/3556", + "created_at": "2024-10-02T02:10:15Z", "upvotes": 1, "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [], "author": { - "login": "derrickstaten", - "html_url": "https://github.com/derrickstaten" + "login": "saiprasath21", + "html_url": "https://github.com/saiprasath21" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3439, - "title": "Filtering dataset items", - "href": "https://github.com/orgs/langfuse/discussions/3439", - "created_at": "2024-09-21T01:51:33Z", - "upvotes": 3, - "comment_count": 0, + "number": 3553, + "title": "How to track DSPy call within Langgraph", + "href": "https://github.com/orgs/langfuse/discussions/3553", + "created_at": "2024-10-01T20:00:11Z", + "upvotes": 1, + "comment_count": 1, "resolved": false, "labels": [ - "feat-datasets" + "integration-langchain", + "integration-dspy" ], "author": { - "login": "emaugars12", - "html_url": "https://github.com/emaugars12" + "login": "marcklingen", + "html_url": "https://github.com/marcklingen" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3438, - "title": "Support export for Dataset Items", - "href": "https://github.com/orgs/langfuse/discussions/3438", - "created_at": "2024-09-20T22:57:21Z", - "upvotes": 4, - "comment_count": 0, - "resolved": false, + "number": 3552, + "title": "LlamaIndex traces grouping", + "href": "https://github.com/orgs/langfuse/discussions/3552", + "created_at": "2024-10-01T18:35:11Z", + "upvotes": 1, + "comment_count": 2, + "resolved": true, "labels": [ - "feat-datasets" + "integraton-llamaindex" ], "author": { - "login": "uladkaminski", - "html_url": "https://github.com/uladkaminski" + "login": "ivanviragine", + "html_url": "https://github.com/ivanviragine" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3436, - "title": "Prompt label promotion via api/sdk", - "href": "https://github.com/orgs/langfuse/discussions/3436", - "created_at": "2024-09-20T21:32:07Z", - "upvotes": 2, - "comment_count": 1, - "resolved": false, - "labels": [], + "number": 3549, + "title": "create api keys pair using some method or api", + "href": "https://github.com/orgs/langfuse/discussions/3549", + "created_at": "2024-10-01T11:45:12Z", + "upvotes": 1, + "comment_count": 2, + "resolved": true, + "labels": [ + "self-hosting" + ], "author": { - "login": "mrdrprofuroboros", - "html_url": "https://github.com/mrdrprofuroboros" + "login": "ryanrib14", + "html_url": "https://github.com/ryanrib14" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3431, - "title": "3rd option for \"sharing\" traces publicly", - "href": "https://github.com/orgs/langfuse/discussions/3431", - "created_at": "2024-09-20T16:29:28Z", - "upvotes": 1, - "comment_count": 0, - "resolved": false, - "labels": [], - "author": { - "login": "jannikmaierhoefer", - "html_url": "https://github.com/jannikmaierhoefer" - }, - "category": "Ideas" - }, - { - "number": 3415, - "title": "Only use traces in the dataset to render score columns", - "href": "https://github.com/orgs/langfuse/discussions/3415", - "created_at": "2024-09-19T17:36:44Z", + "number": 3545, + "title": "How to Set Custom Trace ID with a Decorator and Include langfuse_observation_id?", + "href": "https://github.com/orgs/langfuse/discussions/3545", + "created_at": "2024-10-01T02:04:03Z", "upvotes": 1, - "comment_count": 1, - "resolved": false, + "comment_count": 2, + "resolved": true, "labels": [ - "feat-datasets" + "integration-python-decorator" ], "author": { - "login": "micahstairs", - "html_url": "https://github.com/micahstairs" + "login": "octadion", + "html_url": "https://github.com/octadion" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3412, - "title": "Source code versioning and automatic statistics caluclation from scores", - "href": "https://github.com/orgs/langfuse/discussions/3412", - "created_at": "2024-09-19T10:44:02Z", + "number": 3540, + "title": "error ❌ tRPC failed on public.checkUpdate: Failed to fetch or json parse the latest releases Failed to fetch or json parse the latest releases", + "href": "https://github.com/orgs/langfuse/discussions/3540", + "created_at": "2024-09-30T20:29:22Z", "upvotes": 1, "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [ - "feat-scores" + "self-hosting" ], "author": { - "login": "ge28yen", - "html_url": "https://github.com/ge28yen" + "login": "FaresKi", + "html_url": "https://github.com/FaresKi" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3409, - "title": "Add graph view for LangGraph traces", - "href": "https://github.com/orgs/langfuse/discussions/3409", - "created_at": "2024-09-19T07:55:02Z", - "upvotes": 5, - "comment_count": 1, - "resolved": false, + "number": 3531, + "title": "is it possible to assign a label to an existing prompt via API/SDK ?", + "href": "https://github.com/orgs/langfuse/discussions/3531", + "created_at": "2024-09-30T07:49:28Z", + "upvotes": 1, + "comment_count": 2, + "resolved": true, "labels": [ - "integration-langchain" + "feat-prompt-management" ], "author": { - "login": "hassiebp", - "html_url": "https://github.com/hassiebp" + "login": "simicvm", + "html_url": "https://github.com/simicvm" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3402, - "title": "Mask / redact PII from traces logged to langfuse", - "href": "https://github.com/orgs/langfuse/discussions/3402", - "created_at": "2024-09-18T21:04:06Z", - "upvotes": 6, + "number": 3525, + "title": "Applying database migrations failed. This is mostly caused by the database being unavailable", + "href": "https://github.com/orgs/langfuse/discussions/3525", + "created_at": "2024-09-29T11:14:04Z", + "upvotes": 1, "comment_count": 3, "resolved": false, "labels": [ - "✅ Done", - "security" + "self-hosting" ], "author": { - "login": "marcklingen", - "html_url": "https://github.com/marcklingen" + "login": "NanthagopalEswaran", + "html_url": "https://github.com/NanthagopalEswaran" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3401, - "title": "Make compile and get_langchain_prompt interoperable when using a prompt from langfuse in langchain", - "href": "https://github.com/orgs/langfuse/discussions/3401", - "created_at": "2024-09-18T21:03:20Z", + "number": 3521, + "title": "is it open source or not?", + "href": "https://github.com/orgs/langfuse/discussions/3521", + "created_at": "2024-09-27T22:07:52Z", "upvotes": 1, - "comment_count": 2, - "resolved": false, - "labels": [ - "feat-prompt-management", - "integration-langchain", - "✅ Done" - ], + "comment_count": 1, + "resolved": true, + "labels": [], "author": { - "login": "ajram23", - "html_url": "https://github.com/ajram23" + "login": "severfire", + "html_url": "https://github.com/severfire" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3396, - "title": "Better mustache/jinja support in langfuse playground", - "href": "https://github.com/orgs/langfuse/discussions/3396", - "created_at": "2024-09-18T11:54:28Z", - "upvotes": 3, - "comment_count": 2, - "resolved": false, + "number": 3520, + "title": "Langfuse not logging costs on Vertex AI gemini-1.5-flash-002.", + "href": "https://github.com/orgs/langfuse/discussions/3520", + "created_at": "2024-09-27T18:51:08Z", + "upvotes": 1, + "comment_count": 1, + "resolved": true, "labels": [ - "feat-playground" + "integraton-llamaindex" ], "author": { - "login": "FlorDonnaSanders", - "html_url": "https://github.com/FlorDonnaSanders" + "login": "arthurbrenno", + "html_url": "https://github.com/arthurbrenno" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3395, - "title": "Add fine-grained filtering options in python `fetch_traces` API to match web UI", - "href": "https://github.com/orgs/langfuse/discussions/3395", - "created_at": "2024-09-18T11:18:20Z", + "number": 3503, + "title": "Not possible to delete prompts programmatically, (langfuse python library or api)", + "href": "https://github.com/orgs/langfuse/discussions/3503", + "created_at": "2024-09-27T12:33:52Z", "upvotes": 2, - "comment_count": 0, - "resolved": false, - "labels": [], + "comment_count": 2, + "resolved": true, + "labels": [ + "feat-prompt-management" + ], "author": { - "login": "evangriffiths", - "html_url": "https://github.com/evangriffiths" + "login": "RealGammaNL", + "html_url": "https://github.com/RealGammaNL" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3376, - "title": "Allow LangchainCallbackHandler to specify custom input/output?", - "href": "https://github.com/orgs/langfuse/discussions/3376", - "created_at": "2024-09-16T23:45:18Z", + "number": 3496, + "title": "Unable to fetch prompts without production label", + "href": "https://github.com/orgs/langfuse/discussions/3496", + "created_at": "2024-09-27T03:27:52Z", "upvotes": 1, "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [ - "integration-langchain" + "feat-prompt-management" ], "author": { - "login": "xxkennyxu", - "html_url": "https://github.com/xxkennyxu" + "login": "chandel-aman", + "html_url": "https://github.com/chandel-aman" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3375, - "title": "Promptfoo integration", - "href": "https://github.com/orgs/langfuse/discussions/3375", - "created_at": "2024-09-16T23:34:34Z", - "upvotes": 2, - "comment_count": 1, + "number": 3489, + "title": "Missing input/output on trace when using openai js integration", + "href": "https://github.com/orgs/langfuse/discussions/3489", + "created_at": "2024-09-26T15:36:06Z", + "upvotes": 1, + "comment_count": 2, "resolved": false, "labels": [ - "integrations" + "integration-openai" ], "author": { - "login": "aiseei", - "html_url": "https://github.com/aiseei" + "login": "dimitrydesilias", + "html_url": "https://github.com/dimitrydesilias" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3367, - "title": "Default closed dropdown view in trace details", - "href": "https://github.com/orgs/langfuse/discussions/3367", - "created_at": "2024-09-16T12:47:26Z", - "upvotes": 2, - "comment_count": 1, - "resolved": false, + "number": 3486, + "title": "Bind all multiple hierarchical call against session-id instead of opening multiple threads", + "href": "https://github.com/orgs/langfuse/discussions/3486", + "created_at": "2024-09-26T06:31:20Z", + "upvotes": 1, + "comment_count": 3, + "resolved": true, "labels": [ - "ui" + "integration-python-decorator" ], "author": { - "login": "jannikmaierhoefer", - "html_url": "https://github.com/jannikmaierhoefer" + "login": "ajeet6261", + "html_url": "https://github.com/ajeet6261" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3363, - "title": "Dashboard: TPM chart", - "href": "https://github.com/orgs/langfuse/discussions/3363", - "created_at": "2024-09-16T07:53:52Z", - "upvotes": 2, - "comment_count": 1, - "resolved": false, + "number": 3485, + "title": "How to avoid memory leaks due to LangchainCallbackHandler while using userId and sessionId", + "href": "https://github.com/orgs/langfuse/discussions/3485", + "created_at": "2024-09-26T00:07:14Z", + "upvotes": 1, + "comment_count": 6, + "resolved": true, "labels": [ - "feat-dashboard" + "integration-langchain", + "feat-users", + "feat-sessions" ], "author": { - "login": "afonsomatos", - "html_url": "https://github.com/afonsomatos" + "login": "Chengdyc", + "html_url": "https://github.com/Chengdyc" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3361, - "title": "Group Similar or Consecutive Traces", - "href": "https://github.com/orgs/langfuse/discussions/3361", - "created_at": "2024-09-16T05:38:40Z", + "number": 3480, + "title": "How to provide a TLS Cert for PGSQL cloud connection in Langfuse docker container?", + "href": "https://github.com/orgs/langfuse/discussions/3480", + "created_at": "2024-09-25T20:44:17Z", "upvotes": 1, - "comment_count": 1, - "resolved": false, - "labels": [], + "comment_count": 2, + "resolved": true, + "labels": [ + "self-hosting" + ], "author": { - "login": "rvndbalaji", - "html_url": "https://github.com/rvndbalaji" + "login": "barvhaim", + "html_url": "https://github.com/barvhaim" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3358, - "title": "More customization in graphs and dashboard panels", - "href": "https://github.com/orgs/langfuse/discussions/3358", - "created_at": "2024-09-14T03:12:38Z", + "number": 3477, + "title": "LangFuse Low Level SDK does not render images by passing the link", + "href": "https://github.com/orgs/langfuse/discussions/3477", + "created_at": "2024-09-25T15:15:54Z", "upvotes": 1, "comment_count": 1, "resolved": false, "labels": [ - "feat-dashboard" + "feat-multimodal" ], "author": { - "login": "emaugars12", - "html_url": "https://github.com/emaugars12" + "login": "VikramShenoy97", + "html_url": "https://github.com/VikramShenoy97" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3352, - "title": "LLM Based Evaluation - more control with mapping a variable e.g. {{query}}, {{ground_truth}} etc inside of Input/Output/Metadata observation", - "href": "https://github.com/orgs/langfuse/discussions/3352", - "created_at": "2024-09-13T16:58:05Z", - "upvotes": 2, - "comment_count": 1, + "number": 3469, + "title": "raise exception when handle_span_events", + "href": "https://github.com/orgs/langfuse/discussions/3469", + "created_at": "2024-09-25T00:56:32Z", + "upvotes": 1, + "comment_count": 2, "resolved": false, "labels": [], "author": { - "login": "stepanogil", - "html_url": "https://github.com/stepanogil" + "login": "nightosong", + "html_url": "https://github.com/nightosong" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3351, - "title": "Support for Firebase Genkit", - "href": "https://github.com/orgs/langfuse/discussions/3351", - "created_at": "2024-09-13T16:29:07Z", + "number": 3466, + "title": "How to get costs associated with an API call / user?", + "href": "https://github.com/orgs/langfuse/discussions/3466", + "created_at": "2024-09-24T19:33:56Z", "upvotes": 1, "comment_count": 1, - "resolved": false, - "labels": [ - "integrations" - ], - "author": { - "login": "debkanchan", - "html_url": "https://github.com/debkanchan" - }, - "category": "Ideas" - }, - { - "number": 3338, - "title": "o1-preview and o1-mini support", - "href": "https://github.com/orgs/langfuse/discussions/3338", - "created_at": "2024-09-13T07:16:22Z", - "upvotes": 2, - "comment_count": 3, - "resolved": false, + "resolved": true, "labels": [ - "✅ Done" + "feat-users", + "feat-cost-tracking" ], "author": { - "login": "juan-abia", - "html_url": "https://github.com/juan-abia" + "login": "punkpeye", + "html_url": "https://github.com/punkpeye" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3336, - "title": "Add Notification for / in Comments Objects", - "href": "https://github.com/orgs/langfuse/discussions/3336", - "created_at": "2024-09-13T00:04:16Z", + "number": 3465, + "title": "How to run langfuse locally while using a hosted database", + "href": "https://github.com/orgs/langfuse/discussions/3465", + "created_at": "2024-09-24T14:24:29Z", "upvotes": 1, "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [ - "feat-comments" + "self-hosting" ], "author": { - "login": "Zugunruhekami", - "html_url": "https://github.com/Zugunruhekami" + "login": "wil0u", + "html_url": "https://github.com/wil0u" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3335, - "title": "Extend Searchability (through filter) for Comments Objects", - "href": "https://github.com/orgs/langfuse/discussions/3335", - "created_at": "2024-09-12T23:58:17Z", + "number": 3462, + "title": "how to set user_id or session_id in trace?", + "href": "https://github.com/orgs/langfuse/discussions/3462", + "created_at": "2024-09-24T08:34:59Z", "upvotes": 1, - "comment_count": 0, - "resolved": false, + "comment_count": 2, + "resolved": true, "labels": [ - "feat-comments" + "integration-python-decorator", + "feat-users", + "feat-sessions" ], "author": { - "login": "Zugunruhekami", - "html_url": "https://github.com/Zugunruhekami" + "login": "yumc2573", + "html_url": "https://github.com/yumc2573" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3291, - "title": "Filter by error in sub span", - "href": "https://github.com/orgs/langfuse/discussions/3291", - "created_at": "2024-09-10T13:20:11Z", + "number": 3460, + "title": "Langfuse observation for openai embeddings method", + "href": "https://github.com/orgs/langfuse/discussions/3460", + "created_at": "2024-09-24T06:01:06Z", "upvotes": 2, - "comment_count": 3, - "resolved": false, + "comment_count": 2, + "resolved": true, "labels": [ - "✅ Done", - "feat-log-levels" + "integration-openai", + "integration-python-decorator", + "feat-cost-tracking" ], "author": { - "login": "bettlebrox", - "html_url": "https://github.com/bettlebrox" + "login": "simrangulati-jktech", + "html_url": "https://github.com/simrangulati-jktech" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3289, - "title": "Deleting old, unused tags or making them unseen if weren't used in the chosen time window.", - "href": "https://github.com/orgs/langfuse/discussions/3289", - "created_at": "2024-09-10T12:56:43Z", + "number": 3446, + "title": "Right way to migrate langfuse deployed on K8s within an AWS account", + "href": "https://github.com/orgs/langfuse/discussions/3446", + "created_at": "2024-09-23T06:32:02Z", "upvotes": 1, "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [ - "feat-tags" + "self-hosting" ], "author": { - "login": "constalozinschi", - "html_url": "https://github.com/constalozinschi" + "login": "nithin1995", + "html_url": "https://github.com/nithin1995" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3285, - "title": "SDK-JS: Allow to delete one or more trace", - "href": "https://github.com/orgs/langfuse/discussions/3285", - "created_at": "2024-09-10T09:26:04Z", - "upvotes": 5, - "comment_count": 2, - "resolved": false, - "labels": [ - "sdk-js" - ], + "number": 3435, + "title": "Langfuse is inconsistently generating span latencies table in traces greater than 36K entiries", + "href": "https://github.com/orgs/langfuse/discussions/3435", + "created_at": "2024-09-20T18:54:28Z", + "upvotes": 1, + "comment_count": 3, + "resolved": true, + "labels": [], "author": { - "login": "Lunik", - "html_url": "https://github.com/Lunik" + "login": "databloom", + "html_url": "https://github.com/databloom" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3276, - "title": "Retrieve the trace by metdata", - "href": "https://github.com/orgs/langfuse/discussions/3276", - "created_at": "2024-09-09T20:51:08Z", - "upvotes": 3, - "comment_count": 0, - "resolved": false, + "number": 3429, + "title": "Async version of Langfuse.get_prompt", + "href": "https://github.com/orgs/langfuse/discussions/3429", + "created_at": "2024-09-20T14:26:51Z", + "upvotes": 1, + "comment_count": 1, + "resolved": true, "labels": [ - "feat-metadata" + "feat-prompt-management" ], "author": { - "login": "gingerjx", - "html_url": "https://github.com/gingerjx" + "login": "antoniomdk", + "html_url": "https://github.com/antoniomdk" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3275, - "title": "Include metrics and scores in getDatasetRun / `GET /api/public/datasets/{datasetName}/runs/{runName}`", - "href": "https://github.com/orgs/langfuse/discussions/3275", - "created_at": "2024-09-09T20:48:16Z", - "upvotes": 3, - "comment_count": 0, + "number": 3420, + "title": "Help setting up GCP host (cloudbuild or console)", + "href": "https://github.com/orgs/langfuse/discussions/3420", + "created_at": "2024-09-20T04:34:35Z", + "upvotes": 1, + "comment_count": 3, "resolved": false, "labels": [ - "feat-datasets" + "self-hosting" ], "author": { - "login": "gingerjx", - "html_url": "https://github.com/gingerjx" + "login": "elliottower", + "html_url": "https://github.com/elliottower" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3273, - "title": "Custom Themes", - "href": "https://github.com/orgs/langfuse/discussions/3273", - "created_at": "2024-09-09T15:08:25Z", + "number": 3410, + "title": "Configuring Evaluation with \"Correctness\" Template & Python Code Invocation", + "href": "https://github.com/orgs/langfuse/discussions/3410", + "created_at": "2024-09-19T09:44:42Z", "upvotes": 1, - "comment_count": 1, - "resolved": false, - "labels": [], + "comment_count": 3, + "resolved": true, + "labels": [ + "feat-scores" + ], "author": { - "login": "rvndbalaji", - "html_url": "https://github.com/rvndbalaji" + "login": "zoulou00", + "html_url": "https://github.com/zoulou00" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3263, - "title": "Comment API", - "href": "https://github.com/orgs/langfuse/discussions/3263", - "created_at": "2024-09-07T05:53:31Z", + "number": 3406, + "title": "Module not found: Can't resolve '@langfuse'", + "href": "https://github.com/orgs/langfuse/discussions/3406", + "created_at": "2024-09-19T05:57:04Z", "upvotes": 1, "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [ - "feat-api", - "feat-datasets" + "self-hosting" ], "author": { - "login": "darvin", - "html_url": "https://github.com/darvin" + "login": "christosuster", + "html_url": "https://github.com/christosuster" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3256, - "title": "Integration with LangChain4j", - "href": "https://github.com/orgs/langfuse/discussions/3256", - "created_at": "2024-09-06T15:50:51Z", - "upvotes": 2, + "number": 3397, + "title": "tokens and usage cost", + "href": "https://github.com/orgs/langfuse/discussions/3397", + "created_at": "2024-09-18T13:05:07Z", + "upvotes": 1, "comment_count": 2, - "resolved": false, + "resolved": true, "labels": [ - "integrations", - "feat-prompt-management", - "integration-langchain" + "feat-cost-tracking" ], "author": { - "login": "ruizrube", - "html_url": "https://github.com/ruizrube" + "login": "Karanaiinfox", + "html_url": "https://github.com/Karanaiinfox" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3252, - "title": "Need to retain the old evaluation history results, including input and all ground truth", - "href": "https://github.com/orgs/langfuse/discussions/3252", - "created_at": "2024-09-06T03:29:17Z", + "number": 3393, + "title": "Self-Host evaluation feature", + "href": "https://github.com/orgs/langfuse/discussions/3393", + "created_at": "2024-09-18T07:55:30Z", "upvotes": 1, - "comment_count": 1, - "resolved": false, + "comment_count": 2, + "resolved": true, "labels": [ - "feat-datasets" + "feat-evals" ], "author": { - "login": "serlina", - "html_url": "https://github.com/serlina" + "login": "MayankBitcot", + "html_url": "https://github.com/MayankBitcot" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3243, - "title": "Add organization / project / user / API key management API", - "href": "https://github.com/orgs/langfuse/discussions/3243", - "created_at": "2024-09-05T08:10:12Z", - "upvotes": 9, - "comment_count": 5, + "number": 3392, + "title": "not able to track entire request end to end in langchain + langfuse", + "href": "https://github.com/orgs/langfuse/discussions/3392", + "created_at": "2024-09-18T07:08:49Z", + "upvotes": 1, + "comment_count": 2, "resolved": false, "labels": [ - "self-hosting" + "integration-langchain" ], "author": { - "login": "EricAntidot", - "html_url": "https://github.com/EricAntidot" + "login": "jaiswalvineet", + "html_url": "https://github.com/jaiswalvineet" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3240, - "title": "Ability to export all traces/sessions/scores from langfuse and import back to another langfuse instance", - "href": "https://github.com/orgs/langfuse/discussions/3240", - "created_at": "2024-09-05T07:11:48Z", - "upvotes": 5, - "comment_count": 1, + "number": 3379, + "title": "Feedback for “Langfuse Documentation”", + "href": "https://github.com/orgs/langfuse/discussions/3379", + "created_at": "2024-09-17T07:44:56Z", + "upvotes": 1, + "comment_count": 3, "resolved": false, - "labels": [ - "self-hosting" - ], + "labels": [], "author": { - "login": "SinghCoder", - "html_url": "https://github.com/SinghCoder" + "login": "Preet1234-ux", + "html_url": "https://github.com/Preet1234-ux" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3237, - "title": "Support for Selecting Specific Paths from JSON Objects in Evaluation Prompts", - "href": "https://github.com/orgs/langfuse/discussions/3237", - "created_at": "2024-09-05T05:05:48Z", - "upvotes": 2, - "comment_count": 2, - "resolved": false, + "number": 3364, + "title": "Hey want to change the Eval Templates name, can we do it from UI", + "href": "https://github.com/orgs/langfuse/discussions/3364", + "created_at": "2024-09-16T08:07:30Z", + "upvotes": 1, + "comment_count": 3, + "resolved": true, "labels": [ "feat-evals" ], @@ -2356,4279 +2322,4170 @@ "login": "divyanshubhuta", "html_url": "https://github.com/divyanshubhuta" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3220, - "title": "Trace Logprobs from OpenAI models", - "href": "https://github.com/orgs/langfuse/discussions/3220", - "created_at": "2024-09-04T01:25:15Z", - "upvotes": 2, - "comment_count": 0, + "number": 3344, + "title": "How to use langfuse with LangGraph Studio", + "href": "https://github.com/orgs/langfuse/discussions/3344", + "created_at": "2024-09-13T11:35:53Z", + "upvotes": 1, + "comment_count": 2, "resolved": false, "labels": [ - "integration-openai" + "integration-langchain" ], "author": { - "login": "yusuke-intern", - "html_url": "https://github.com/yusuke-intern" - }, - "category": "Ideas" - }, - { - "number": 3215, - "title": "(ui) Ability to hide \"scores\" column", - "href": "https://github.com/orgs/langfuse/discussions/3215", - "created_at": "2024-09-03T15:34:14Z", - "upvotes": 2, - "comment_count": 2, - "resolved": false, - "labels": [], - "author": { - "login": "marctorsoc", - "html_url": "https://github.com/marctorsoc" + "login": "debkanchan", + "html_url": "https://github.com/debkanchan" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3212, - "title": "Dataset run description and metadata should not be fixed on the page", - "href": "https://github.com/orgs/langfuse/discussions/3212", - "created_at": "2024-09-03T12:30:34Z", + "number": 3321, + "title": "Session ids for Langserve", + "href": "https://github.com/orgs/langfuse/discussions/3321", + "created_at": "2024-09-11T22:40:01Z", "upvotes": 1, "comment_count": 1, "resolved": false, "labels": [ - "feat-datasets" + "integration-langchain", + "feat-sessions" ], "author": { - "login": "justinas-kazanavicius", - "html_url": "https://github.com/justinas-kazanavicius" + "login": "YaphetKG", + "html_url": "https://github.com/YaphetKG" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3208, - "title": "Support for exporting traces to CSV/JSON", - "href": "https://github.com/orgs/langfuse/discussions/3208", - "created_at": "2024-09-03T08:00:36Z", - "upvotes": 4, - "comment_count": 2, - "resolved": false, + "number": 3313, + "title": "how to pass custom user managed model name to calculate the cost via langchain", + "href": "https://github.com/orgs/langfuse/discussions/3313", + "created_at": "2024-09-11T13:25:48Z", + "upvotes": 1, + "comment_count": 3, + "resolved": true, "labels": [ - "✅ Done" + "integration-langchain", + "feat-cost-tracking" ], "author": { - "login": "david1542", - "html_url": "https://github.com/david1542" + "login": "jaiswalvineet", + "html_url": "https://github.com/jaiswalvineet" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3194, - "title": "Optionally set timestamp when creating a score", - "href": "https://github.com/orgs/langfuse/discussions/3194", - "created_at": "2024-09-02T15:20:20Z", + "number": 3308, + "title": "Automated Prompt Management across Environments", + "href": "https://github.com/orgs/langfuse/discussions/3308", + "created_at": "2024-09-11T09:31:26Z", "upvotes": 1, "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [ - "feat-api", - "feat-scores" + "feat-prompt-management" ], "author": { - "login": "FlorDonnaSanders", - "html_url": "https://github.com/FlorDonnaSanders" + "login": "jonnyforsterMSG", + "html_url": "https://github.com/jonnyforsterMSG" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3186, - "title": "Setting trace ID and parent observation ID with Python decorator SDK", - "href": "https://github.com/orgs/langfuse/discussions/3186", - "created_at": "2024-09-02T09:27:36Z", + "number": 3307, + "title": "DataSet Scores are not being displayed", + "href": "https://github.com/orgs/langfuse/discussions/3307", + "created_at": "2024-09-11T08:46:31Z", "upvotes": 1, "comment_count": 3, - "resolved": false, + "resolved": true, "labels": [ - "✅ Done", - "integration-python-decorator" + "feat-datasets" ], "author": { - "login": "MrOrz", - "html_url": "https://github.com/MrOrz" + "login": "MaxYaz", + "html_url": "https://github.com/MaxYaz" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3181, - "title": "Log only metadata", - "href": "https://github.com/orgs/langfuse/discussions/3181", - "created_at": "2024-08-31T18:31:11Z", - "upvotes": 2, - "comment_count": 0, + "number": 3305, + "title": "bug: cost usage are not getting captured automatically from llm response", + "href": "https://github.com/orgs/langfuse/discussions/3305", + "created_at": "2024-09-11T05:02:03Z", + "upvotes": 1, + "comment_count": 2, "resolved": false, "labels": [], "author": { - "login": "jan-kubica", - "html_url": "https://github.com/jan-kubica" + "login": "ajeet6261", + "html_url": "https://github.com/ajeet6261" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3178, - "title": "The display time on the x-axis of the chart in the Dashboard shows only the date, without hours, minutes, and seconds.", - "href": "https://github.com/orgs/langfuse/discussions/3178", - "created_at": "2024-08-31T04:09:07Z", + "number": 3271, + "title": "Understanding pricing model (self-hosting vs cloud serving) from security perspective", + "href": "https://github.com/orgs/langfuse/discussions/3271", + "created_at": "2024-09-09T14:07:32Z", "upvotes": 1, - "comment_count": 1, + "comment_count": 2, "resolved": false, - "labels": [ - "bug", - "✅ Done", - "feat-dashboard" - ], + "labels": [], "author": { - "login": "HGladiator", - "html_url": "https://github.com/HGladiator" + "login": "uahmad235", + "html_url": "https://github.com/uahmad235" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3166, - "title": "Support Tool Calls / Functions in Playground", - "href": "https://github.com/orgs/langfuse/discussions/3166", - "created_at": "2024-08-30T20:04:34Z", - "upvotes": 14, - "comment_count": 10, + "number": 3267, + "title": "python decorator grouping in trace when using FastAPI Server Sent Events and Langraph + custom function", + "href": "https://github.com/orgs/langfuse/discussions/3267", + "created_at": "2024-09-09T11:10:00Z", + "upvotes": 1, + "comment_count": 4, "resolved": false, "labels": [ - "feat-playground" + "integration-langchain", + "integration-python-decorator" ], "author": { - "login": "yuyuma", - "html_url": "https://github.com/yuyuma" - }, - "category": "Ideas" - }, - { - "number": 3147, - "title": "Add the ability to search by message words in traces and scores", - "href": "https://github.com/orgs/langfuse/discussions/3147", - "created_at": "2024-08-30T08:02:32Z", - "upvotes": 4, - "comment_count": 0, - "resolved": false, - "labels": [], - "author": { - "login": "ValentinKovalev", - "html_url": "https://github.com/ValentinKovalev" + "login": "lixxvsky", + "html_url": "https://github.com/lixxvsky" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3131, - "title": "Diff of prompt versions", - "href": "https://github.com/orgs/langfuse/discussions/3131", - "created_at": "2024-08-29T11:43:24Z", - "upvotes": 6, + "number": 3254, + "title": "Vercel AI SDK and Svelte. How to push traces intermittently back to langfuse", + "href": "https://github.com/orgs/langfuse/discussions/3254", + "created_at": "2024-09-06T13:37:17Z", + "upvotes": 1, "comment_count": 1, "resolved": false, "labels": [ - "feat-prompt-management" + "integration-vercel-ai-sdk" ], "author": { - "login": "dylanjcastillo", - "html_url": "https://github.com/dylanjcastillo" + "login": "oghaAI", + "html_url": "https://github.com/oghaAI" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3129, - "title": "The LangchainCallbackHandler supports statistical delay of the first token", - "href": "https://github.com/orgs/langfuse/discussions/3129", - "created_at": "2024-08-29T09:26:11Z", - "upvotes": 3, - "comment_count": 2, + "number": 3210, + "title": "When using callbacks, the langfuse_context.update_current_trace method does not function properly.", + "href": "https://github.com/orgs/langfuse/discussions/3210", + "created_at": "2024-09-03T10:29:29Z", + "upvotes": 1, + "comment_count": 4, "resolved": false, - "labels": [ - "integration-langchain", - "✅ Done" - ], + "labels": [], "author": { - "login": "Hacky-DH", - "html_url": "https://github.com/Hacky-DH" + "login": "hgliyuhao", + "html_url": "https://github.com/hgliyuhao" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3112, - "title": "Request Role elevation from Langfuse UI", - "href": "https://github.com/orgs/langfuse/discussions/3112", - "created_at": "2024-08-28T13:15:21Z", + "number": 3207, + "title": "change of data region", + "href": "https://github.com/orgs/langfuse/discussions/3207", + "created_at": "2024-09-03T06:06:48Z", "upvotes": 1, - "comment_count": 0, - "resolved": false, - "labels": [ - "feat-rbac" - ], + "comment_count": 1, + "resolved": true, + "labels": [], "author": { - "login": "thund3rbrd", - "html_url": "https://github.com/thund3rbrd" + "login": "divyanshubhuta", + "html_url": "https://github.com/divyanshubhuta" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3111, - "title": "Improve RBAC", - "href": "https://github.com/orgs/langfuse/discussions/3111", - "created_at": "2024-08-28T13:08:57Z", + "number": 3191, + "title": "Evaluation config setup related query", + "href": "https://github.com/orgs/langfuse/discussions/3191", + "created_at": "2024-09-02T14:48:01Z", "upvotes": 1, - "comment_count": 0, + "comment_count": 2, "resolved": false, - "labels": [ - "feat-rbac" - ], + "labels": [], "author": { - "login": "thund3rbrd", - "html_url": "https://github.com/thund3rbrd" + "login": "divyanshubhuta", + "html_url": "https://github.com/divyanshubhuta" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3074, - "title": "Add \"image_url\" to Langfuse Prompt types.", - "href": "https://github.com/orgs/langfuse/discussions/3074", - "created_at": "2024-08-26T11:54:32Z", - "upvotes": 2, - "comment_count": 1, - "resolved": false, - "labels": [ - "feat-prompt-management" - ], + "number": 3182, + "title": "What does `version` means when ingesting trace?", + "href": "https://github.com/orgs/langfuse/discussions/3182", + "created_at": "2024-08-31T20:44:26Z", + "upvotes": 1, + "comment_count": 2, + "resolved": true, + "labels": [], "author": { - "login": "grobruegge", - "html_url": "https://github.com/grobruegge" + "login": "STRRL", + "html_url": "https://github.com/STRRL" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3062, - "title": "Support for OpenAI.client.chat.completions.with_raw_response", - "href": "https://github.com/orgs/langfuse/discussions/3062", - "created_at": "2024-08-24T12:55:39Z", + "number": 3176, + "title": "Get all the generations, events, etc. under Trace", + "href": "https://github.com/orgs/langfuse/discussions/3176", + "created_at": "2024-08-31T02:10:28Z", "upvotes": 1, "comment_count": 1, - "resolved": false, - "labels": [ - "integration-openai" - ], + "resolved": true, + "labels": [], "author": { - "login": "aman-gupta-doc", - "html_url": "https://github.com/aman-gupta-doc" + "login": "bytecod3r", + "html_url": "https://github.com/bytecod3r" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3053, - "title": "Being able to link Prompts with Traces when using the LangChain integration", - "href": "https://github.com/orgs/langfuse/discussions/3053", - "created_at": "2024-08-23T13:14:21Z", - "upvotes": 2, + "number": 3168, + "title": "usage pattern for new llamaindex integration", + "href": "https://github.com/orgs/langfuse/discussions/3168", + "created_at": "2024-08-30T20:23:17Z", + "upvotes": 1, "comment_count": 2, - "resolved": false, + "resolved": true, "labels": [ - "✅ Done" + "integraton-llamaindex" ], "author": { - "login": "jonnyforsterMSG", - "html_url": "https://github.com/jonnyforsterMSG" + "login": "erik-squared", + "html_url": "https://github.com/erik-squared" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3050, - "title": "Implement dataset removal method", - "href": "https://github.com/orgs/langfuse/discussions/3050", - "created_at": "2024-08-23T11:40:13Z", - "upvotes": 4, - "comment_count": 0, + "number": 3132, + "title": "Tracing ChatGoogleGenerativeAI calls in langchain doesn't return usage metadata", + "href": "https://github.com/orgs/langfuse/discussions/3132", + "created_at": "2024-08-29T13:09:13Z", + "upvotes": 1, + "comment_count": 1, "resolved": false, "labels": [ - "feat-datasets" + "integration-langchain" ], "author": { - "login": "justinas-kazanavicius", - "html_url": "https://github.com/justinas-kazanavicius" + "login": "NeerajG03", + "html_url": "https://github.com/NeerajG03" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3023, - "title": "Track openai token usage from stream_options instead of tokenizing the response server-side", - "href": "https://github.com/orgs/langfuse/discussions/3023", - "created_at": "2024-08-22T17:08:08Z", - "upvotes": 3, - "comment_count": 3, - "resolved": false, - "labels": [ - "integration-openai", - "✅ Done", - "feat-cost-tracking" - ], + "number": 3124, + "title": "Generation does not come under @observe trace", + "href": "https://github.com/orgs/langfuse/discussions/3124", + "created_at": "2024-08-29T00:28:14Z", + "upvotes": 1, + "comment_count": 2, + "resolved": true, + "labels": [], "author": { - "login": "kilimchoi", - "html_url": "https://github.com/kilimchoi" + "login": "SatheeshJM", + "html_url": "https://github.com/SatheeshJM" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3021, - "title": "Pre-defined user access", - "href": "https://github.com/orgs/langfuse/discussions/3021", - "created_at": "2024-08-22T16:08:19Z", + "number": 3120, + "title": "Langfuse 2.74.0 integration with Flowise 2.0.5", + "href": "https://github.com/orgs/langfuse/discussions/3120", + "created_at": "2024-08-28T20:18:19Z", "upvotes": 1, - "comment_count": 0, + "comment_count": 2, "resolved": false, - "labels": [ - "self-hosting" - ], + "labels": [], "author": { - "login": "LucasMagnum", - "html_url": "https://github.com/LucasMagnum" + "login": "harshad-c1", + "html_url": "https://github.com/harshad-c1" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3014, - "title": "Supports filter string using regular expression matching", - "href": "https://github.com/orgs/langfuse/discussions/3014", - "created_at": "2024-08-22T14:39:34Z", + "number": 3110, + "title": "How to set SMTP_CONNECTION_URL and reset password?", + "href": "https://github.com/orgs/langfuse/discussions/3110", + "created_at": "2024-08-28T10:05:06Z", "upvotes": 1, - "comment_count": 1, - "resolved": false, + "comment_count": 2, + "resolved": true, "labels": [], "author": { - "login": "chai3", - "html_url": "https://github.com/chai3" + "login": "zs856", + "html_url": "https://github.com/zs856" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3004, - "title": "Support for more modalities and base64 content", - "href": "https://github.com/orgs/langfuse/discussions/3004", - "created_at": "2024-08-22T09:50:47Z", - "upvotes": 45, - "comment_count": 17, - "resolved": false, + "number": 3105, + "title": "Dockerfile of langfuse/langfuse:2 image", + "href": "https://github.com/orgs/langfuse/discussions/3105", + "created_at": "2024-08-28T00:13:57Z", + "upvotes": 1, + "comment_count": 2, + "resolved": true, "labels": [ - "✅ Done", - "feat-multimodal" + "self-hosting" ], "author": { - "login": "marliessophie", - "html_url": "https://github.com/marliessophie" + "login": "pparreira", + "html_url": "https://github.com/pparreira" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2997, - "title": "Filter Span events in dashboard", - "href": "https://github.com/orgs/langfuse/discussions/2997", - "created_at": "2024-08-21T16:25:02Z", - "upvotes": 2, - "comment_count": 0, - "resolved": false, + "number": 3100, + "title": "Time to first token is not populating in trace detail or generations view", + "href": "https://github.com/orgs/langfuse/discussions/3100", + "created_at": "2024-08-27T20:12:14Z", + "upvotes": 1, + "comment_count": 2, + "resolved": true, "labels": [], "author": { - "login": "tagaretiro", - "html_url": "https://github.com/tagaretiro" + "login": "databloom", + "html_url": "https://github.com/databloom" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2987, - "title": "Claude/openai/google prompt caching", - "href": "https://github.com/orgs/langfuse/discussions/2987", - "created_at": "2024-08-21T04:18:55Z", - "upvotes": 5, - "comment_count": 4, + "number": 3099, + "title": "Pulling prompts by tag?", + "href": "https://github.com/orgs/langfuse/discussions/3099", + "created_at": "2024-08-27T20:01:45Z", + "upvotes": 1, + "comment_count": 1, "resolved": false, - "labels": [ - "feat-cost-tracking" - ], + "labels": [], "author": { - "login": "mrdrprofuroboros", - "html_url": "https://github.com/mrdrprofuroboros" + "login": "mayajosifo", + "html_url": "https://github.com/mayajosifo" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2978, - "title": "Unexpected event format when using `ibm-watsonx-ai` with LangChain extension", - "href": "https://github.com/orgs/langfuse/discussions/2978", - "created_at": "2024-08-20T11:20:28Z", + "number": 3092, + "title": "Deployment into Azure", + "href": "https://github.com/orgs/langfuse/discussions/3092", + "created_at": "2024-08-27T10:05:32Z", "upvotes": 1, - "comment_count": 0, - "resolved": false, + "comment_count": 2, + "resolved": true, "labels": [ - "integration-langchain" + "self-hosting" ], "author": { - "login": "barvhaim", - "html_url": "https://github.com/barvhaim" + "login": "GaryFail", + "html_url": "https://github.com/GaryFail" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2975, - "title": "fetch all users via sdk/api", - "href": "https://github.com/orgs/langfuse/discussions/2975", - "created_at": "2024-08-20T06:52:47Z", - "upvotes": 1, - "comment_count": 3, - "resolved": false, + "number": 3079, + "title": "How to change the Level to ERROR when there is an error in SPAN?", + "href": "https://github.com/orgs/langfuse/discussions/3079", + "created_at": "2024-08-26T15:46:23Z", + "upvotes": 3, + "comment_count": 2, + "resolved": true, "labels": [ - "feat-users" + "feat-log-levels" ], "author": { - "login": "vincent-larisma", - "html_url": "https://github.com/vincent-larisma" + "login": "kftam1994", + "html_url": "https://github.com/kftam1994" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2967, - "title": "Tag based usage", - "href": "https://github.com/orgs/langfuse/discussions/2967", - "created_at": "2024-08-19T07:13:26Z", + "number": 3056, + "title": "Support for configuring SMTP email at project level", + "href": "https://github.com/orgs/langfuse/discussions/3056", + "created_at": "2024-08-23T14:41:45Z", "upvotes": 1, "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [ - "feat-dashboard", - "feat-tags" + "self-hosting" ], "author": { - "login": "aakash-vwo", - "html_url": "https://github.com/aakash-vwo" + "login": "rvndbalaji", + "html_url": "https://github.com/rvndbalaji" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2949, - "title": "Auto-patching Langchain to include Langfuse callback handler", - "href": "https://github.com/orgs/langfuse/discussions/2949", - "created_at": "2024-08-15T12:17:32Z", - "upvotes": 3, + "number": 3003, + "title": "Example GenAI bot with guardrails", + "href": "https://github.com/orgs/langfuse/discussions/3003", + "created_at": "2024-08-22T06:37:29Z", + "upvotes": 1, "comment_count": 1, "resolved": false, - "labels": [ - "integration-langchain" - ], + "labels": [], "author": { - "login": "kongzii", - "html_url": "https://github.com/kongzii" + "login": "wangxj03", + "html_url": "https://github.com/wangxj03" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2923, - "title": "Feature: Add CAS (and maybe SAML) as a authentication method", - "href": "https://github.com/orgs/langfuse/discussions/2923", - "created_at": "2024-08-13T17:18:42Z", - "upvotes": 2, - "comment_count": 1, - "resolved": false, + "number": 2990, + "title": "[Question] using langfuse with llama_index", + "href": "https://github.com/orgs/langfuse/discussions/2990", + "created_at": "2024-08-21T08:00:59Z", + "upvotes": 1, + "comment_count": 2, + "resolved": true, "labels": [ - "self-hosting" + "integraton-llamaindex" ], "author": { - "login": "jayteaftw", - "html_url": "https://github.com/jayteaftw" + "login": "nightosong", + "html_url": "https://github.com/nightosong" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2919, - "title": "Adding access to User's sessions directly", - "href": "https://github.com/orgs/langfuse/discussions/2919", - "created_at": "2024-08-13T12:42:16Z", + "number": 2988, + "title": "Non-langchain generation nested within LangGraph execution", + "href": "https://github.com/orgs/langfuse/discussions/2988", + "created_at": "2024-08-21T05:13:51Z", "upvotes": 1, - "comment_count": 0, - "resolved": false, + "comment_count": 2, + "resolved": true, "labels": [ - "feat-users", - "feat-sessions" + "integration-langchain" ], "author": { - "login": "Youneesz", - "html_url": "https://github.com/Youneesz" + "login": "mrdrprofuroboros", + "html_url": "https://github.com/mrdrprofuroboros" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2883, - "title": "Compare two dataset runs side by side", - "href": "https://github.com/orgs/langfuse/discussions/2883", - "created_at": "2024-08-09T10:40:05Z", - "upvotes": 5, + "number": 2983, + "title": "Tracing directly to queue instead of http api", + "href": "https://github.com/orgs/langfuse/discussions/2983", + "created_at": "2024-08-20T14:33:17Z", + "upvotes": 0, "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [ - "feat-datasets" + "self-hosting" ], "author": { - "login": "dmaslov", - "html_url": "https://github.com/dmaslov" + "login": "exotikh3", + "html_url": "https://github.com/exotikh3" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2881, - "title": "feat (ui): Collapse sidebar by default", - "href": "https://github.com/orgs/langfuse/discussions/2881", - "created_at": "2024-08-09T10:03:39Z", + "number": 3901, + "title": "How to resolve memory leak when integrating Langfuse with LangChain", + "href": "https://github.com/orgs/langfuse/discussions/3901", + "created_at": "2024-08-20T03:14:45Z", "upvotes": 1, - "comment_count": 5, - "resolved": false, + "comment_count": 6, + "resolved": true, "labels": [ - "ui" + "integration-langchain" ], "author": { - "login": "marctorsoc", - "html_url": "https://github.com/marctorsoc" + "login": "ivan-94", + "html_url": "https://github.com/ivan-94" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2877, - "title": "Make langfuse deployable to AWS Lambda", - "href": "https://github.com/orgs/langfuse/discussions/2877", - "created_at": "2024-08-09T08:24:14Z", - "upvotes": 3, + "number": 2959, + "title": "Duplicate usage data in observation api endpoint response", + "href": "https://github.com/orgs/langfuse/discussions/2959", + "created_at": "2024-08-16T10:57:00Z", + "upvotes": 1, "comment_count": 2, - "resolved": false, + "resolved": true, "labels": [], "author": { - "login": "MeddahAbdellah", - "html_url": "https://github.com/MeddahAbdellah" + "login": "jonnyforsterMSG", + "html_url": "https://github.com/jonnyforsterMSG" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2870, - "title": "custom base path deployments", - "href": "https://github.com/orgs/langfuse/discussions/2870", - "created_at": "2024-08-08T13:15:51Z", + "number": 2958, + "title": "Time to first token query", + "href": "https://github.com/orgs/langfuse/discussions/2958", + "created_at": "2024-08-16T10:08:42Z", "upvotes": 1, - "comment_count": 1, + "comment_count": 2, "resolved": false, "labels": [], "author": { - "login": "marioweid", - "html_url": "https://github.com/marioweid" - }, - "category": "Ideas" - }, - { - "number": 2864, - "title": "Add Bedrock Guardrails to the LLM Security documentation", - "href": "https://github.com/orgs/langfuse/discussions/2864", - "created_at": "2024-08-07T23:56:05Z", - "upvotes": 2, - "comment_count": 0, - "resolved": false, - "labels": [ - "feat-llm-security", - "integration-amazon-bedrock" - ], - "author": { - "login": "wirjo", - "html_url": "https://github.com/wirjo" + "login": "GaryFail", + "html_url": "https://github.com/GaryFail" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2863, - "title": "Add AWS as a deployment option in the documentation", - "href": "https://github.com/orgs/langfuse/discussions/2863", - "created_at": "2024-08-07T23:53:40Z", - "upvotes": 3, + "number": 2952, + "title": "Locally hosted PrivateGPT + pgpt_python + Langfuse", + "href": "https://github.com/orgs/langfuse/discussions/2952", + "created_at": "2024-08-15T15:12:16Z", + "upvotes": 1, "comment_count": 1, "resolved": false, - "labels": [ - "✅ Done", - "self-hosting" - ], + "labels": [], "author": { - "login": "wirjo", - "html_url": "https://github.com/wirjo" + "login": "qdingle404", + "html_url": "https://github.com/qdingle404" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2850, - "title": "Feat (ui): Move columns", - "href": "https://github.com/orgs/langfuse/discussions/2850", - "created_at": "2024-08-07T11:55:55Z", + "number": 2945, + "title": "Unit of token count for cost analysis", + "href": "https://github.com/orgs/langfuse/discussions/2945", + "created_at": "2024-08-15T09:33:59Z", "upvotes": 1, - "comment_count": 0, - "resolved": false, + "comment_count": 1, + "resolved": true, "labels": [], "author": { - "login": "marctorsoc", - "html_url": "https://github.com/marctorsoc" + "login": "thomasjv799", + "html_url": "https://github.com/thomasjv799" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2848, - "title": "Feat: Allow not sorting tags", - "href": "https://github.com/orgs/langfuse/discussions/2848", - "created_at": "2024-08-07T11:50:44Z", + "number": 2933, + "title": "how to return trace_id in openai completion response when using langfuse as a proxy in litellm?", + "href": "https://github.com/orgs/langfuse/discussions/2933", + "created_at": "2024-08-14T07:52:30Z", "upvotes": 1, - "comment_count": 1, - "resolved": false, + "comment_count": 2, + "resolved": true, "labels": [ - "feat-tags" + "integration-litellm" ], "author": { - "login": "marctorsoc", - "html_url": "https://github.com/marctorsoc" + "login": "octadion", + "html_url": "https://github.com/octadion" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2823, - "title": "Need support for ChatOCIGenAI", - "href": "https://github.com/orgs/langfuse/discussions/2823", - "created_at": "2024-08-05T13:34:30Z", - "upvotes": 2, - "comment_count": 0, - "resolved": false, - "labels": [], + "number": 2927, + "title": "Span created with Langchain not showing up in traces.", + "href": "https://github.com/orgs/langfuse/discussions/2927", + "created_at": "2024-08-13T20:32:35Z", + "upvotes": 1, + "comment_count": 2, + "resolved": true, + "labels": [ + "integration-langchain" + ], "author": { - "login": "engchina", - "html_url": "https://github.com/engchina" + "login": "HardKothari", + "html_url": "https://github.com/HardKothari" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2821, - "title": "Need API endpoints to add projects and users", - "href": "https://github.com/orgs/langfuse/discussions/2821", - "created_at": "2024-08-05T13:10:49Z", - "upvotes": 2, - "comment_count": 1, - "resolved": false, - "labels": [], + "number": 2909, + "title": "Change port database in file docker-compose.yml", + "href": "https://github.com/orgs/langfuse/discussions/2909", + "created_at": "2024-08-13T08:05:37Z", + "upvotes": 1, + "comment_count": 2, + "resolved": true, + "labels": [ + "self-hosting" + ], "author": { - "login": "kameshbrao", - "html_url": "https://github.com/kameshbrao" + "login": "hungvipqt15", + "html_url": "https://github.com/hungvipqt15" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2812, - "title": "Could you make the Prompt label 36 char long?", - "href": "https://github.com/orgs/langfuse/discussions/2812", - "created_at": "2024-08-02T11:03:08Z", + "number": 2907, + "title": "Change port connection in docker compose", + "href": "https://github.com/orgs/langfuse/discussions/2907", + "created_at": "2024-08-13T06:40:30Z", "upvotes": 1, "comment_count": 1, "resolved": false, "labels": [ - "feat-prompt-management", - "✅ Done" + "self-hosting" ], "author": { - "login": "DevSageH", - "html_url": "https://github.com/DevSageH" + "login": "hungvipqt15", + "html_url": "https://github.com/hungvipqt15" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2810, - "title": "Enable setting a label to an existing prompt version via the api/sdk.", - "href": "https://github.com/orgs/langfuse/discussions/2810", - "created_at": "2024-08-01T16:53:06Z", - "upvotes": 10, - "comment_count": 4, - "resolved": false, + "number": 2904, + "title": "How to append current trace when calling function second time?", + "href": "https://github.com/orgs/langfuse/discussions/2904", + "created_at": "2024-08-12T15:12:22Z", + "upvotes": 2, + "comment_count": 2, + "resolved": true, "labels": [ - "feat-prompt-management" + "integration-python-decorator" ], "author": { - "login": "ClementNguyen", - "html_url": "https://github.com/ClementNguyen" + "login": "nathan-vo810", + "html_url": "https://github.com/nathan-vo810" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2797, - "title": "Enable list_prompts/search_prompts using client", - "href": "https://github.com/orgs/langfuse/discussions/2797", - "created_at": "2024-07-31T13:45:38Z", - "upvotes": 4, - "comment_count": 2, - "resolved": false, - "labels": [ - "feat-prompt-management" - ], + "number": 2895, + "title": "How to update an event", + "href": "https://github.com/orgs/langfuse/discussions/2895", + "created_at": "2024-08-11T16:51:18Z", + "upvotes": 1, + "comment_count": 1, + "resolved": true, + "labels": [], "author": { - "login": "krlng", - "html_url": "https://github.com/krlng" + "login": "bytecod3r", + "html_url": "https://github.com/bytecod3r" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2781, - "title": "Add support for custom serialization of observation fields", - "href": "https://github.com/orgs/langfuse/discussions/2781", - "created_at": "2024-07-29T18:49:03Z", - "upvotes": 1, + "number": 2888, + "title": "How to change the level of a trace?", + "href": "https://github.com/orgs/langfuse/discussions/2888", + "created_at": "2024-08-09T14:35:34Z", + "upvotes": 3, "comment_count": 2, - "resolved": false, + "resolved": true, "labels": [ - "sdk-python" + "feat-log-levels" ], "author": { - "login": "ashamlian-roadway", - "html_url": "https://github.com/ashamlian-roadway" + "login": "ldbolanos", + "html_url": "https://github.com/ldbolanos" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2770, - "title": "Add clickable link to the 'release' kwargs in a Trace - this will route to the documentations/change log of that release/version", - "href": "https://github.com/orgs/langfuse/discussions/2770", - "created_at": "2024-07-28T07:08:07Z", + "number": 2879, + "title": "ERROR:langfuse:status_code: 404, body: {'message': 'Trace not found within authorized project', 'error': 'LangfuseNotFoundError'}", + "href": "https://github.com/orgs/langfuse/discussions/2879", + "created_at": "2024-08-09T09:31:33Z", "upvotes": 1, - "comment_count": 0, + "comment_count": 3, "resolved": false, "labels": [], "author": { - "login": "stepanogil", - "html_url": "https://github.com/stepanogil" + "login": "nithin1995", + "html_url": "https://github.com/nithin1995" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2766, - "title": "Support Exporting LangSmith Run Traces into Langfuse!", - "href": "https://github.com/orgs/langfuse/discussions/2766", - "created_at": "2024-07-27T02:34:44Z", - "upvotes": 3, - "comment_count": 1, - "resolved": false, - "labels": [], - "author": { - "login": "p-barman", - "html_url": "https://github.com/p-barman" - }, - "category": "Ideas" - }, - { - "number": 2747, - "title": "A new configuration env variable for custom URL prefix", - "href": "https://github.com/orgs/langfuse/discussions/2747", - "created_at": "2024-07-25T17:00:57Z", + "number": 2874, + "title": "Does langfuse trace parallel api calls? I tried a sample with parallel call but it didn't traced.", + "href": "https://github.com/orgs/langfuse/discussions/2874", + "created_at": "2024-08-09T05:09:26Z", "upvotes": 1, - "comment_count": 1, + "comment_count": 4, "resolved": false, "labels": [], "author": { - "login": "abdullah-retorio", - "html_url": "https://github.com/abdullah-retorio" + "login": "ksundarraj-c-rpx", + "html_url": "https://github.com/ksundarraj-c-rpx" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2746, - "title": "Returning prompts from expired cache may be disabled using a boolean argument", - "href": "https://github.com/orgs/langfuse/discussions/2746", - "created_at": "2024-07-25T15:57:26Z", + "number": 2871, + "title": "Self-hosted Langfuse running as a Google cloud service not showing traces", + "href": "https://github.com/orgs/langfuse/discussions/2871", + "created_at": "2024-08-08T13:40:34Z", "upvotes": 1, - "comment_count": 1, - "resolved": false, + "comment_count": 2, + "resolved": true, "labels": [ - "feat-prompt-management" + "🐞❔ unconfirmed bug" ], "author": { - "login": "ogunoz", - "html_url": "https://github.com/ogunoz" + "login": "SectumPsempra", + "html_url": "https://github.com/SectumPsempra" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2745, - "title": "Lazy fallback for get_prompt", - "href": "https://github.com/orgs/langfuse/discussions/2745", - "created_at": "2024-07-25T15:50:32Z", + "number": 2867, + "title": "Using the API to record traces from multiple platforms?", + "href": "https://github.com/orgs/langfuse/discussions/2867", + "created_at": "2024-08-08T13:15:49Z", "upvotes": 1, "comment_count": 1, "resolved": false, - "labels": [ - "feat-prompt-management" - ], + "labels": [], "author": { - "login": "ogunoz", - "html_url": "https://github.com/ogunoz" + "login": "appliraz", + "html_url": "https://github.com/appliraz" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2738, - "title": "Set variables in playground from dataset", - "href": "https://github.com/orgs/langfuse/discussions/2738", - "created_at": "2024-07-25T09:27:30Z", - "upvotes": 4, - "comment_count": 2, - "resolved": false, - "labels": [ - "feat-datasets", - "feat-playground" - ], + "number": 2858, + "title": "Langfuse observeOpenAI not logging generations using new zodResponseFormat.", + "href": "https://github.com/orgs/langfuse/discussions/2858", + "created_at": "2024-08-07T21:45:41Z", + "upvotes": 1, + "comment_count": 3, + "resolved": true, + "labels": [], "author": { - "login": "hbenyamina", - "html_url": "https://github.com/hbenyamina" + "login": "fabstu", + "html_url": "https://github.com/fabstu" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2729, - "title": "Comment thread on Traces", - "href": "https://github.com/orgs/langfuse/discussions/2729", - "created_at": "2024-07-24T13:52:51Z", + "number": 2852, + "title": "How run Langfuse evaluations over specifics spans?", + "href": "https://github.com/orgs/langfuse/discussions/2852", + "created_at": "2024-08-07T13:40:02Z", "upvotes": 1, - "comment_count": 3, - "resolved": false, + "comment_count": 2, + "resolved": true, "labels": [ - "✅ Done", - "feat-comments" + "integration-langchain", + "feat-evals" ], "author": { - "login": "guptakvgaurav", - "html_url": "https://github.com/guptakvgaurav" + "login": "joaoCrulhas", + "html_url": "https://github.com/joaoCrulhas" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2728, - "title": "Session-level scores", - "href": "https://github.com/orgs/langfuse/discussions/2728", - "created_at": "2024-07-24T10:05:40Z", - "upvotes": 3, + "number": 2844, + "title": "LangFuse not logging LlamaIndex events", + "href": "https://github.com/orgs/langfuse/discussions/2844", + "created_at": "2024-08-07T10:46:19Z", + "upvotes": 2, "comment_count": 3, "resolved": false, "labels": [ - "feat-scores", - "feat-sessions" + "integraton-llamaindex" ], "author": { - "login": "felixsg", - "html_url": "https://github.com/felixsg" + "login": "adieyal", + "html_url": "https://github.com/adieyal" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2721, - "title": "Add note on each prompt version", - "href": "https://github.com/orgs/langfuse/discussions/2721", - "created_at": "2024-07-23T14:48:02Z", - "upvotes": 2, + "number": 2830, + "title": "UpdateRoot in the callback handler seems not work", + "href": "https://github.com/orgs/langfuse/discussions/2830", + "created_at": "2024-08-06T08:58:25Z", + "upvotes": 1, "comment_count": 1, - "resolved": false, - "labels": [ - "feat-prompt-management" - ], + "resolved": true, + "labels": [], "author": { - "login": "cubxxw", - "html_url": "https://github.com/cubxxw" + "login": "joaoCrulhas", + "html_url": "https://github.com/joaoCrulhas" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2720, - "title": "Feature request [UI]: Remember column selection PER project in Traces view", - "href": "https://github.com/orgs/langfuse/discussions/2720", - "created_at": "2024-07-23T13:53:38Z", + "number": 2828, + "title": "Issue: Integration of Langfuse with DSPy Framework - Zero Values for Cost and Token Usage", + "href": "https://github.com/orgs/langfuse/discussions/2828", + "created_at": "2024-08-06T05:55:30Z", "upvotes": 1, - "comment_count": 2, - "resolved": false, - "labels": [], + "comment_count": 3, + "resolved": true, + "labels": [ + "integration-dspy" + ], "author": { - "login": "justingodden", - "html_url": "https://github.com/justingodden" + "login": "mahitha-29", + "html_url": "https://github.com/mahitha-29" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2710, - "title": "Support JSON messages in prompt management", - "href": "https://github.com/orgs/langfuse/discussions/2710", - "created_at": "2024-07-23T01:59:12Z", - "upvotes": 1, - "comment_count": 0, - "resolved": false, + "number": 2817, + "title": "Praise for the Langfuse library! 🚀", + "href": "https://github.com/orgs/langfuse/discussions/2817", + "created_at": "2024-08-03T10:53:41Z", + "upvotes": 2, + "comment_count": 1, + "resolved": true, "labels": [], "author": { - "login": "jasonslyvia", - "html_url": "https://github.com/jasonslyvia" + "login": "ttamg", + "html_url": "https://github.com/ttamg" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2704, - "title": "Deleting user's traces via API to be GDPR compliant", - "href": "https://github.com/orgs/langfuse/discussions/2704", - "created_at": "2024-07-22T12:03:22Z", - "upvotes": 8, + "number": 2809, + "title": "No space left on device db error", + "href": "https://github.com/orgs/langfuse/discussions/2809", + "created_at": "2024-08-01T15:10:52Z", + "upvotes": 1, "comment_count": 2, - "resolved": false, - "labels": [], + "resolved": true, + "labels": [ + "self-hosting" + ], "author": { - "login": "Stormyy", - "html_url": "https://github.com/Stormyy" + "login": "nithin1995", + "html_url": "https://github.com/nithin1995" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2699, - "title": "Schemad or structured configuration for prompt", - "href": "https://github.com/orgs/langfuse/discussions/2699", - "created_at": "2024-07-22T02:29:13Z", + "number": 2808, + "title": "Dynamic prompt generation", + "href": "https://github.com/orgs/langfuse/discussions/2808", + "created_at": "2024-08-01T14:41:48Z", "upvotes": 1, - "comment_count": 1, - "resolved": false, + "comment_count": 2, + "resolved": true, "labels": [ "feat-prompt-management" ], "author": { - "login": "jasonslyvia", - "html_url": "https://github.com/jasonslyvia" + "login": "LLazzar", + "html_url": "https://github.com/LLazzar" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2697, - "title": "A transparent mode", - "href": "https://github.com/orgs/langfuse/discussions/2697", - "created_at": "2024-07-21T20:55:43Z", + "number": 2801, + "title": "Unable to update generation span after LLM invocation", + "href": "https://github.com/orgs/langfuse/discussions/2801", + "created_at": "2024-08-01T03:23:15Z", "upvotes": 1, - "comment_count": 1, - "resolved": false, - "labels": [], + "comment_count": 2, + "resolved": true, + "labels": [ + "integration-langchain" + ], "author": { - "login": "emsi", - "html_url": "https://github.com/emsi" + "login": "Heucles", + "html_url": "https://github.com/Heucles" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2684, - "title": "Langfuse batch prompts api should return prompt configs as well", - "href": "https://github.com/orgs/langfuse/discussions/2684", - "created_at": "2024-07-19T10:05:45Z", - "upvotes": 2, + "number": 2787, + "title": "Self-hosted (Railway) Authorization error (401) while connecting to host", + "href": "https://github.com/orgs/langfuse/discussions/2787", + "created_at": "2024-07-30T19:23:59Z", + "upvotes": 1, "comment_count": 3, "resolved": false, - "labels": [ - "feat-prompt-management", - "✅ Done" - ], + "labels": [], "author": { - "login": "ashutoshsaboo", - "html_url": "https://github.com/ashutoshsaboo" + "login": "vishnumallela", + "html_url": "https://github.com/vishnumallela" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2669, - "title": "Visualisation of graph execution", - "href": "https://github.com/orgs/langfuse/discussions/2669", - "created_at": "2024-07-18T08:44:03Z", - "upvotes": 2, - "comment_count": 1, - "resolved": false, - "labels": [], + "number": 2769, + "title": "Continue trace on Celery worker with observe decorator", + "href": "https://github.com/orgs/langfuse/discussions/2769", + "created_at": "2024-07-27T18:23:13Z", + "upvotes": 1, + "comment_count": 2, + "resolved": true, + "labels": [ + "integration-python-decorator" + ], "author": { - "login": "VMinB12", - "html_url": "https://github.com/VMinB12" + "login": "artefactop", + "html_url": "https://github.com/artefactop" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2668, - "title": "I want to say something about user feedback", - "href": "https://github.com/orgs/langfuse/discussions/2668", - "created_at": "2024-07-18T07:57:50Z", + "number": 2768, + "title": "How do i register the token count and cost for observe decorator", + "href": "https://github.com/orgs/langfuse/discussions/2768", + "created_at": "2024-07-27T14:47:58Z", "upvotes": 1, - "comment_count": 1, - "resolved": false, - "labels": [], + "comment_count": 2, + "resolved": true, + "labels": [ + "integration-python-decorator", + "feat-cost-tracking" + ], "author": { - "login": "cubxxw", - "html_url": "https://github.com/cubxxw" + "login": "yevkim", + "html_url": "https://github.com/yevkim" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2664, - "title": "Prompts are supported for export", - "href": "https://github.com/orgs/langfuse/discussions/2664", - "created_at": "2024-07-18T00:43:12Z", + "number": 2767, + "title": "Missing evaluation metrics", + "href": "https://github.com/orgs/langfuse/discussions/2767", + "created_at": "2024-07-27T05:07:56Z", "upvotes": 1, - "comment_count": 1, - "resolved": false, + "comment_count": 2, + "resolved": true, "labels": [], "author": { - "login": "cubxxw", - "html_url": "https://github.com/cubxxw" + "login": "MayankBitcot", + "html_url": "https://github.com/MayankBitcot" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2653, - "title": "Web page request is a little slow, whether to consider using golang to reconstruct", - "href": "https://github.com/orgs/langfuse/discussions/2653", - "created_at": "2024-07-17T07:08:45Z", - "upvotes": 1, + "number": 2736, + "title": "Ability to upload Cost and Usage metrics in Langfuse for Gemini Models from LlamaIndex", + "href": "https://github.com/orgs/langfuse/discussions/2736", + "created_at": "2024-07-25T06:17:14Z", + "upvotes": 2, "comment_count": 1, "resolved": false, - "labels": [], + "labels": [ + "integraton-llamaindex", + "feat-cost-tracking" + ], "author": { - "login": "cubxxw", - "html_url": "https://github.com/cubxxw" + "login": "ansu86d", + "html_url": "https://github.com/ansu86d" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2642, - "title": "Add ability to add name or label to a Langfuse API key", - "href": "https://github.com/orgs/langfuse/discussions/2642", - "created_at": "2024-07-16T17:08:42Z", - "upvotes": 5, - "comment_count": 1, - "resolved": false, + "number": 2735, + "title": "Deployment on K8s", + "href": "https://github.com/orgs/langfuse/discussions/2735", + "created_at": "2024-07-25T04:38:19Z", + "upvotes": 1, + "comment_count": 2, + "resolved": true, "labels": [], "author": { - "login": "agibralter", - "html_url": "https://github.com/agibralter" + "login": "nithin1995", + "html_url": "https://github.com/nithin1995" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2625, - "title": "Track Openai Assistant API costs", - "href": "https://github.com/orgs/langfuse/discussions/2625", - "created_at": "2024-07-15T07:50:18Z", - "upvotes": 4, - "comment_count": 0, + "number": 2718, + "title": "How to ignore inputs when using LangChain?", + "href": "https://github.com/orgs/langfuse/discussions/2718", + "created_at": "2024-07-23T10:58:07Z", + "upvotes": 2, + "comment_count": 3, "resolved": false, "labels": [ - "integration-openai" + "integration-langchain" ], "author": { - "login": "christos-bsq", - "html_url": "https://github.com/christos-bsq" + "login": "justingodden", + "html_url": "https://github.com/justingodden" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2624, - "title": "Add tool / function calling and tool messages to Prompt Management", - "href": "https://github.com/orgs/langfuse/discussions/2624", - "created_at": "2024-07-15T06:49:50Z", - "upvotes": 3, - "comment_count": 0, - "resolved": false, + "number": 2716, + "title": "Langgraph with langfuse", + "href": "https://github.com/orgs/langfuse/discussions/2716", + "created_at": "2024-07-23T09:12:20Z", + "upvotes": 1, + "comment_count": 4, + "resolved": true, "labels": [ - "feat-prompt-management" + "integration-langchain" ], "author": { - "login": "eloko7", - "html_url": "https://github.com/eloko7" + "login": "MayankBitcot", + "html_url": "https://github.com/MayankBitcot" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2622, - "title": "Inbuild langfuse tracing.", - "href": "https://github.com/orgs/langfuse/discussions/2622", - "created_at": "2024-07-13T10:39:13Z", + "number": 2714, + "title": "Using langfuse without saving promps", + "href": "https://github.com/orgs/langfuse/discussions/2714", + "created_at": "2024-07-23T08:44:44Z", "upvotes": 1, - "comment_count": 0, - "resolved": false, + "comment_count": 2, + "resolved": true, "labels": [], "author": { - "login": "rashid-globallogic", - "html_url": "https://github.com/rashid-globallogic" + "login": "molntamas", + "html_url": "https://github.com/molntamas" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2605, - "title": "DSPy tracing", - "href": "https://github.com/orgs/langfuse/discussions/2605", - "created_at": "2024-07-10T12:52:35Z", - "upvotes": 2, - "comment_count": 1, + "number": 2712, + "title": "cannot execute INSERT in a read-only transaction", + "href": "https://github.com/orgs/langfuse/discussions/2712", + "created_at": "2024-07-23T07:49:30Z", + "upvotes": 1, + "comment_count": 2, "resolved": false, "labels": [ - "integrations", - "✅ Done", - "integration-dspy" + "self-hosting" ], "author": { - "login": "paolotamag", - "html_url": "https://github.com/paolotamag" + "login": "damianradowiecki", + "html_url": "https://github.com/damianradowiecki" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2586, - "title": "Feat: Ability to change curreny for model usage costs.", - "href": "https://github.com/orgs/langfuse/discussions/2586", - "created_at": "2024-07-09T15:40:22Z", + "number": 2706, + "title": "Disable tracing of input and output for nested elements with in a chain.", + "href": "https://github.com/orgs/langfuse/discussions/2706", + "created_at": "2024-07-22T16:17:53Z", "upvotes": 2, "comment_count": 1, "resolved": false, - "labels": [ - "feat-cost-tracking" - ], + "labels": [], "author": { - "login": "jannikstdl", - "html_url": "https://github.com/jannikstdl" + "login": "jaitd", + "html_url": "https://github.com/jaitd" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2578, - "title": "Conditional Trace Content/Message submission", - "href": "https://github.com/orgs/langfuse/discussions/2578", - "created_at": "2024-07-09T09:57:26Z", - "upvotes": 3, + "number": 2705, + "title": "Support for adding traces/observations/sessions/events/spans/generations related logging to LF via API", + "href": "https://github.com/orgs/langfuse/discussions/2705", + "created_at": "2024-07-22T12:57:05Z", + "upvotes": 1, "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [], "author": { - "login": "simonwh", - "html_url": "https://github.com/simonwh" + "login": "ashutoshsaboo", + "html_url": "https://github.com/ashutoshsaboo" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2577, - "title": "Detailed and Interactive Plot Visualization like WandB", - "href": "https://github.com/orgs/langfuse/discussions/2577", - "created_at": "2024-07-09T09:19:38Z", + "number": 2671, + "title": "Cannot connect prompt to trace when using Langchain AzureChatOpenai", + "href": "https://github.com/orgs/langfuse/discussions/2671", + "created_at": "2024-07-18T13:30:14Z", "upvotes": 1, - "comment_count": 3, + "comment_count": 2, "resolved": false, "labels": [], "author": { - "login": "yusuke-intern", - "html_url": "https://github.com/yusuke-intern" + "login": "nihadazimli", + "html_url": "https://github.com/nihadazimli" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2576, - "title": "Log prob on Langfuse", - "href": "https://github.com/orgs/langfuse/discussions/2576", - "created_at": "2024-07-09T09:16:23Z", - "upvotes": 1, + "number": 2658, + "title": "how to customize trace id when using callback handler in langchain integration", + "href": "https://github.com/orgs/langfuse/discussions/2658", + "created_at": "2024-07-17T13:38:18Z", + "upvotes": 3, + "comment_count": 2, + "resolved": true, + "labels": [ + "integration-langchain" + ], + "author": { + "login": "shawnzhu", + "html_url": "https://github.com/shawnzhu" + }, + "category": "Support" + }, + { + "number": 2640, + "title": "Adding Scores to langfuse with dify", + "href": "https://github.com/orgs/langfuse/discussions/2640", + "created_at": "2024-07-16T16:00:11Z", + "upvotes": 2, "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [ - "integration-openai" + "integration-dify" ], "author": { - "login": "yusuke-intern", - "html_url": "https://github.com/yusuke-intern" + "login": "shaquelsamir", + "html_url": "https://github.com/shaquelsamir" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2573, - "title": "Prompt Cataloguing and prompt github", - "href": "https://github.com/orgs/langfuse/discussions/2573", - "created_at": "2024-07-08T20:05:23Z", + "number": 2619, + "title": "How to add a function to current trace instead of seperate since it's outside lcel chain?", + "href": "https://github.com/orgs/langfuse/discussions/2619", + "created_at": "2024-07-12T07:08:47Z", "upvotes": 1, "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [ - "feat-prompt-management" + "integration-langchain" ], "author": { - "login": "kunal2002", - "html_url": "https://github.com/kunal2002" + "login": "sarim2000", + "html_url": "https://github.com/sarim2000" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2571, - "title": "If Data/Metadata given to Langfuse SDK that exceeds Langfuse's limit, log/throw/emit Stack Trace", - "href": "https://github.com/orgs/langfuse/discussions/2571", - "created_at": "2024-07-08T15:17:52Z", + "number": 2616, + "title": "Weird Output for scores when using fetch_traces()", + "href": "https://github.com/orgs/langfuse/discussions/2616", + "created_at": "2024-07-11T12:46:23Z", "upvotes": 1, - "comment_count": 1, + "comment_count": 2, "resolved": false, "labels": [], "author": { - "login": "josiahbryan", - "html_url": "https://github.com/josiahbryan" + "login": "kevinpkaria", + "html_url": "https://github.com/kevinpkaria" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2539, - "title": "Include request's `tools` configuration in OpenAI LLM calls", - "href": "https://github.com/orgs/langfuse/discussions/2539", - "created_at": "2024-07-04T11:39:43Z", - "upvotes": 2, + "number": 2600, + "title": "Add input Price and Output price for gemini-1.5-pro and gemini-1.5-flash in Models", + "href": "https://github.com/orgs/langfuse/discussions/2600", + "created_at": "2024-07-10T09:52:23Z", + "upvotes": 4, "comment_count": 1, "resolved": false, - "labels": [ - "integration-openai" - ], + "labels": [], "author": { - "login": "ricwo", - "html_url": "https://github.com/ricwo" + "login": "fjeanchar", + "html_url": "https://github.com/fjeanchar" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2534, - "title": "Simple graphs and metrics for scores and evaluations", - "href": "https://github.com/orgs/langfuse/discussions/2534", - "created_at": "2024-07-03T17:14:42Z", - "upvotes": 2, + "number": 2599, + "title": "Overall projects dashboard?", + "href": "https://github.com/orgs/langfuse/discussions/2599", + "created_at": "2024-07-10T09:09:02Z", + "upvotes": 1, "comment_count": 1, - "resolved": false, - "labels": [], + "resolved": true, + "labels": [ + "feat-dashboard" + ], "author": { - "login": "justinwiley", - "html_url": "https://github.com/justinwiley" + "login": "justingodden", + "html_url": "https://github.com/justingodden" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2529, - "title": "feat: Track Exceptions while using Decorators", - "href": "https://github.com/orgs/langfuse/discussions/2529", - "created_at": "2024-07-03T11:40:19Z", + "number": 2597, + "title": "[Errno 111] Connection refused when connecting to langfuse within docker compose", + "href": "https://github.com/orgs/langfuse/discussions/2597", + "created_at": "2024-07-10T09:00:34Z", "upvotes": 1, "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [ - "integration-python-decorator" + "self-hosting" ], "author": { - "login": "Manonandan", - "html_url": "https://github.com/Manonandan" + "login": "bspetrov", + "html_url": "https://github.com/bspetrov" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2523, - "title": "Feature Request: Sidebar Display for Trace Details in Dataset Runs", - "href": "https://github.com/orgs/langfuse/discussions/2523", - "created_at": "2024-07-02T15:00:47Z", + "number": 2595, + "title": "Migrate a local deployment of langfuse from one computer to another", + "href": "https://github.com/orgs/langfuse/discussions/2595", + "created_at": "2024-07-10T07:46:04Z", "upvotes": 1, - "comment_count": 3, - "resolved": false, + "comment_count": 2, + "resolved": true, "labels": [ - "feat-datasets" + "self-hosting" ], "author": { - "login": "tuan3w", - "html_url": "https://github.com/tuan3w" + "login": "nithin1995", + "html_url": "https://github.com/nithin1995" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2511, - "title": "Scoring dataset runs, e.g. precision, recall, f-value", - "href": "https://github.com/orgs/langfuse/discussions/2511", - "created_at": "2024-07-02T08:10:21Z", - "upvotes": 8, + "number": 2590, + "title": "Experiments running but inputs and outputs of LLM are not linked to dashboard", + "href": "https://github.com/orgs/langfuse/discussions/2590", + "created_at": "2024-07-09T18:29:22Z", + "upvotes": 1, "comment_count": 1, "resolved": false, - "labels": [ - "feat-datasets", - "feat-scores" - ], + "labels": [], "author": { - "login": "yusuke-intern", - "html_url": "https://github.com/yusuke-intern" + "login": "IbrahimAhmed03", + "html_url": "https://github.com/IbrahimAhmed03" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2510, - "title": "How can we see traces of MULTIMODAL llms over langfuse ?", - "href": "https://github.com/orgs/langfuse/discussions/2510", - "created_at": "2024-07-02T05:15:59Z", - "upvotes": 4, - "comment_count": 3, - "resolved": false, + "number": 2574, + "title": "how to embed langfuse dashboard in other tool", + "href": "https://github.com/orgs/langfuse/discussions/2574", + "created_at": "2024-07-08T21:24:13Z", + "upvotes": 1, + "comment_count": 1, + "resolved": true, "labels": [ - "✅ Done", - "feat-multimodal" + "feat-dashboard" ], "author": { - "login": "Aaryaveerkrishna23", - "html_url": "https://github.com/Aaryaveerkrishna23" + "login": "deepakdeore2004", + "html_url": "https://github.com/deepakdeore2004" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2509, - "title": "Support OpenTelemetry-based instrumentation (traceloop openllmetry and others)", - "href": "https://github.com/orgs/langfuse/discussions/2509", - "created_at": "2024-07-02T02:29:14Z", - "upvotes": 8, - "comment_count": 7, + "number": 2567, + "title": "How to use prompt management with openai JS?", + "href": "https://github.com/orgs/langfuse/discussions/2567", + "created_at": "2024-07-08T08:22:49Z", + "upvotes": 1, + "comment_count": 2, "resolved": false, "labels": [ - "integrations" + "feat-prompt-management" ], "author": { - "login": "gyliu513", - "html_url": "https://github.com/gyliu513" + "login": "oscarmorrison", + "html_url": "https://github.com/oscarmorrison" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2508, - "title": "Enable Langfuse can expose metrics in Prometheus format", - "href": "https://github.com/orgs/langfuse/discussions/2508", - "created_at": "2024-07-02T02:25:24Z", - "upvotes": 7, - "comment_count": 1, + "number": 2564, + "title": "Update metadata when using OpenAI JS Integration", + "href": "https://github.com/orgs/langfuse/discussions/2564", + "created_at": "2024-07-08T07:37:38Z", + "upvotes": 1, + "comment_count": 3, "resolved": false, "labels": [], "author": { - "login": "gyliu513", - "html_url": "https://github.com/gyliu513" + "login": "oscarmorrison", + "html_url": "https://github.com/oscarmorrison" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2501, - "title": "Use Langchain LCEL + Langserve + run time user_id/session_id", - "href": "https://github.com/orgs/langfuse/discussions/2501", - "created_at": "2024-07-01T15:51:47Z", - "upvotes": 4, - "comment_count": 1, + "number": 2527, + "title": "Can't set trace params e.g session_id when using with llhama_index", + "href": "https://github.com/orgs/langfuse/discussions/2527", + "created_at": "2024-07-02T20:41:53Z", + "upvotes": 2, + "comment_count": 2, "resolved": false, "labels": [ - "integration-langchain", - "feat-users", - "feat-sessions" + "integraton-llamaindex" ], "author": { - "login": "ravediamond", - "html_url": "https://github.com/ravediamond" + "login": "famoraes", + "html_url": "https://github.com/famoraes" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2493, - "title": "Easy token price estimates for 400+ LLMs", - "href": "https://github.com/orgs/langfuse/discussions/2493", - "created_at": "2024-07-01T06:55:56Z", - "upvotes": 1, + "number": 2498, + "title": "Method to update prompt template for Langserve use case", + "href": "https://github.com/orgs/langfuse/discussions/2498", + "created_at": "2024-07-01T11:20:08Z", + "upvotes": 2, "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [ - "feat-cost-tracking" + "integration-langchain" ], "author": { - "login": "derevyan", - "html_url": "https://github.com/derevyan" + "login": "quadcube", + "html_url": "https://github.com/quadcube" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2488, - "title": "Add contextmanager support to python decorator", - "href": "https://github.com/orgs/langfuse/discussions/2488", - "created_at": "2024-06-29T20:43:50Z", - "upvotes": 6, + "number": 2486, + "title": "Cost of embedding in langfuse", + "href": "https://github.com/orgs/langfuse/discussions/2486", + "created_at": "2024-06-29T07:50:06Z", + "upvotes": 1, "comment_count": 2, - "resolved": false, - "labels": [ - "integration-python-decorator" - ], + "resolved": true, + "labels": [], "author": { - "login": "yaniv-aknin", - "html_url": "https://github.com/yaniv-aknin" + "login": "Amitt1412", + "html_url": "https://github.com/Amitt1412" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2469, - "title": "Adding userId / author to score (custom metadata)", - "href": "https://github.com/orgs/langfuse/discussions/2469", - "created_at": "2024-06-27T19:02:17Z", - "upvotes": 4, - "comment_count": 3, - "resolved": false, + "number": 2481, + "title": "Getting all traces logged in a timerange for custom scoring", + "href": "https://github.com/orgs/langfuse/discussions/2481", + "created_at": "2024-06-28T12:09:14Z", + "upvotes": 1, + "comment_count": 1, + "resolved": true, "labels": [ - "feat-scores", - "feat-users" + "feat-scores" ], "author": { - "login": "ivanviragine", - "html_url": "https://github.com/ivanviragine" + "login": "sanandnarayan", + "html_url": "https://github.com/sanandnarayan" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2456, - "title": "Export to CSV feature in the Traces", - "href": "https://github.com/orgs/langfuse/discussions/2456", - "created_at": "2024-06-27T11:02:47Z", + "number": 2479, + "title": "Cost of embedding", + "href": "https://github.com/orgs/langfuse/discussions/2479", + "created_at": "2024-06-28T06:58:16Z", "upvotes": 1, - "comment_count": 1, - "resolved": false, + "comment_count": 3, + "resolved": true, "labels": [], "author": { - "login": "Aniket3007", - "html_url": "https://github.com/Aniket3007" + "login": "Amitt1412", + "html_url": "https://github.com/Amitt1412" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2454, - "title": "Expand all json-views of Dataset items etc.", - "href": "https://github.com/orgs/langfuse/discussions/2454", - "created_at": "2024-06-27T08:18:23Z", + "number": 2455, + "title": "Getting issue with local setup", + "href": "https://github.com/orgs/langfuse/discussions/2455", + "created_at": "2024-06-27T10:23:02Z", "upvotes": 1, "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [ - "✅ Done", - "feat-datasets" + "self-hosting" ], "author": { - "login": "tkreuder", - "html_url": "https://github.com/tkreuder" + "login": "kiranraut7709", + "html_url": "https://github.com/kiranraut7709" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2438, - "title": "Bedrock provider when using llamaindex", - "href": "https://github.com/orgs/langfuse/discussions/2438", - "created_at": "2024-06-26T11:00:54Z", - "upvotes": 1, + "number": 2447, + "title": "Access observation id in langchain runnable", + "href": "https://github.com/orgs/langfuse/discussions/2447", + "created_at": "2024-06-26T21:03:07Z", + "upvotes": 4, "comment_count": 1, "resolved": false, "labels": [ - "integraton-llamaindex", - "integration-amazon-bedrock" + "integration-langchain" ], "author": { - "login": "mdciri", - "html_url": "https://github.com/mdciri" + "login": "snikch", + "html_url": "https://github.com/snikch" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2437, - "title": "Project members management via public API", - "href": "https://github.com/orgs/langfuse/discussions/2437", - "created_at": "2024-06-26T10:03:50Z", - "upvotes": 3, - "comment_count": 1, + "number": 2431, + "title": "Trying to work with llama3 in Azure using AzureMLChatOnlineEndpoint but no cost showing up", + "href": "https://github.com/orgs/langfuse/discussions/2431", + "created_at": "2024-06-25T21:20:25Z", + "upvotes": 1, + "comment_count": 2, "resolved": false, - "labels": [ - "feat-rbac" - ], + "labels": [], "author": { - "login": "tmarenko", - "html_url": "https://github.com/tmarenko" + "login": "spacepirate0001", + "html_url": "https://github.com/spacepirate0001" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2402, - "title": "Add string data type in score config", - "href": "https://github.com/orgs/langfuse/discussions/2402", - "created_at": "2024-06-24T11:12:54Z", + "number": 2416, + "title": "some tests failed for langfuse-js", + "href": "https://github.com/orgs/langfuse/discussions/2416", + "created_at": "2024-06-25T04:31:35Z", "upvotes": 1, - "comment_count": 1, + "comment_count": 3, "resolved": false, - "labels": [ - "feat-scores" - ], + "labels": [], "author": { - "login": "emfhal", - "html_url": "https://github.com/emfhal" + "login": "4t8dd", + "html_url": "https://github.com/4t8dd" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2400, - "title": "Support for Custom Base URL Prefix in Langfuse (nextjs basepath)", - "href": "https://github.com/orgs/langfuse/discussions/2400", - "created_at": "2024-06-24T09:57:57Z", - "upvotes": 21, - "comment_count": 9, - "resolved": false, - "labels": [ - "✅ Done", - "self-hosting" - ], + "number": 2415, + "title": "AUTH AZURE AD returns AADSTS9002325: Proof Key for Code Exchange is required for cross-origin authorization code redemption.", + "href": "https://github.com/orgs/langfuse/discussions/2415", + "created_at": "2024-06-24T18:00:45Z", + "upvotes": 1, + "comment_count": 1, + "resolved": true, + "labels": [], "author": { - "login": "databill86", - "html_url": "https://github.com/databill86" + "login": "spacepirate0001", + "html_url": "https://github.com/spacepirate0001" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2397, - "title": "Add ARM64 docker image", - "href": "https://github.com/orgs/langfuse/discussions/2397", - "created_at": "2024-06-21T13:35:24Z", + "number": 2401, + "title": "Trying to understand why in Langfuse Trace under Stream Completion I get this output:", + "href": "https://github.com/orgs/langfuse/discussions/2401", + "created_at": "2024-06-21T12:22:38Z", "upvotes": 1, - "comment_count": 2, + "comment_count": 1, "resolved": false, - "labels": [ - "✅ Done", - "self-hosting" - ], + "labels": [], "author": { - "login": "lucasiscovici", - "html_url": "https://github.com/lucasiscovici" + "login": "howtodoml", + "html_url": "https://github.com/howtodoml" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2390, - "title": "Implement Duplication Check for Prompt Versions in Langfuse", - "href": "https://github.com/orgs/langfuse/discussions/2390", - "created_at": "2024-06-21T08:03:39Z", - "upvotes": 1, - "comment_count": 1, + "number": 2385, + "title": "Modify trace after getting response from OpenAI", + "href": "https://github.com/orgs/langfuse/discussions/2385", + "created_at": "2024-06-20T18:00:09Z", + "upvotes": 2, + "comment_count": 3, "resolved": false, - "labels": [ - "feat-prompt-management" - ], + "labels": [], "author": { - "login": "sapipoZZZ", - "html_url": "https://github.com/sapipoZZZ" + "login": "tylerlittlefield", + "html_url": "https://github.com/tylerlittlefield" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2378, - "title": "Number of times a prompt was fetched", - "href": "https://github.com/orgs/langfuse/discussions/2378", - "created_at": "2024-06-20T07:37:12Z", + "number": 2381, + "title": "LangFuse UI doesn't show all traces despite debug logging saying that all are sent to the server", + "href": "https://github.com/orgs/langfuse/discussions/2381", + "created_at": "2024-06-20T14:02:12Z", "upvotes": 3, - "comment_count": 0, + "comment_count": 1, "resolved": false, - "labels": [ - "feat-prompt-management" - ], + "labels": [], "author": { - "login": "subhampasari", - "html_url": "https://github.com/subhampasari" + "login": "stokedout", + "html_url": "https://github.com/stokedout" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2376, - "title": "Allow for custom OAuth scopes when self-hosing", - "href": "https://github.com/orgs/langfuse/discussions/2376", - "created_at": "2024-06-19T22:23:59Z", - "upvotes": 1, - "comment_count": 1, - "resolved": false, + "number": 2379, + "title": "Langfuse was not able to parse the LLM model", + "href": "https://github.com/orgs/langfuse/discussions/2379", + "created_at": "2024-06-20T08:56:57Z", + "upvotes": 1, + "comment_count": 2, + "resolved": true, "labels": [ - "feat-auth" + "integration-langchain", + "integration-amazon-bedrock" ], "author": { - "login": "0x77dev", - "html_url": "https://github.com/0x77dev" + "login": "fdbvega", + "html_url": "https://github.com/fdbvega" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2371, - "title": "SBS Markdown mode for dataset runs", - "href": "https://github.com/orgs/langfuse/discussions/2371", - "created_at": "2024-06-19T14:57:32Z", + "number": 2377, + "title": "Can't see any traces or logs when running Langfuse locally.", + "href": "https://github.com/orgs/langfuse/discussions/2377", + "created_at": "2024-06-19T23:51:46Z", "upvotes": 1, - "comment_count": 1, - "resolved": false, + "comment_count": 6, + "resolved": true, "labels": [ - "feat-datasets" + "self-hosting" ], "author": { - "login": "pfurovYnP", - "html_url": "https://github.com/pfurovYnP" + "login": "ibdafna", + "html_url": "https://github.com/ibdafna" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2358, - "title": "Add view mode to Settings", - "href": "https://github.com/orgs/langfuse/discussions/2358", - "created_at": "2024-06-17T12:48:04Z", + "number": 2373, + "title": "Not recording llamaindex response. Please help", + "href": "https://github.com/orgs/langfuse/discussions/2373", + "created_at": "2024-06-19T19:26:30Z", "upvotes": 1, "comment_count": 1, "resolved": false, - "labels": [], + "labels": [ + "integraton-llamaindex" + ], "author": { - "login": "emfhal", - "html_url": "https://github.com/emfhal" + "login": "mraguth", + "html_url": "https://github.com/mraguth" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2352, - "title": "Support SAML login protocol", - "href": "https://github.com/orgs/langfuse/discussions/2352", - "created_at": "2024-06-17T07:14:14Z", - "upvotes": 4, + "number": 2366, + "title": "Add label to prompt from Langfuse UI", + "href": "https://github.com/orgs/langfuse/discussions/2366", + "created_at": "2024-06-18T14:26:14Z", + "upvotes": 1, "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [ - "self-hosting" + "feat-prompt-management" ], "author": { - "login": "emfhal", - "html_url": "https://github.com/emfhal" + "login": "charlieviettq", + "html_url": "https://github.com/charlieviettq" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2343, - "title": "Bring Langfuse to Cloud Marketplaces", - "href": "https://github.com/orgs/langfuse/discussions/2343", - "created_at": "2024-06-14T06:41:18Z", + "number": 2354, + "title": "Link Prompt & Trace with langchain CallbackHandler", + "href": "https://github.com/orgs/langfuse/discussions/2354", + "created_at": "2024-06-17T08:21:56Z", "upvotes": 2, "comment_count": 2, - "resolved": false, + "resolved": true, + "labels": [], + "author": { + "login": "derevyan", + "html_url": "https://github.com/derevyan" + }, + "category": "Support" + }, + { + "number": 2353, + "title": "[Migration] Auto-migration DB error when upgrade langfuse version", + "href": "https://github.com/orgs/langfuse/discussions/2353", + "created_at": "2024-06-17T08:02:03Z", + "upvotes": 1, + "comment_count": 1, + "resolved": true, "labels": [ "self-hosting" ], "author": { - "login": "aiakubovich", - "html_url": "https://github.com/aiakubovich" + "login": "charlieviettq", + "html_url": "https://github.com/charlieviettq" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2336, - "title": "Saving a filter", - "href": "https://github.com/orgs/langfuse/discussions/2336", - "created_at": "2024-06-13T09:15:59Z", + "number": 2351, + "title": "Customize Langchain callback handler to add spans to existing traces created by separate thread/process", + "href": "https://github.com/orgs/langfuse/discussions/2351", + "created_at": "2024-06-17T03:41:57Z", "upvotes": 1, - "comment_count": 0, + "comment_count": 2, "resolved": false, - "labels": [], + "labels": [ + "integration-langchain" + ], "author": { - "login": "avinash361-devrev", - "html_url": "https://github.com/avinash361-devrev" + "login": "Chengdyc", + "html_url": "https://github.com/Chengdyc" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2331, - "title": "Pendo integration", - "href": "https://github.com/orgs/langfuse/discussions/2331", - "created_at": "2024-06-12T18:22:32Z", + "number": 2348, + "title": "not serializable object of type: LangfuseResponseGeneratorSync", + "href": "https://github.com/orgs/langfuse/discussions/2348", + "created_at": "2024-06-14T22:33:09Z", "upvotes": 1, "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "mrunaaaaaal", - "html_url": "https://github.com/mrunaaaaaal" + "login": "howtodoml", + "html_url": "https://github.com/howtodoml" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2282, - "title": "[Dashboard] Update Scores Chart to include number of scores on secondary y axis", - "href": "https://github.com/orgs/langfuse/discussions/2282", - "created_at": "2024-06-10T08:41:41Z", + "number": 2346, + "title": "Chain two prompts", + "href": "https://github.com/orgs/langfuse/discussions/2346", + "created_at": "2024-06-14T08:20:48Z", "upvotes": 1, "comment_count": 1, "resolved": false, "labels": [ - "feat-dashboard" + "feat-prompt-management", + "integration-langchain" ], "author": { - "login": "charlieviettq", - "html_url": "https://github.com/charlieviettq" + "login": "darkostanimirovic", + "html_url": "https://github.com/darkostanimirovic" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2278, - "title": "Type of input and output of each span visible in the UI", - "href": "https://github.com/orgs/langfuse/discussions/2278", - "created_at": "2024-06-08T21:17:48Z", - "upvotes": 3, + "number": 2344, + "title": "Can you use internal Kubernetes DNS to receive traffic from other Kubernetes workloads?", + "href": "https://github.com/orgs/langfuse/discussions/2344", + "created_at": "2024-06-14T08:15:36Z", + "upvotes": 1, "comment_count": 1, - "resolved": false, - "labels": [ - "ui" - ], + "resolved": true, + "labels": [], "author": { - "login": "arthurGrigo", - "html_url": "https://github.com/arthurGrigo" + "login": "smeasures", + "html_url": "https://github.com/smeasures" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2268, - "title": "Langfuse retention settings", - "href": "https://github.com/orgs/langfuse/discussions/2268", - "created_at": "2024-06-07T12:27:32Z", - "upvotes": 8, - "comment_count": 6, - "resolved": false, + "number": 2342, + "title": "Getting trace id out of a langchain runnable", + "href": "https://github.com/orgs/langfuse/discussions/2342", + "created_at": "2024-06-14T01:15:26Z", + "upvotes": 1, + "comment_count": 1, + "resolved": true, "labels": [], "author": { - "login": "sudhanshu746", - "html_url": "https://github.com/sudhanshu746" + "login": "salmanmashayekh", + "html_url": "https://github.com/salmanmashayekh" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2241, - "title": "Tracing integration with unify.ai", - "href": "https://github.com/orgs/langfuse/discussions/2241", - "created_at": "2024-06-05T15:17:00Z", - "upvotes": 5, - "comment_count": 3, + "number": 2338, + "title": "Can RBAC Role Assignment be done using Azure AD SSO token?", + "href": "https://github.com/orgs/langfuse/discussions/2338", + "created_at": "2024-06-13T11:29:59Z", + "upvotes": 4, + "comment_count": 2, "resolved": false, "labels": [ - "integrations" + "feat-rbac", + "self-hosting" ], "author": { - "login": "marcklingen", - "html_url": "https://github.com/marcklingen" + "login": "joshwright10", + "html_url": "https://github.com/joshwright10" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2237, - "title": "Add Langchain Support to Prompt Management", - "href": "https://github.com/orgs/langfuse/discussions/2237", - "created_at": "2024-06-05T10:05:13Z", - "upvotes": 34, - "comment_count": 5, + "number": 2298, + "title": "llamaindex: function_call does not generate subspans for a custom AsyncBaseTool class", + "href": "https://github.com/orgs/langfuse/discussions/2298", + "created_at": "2024-06-11T09:28:33Z", + "upvotes": 1, + "comment_count": 3, "resolved": false, "labels": [ - "feat-prompt-management", - "integration-langchain", - "✅ Done" + "integraton-llamaindex" ], "author": { - "login": "guidev", - "html_url": "https://github.com/guidev" + "login": "ootkin", + "html_url": "https://github.com/ootkin" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2226, - "title": "Monitoring Costs and Traces generated by RAGAS", - "href": "https://github.com/orgs/langfuse/discussions/2226", - "created_at": "2024-06-04T09:35:25Z", - "upvotes": 4, + "number": 2290, + "title": "There are no evaluation component in the 2.50 version", + "href": "https://github.com/orgs/langfuse/discussions/2290", + "created_at": "2024-06-10T19:36:30Z", + "upvotes": 1, "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [], "author": { - "login": "paolotamag", - "html_url": "https://github.com/paolotamag" + "login": "yanlinchn", + "html_url": "https://github.com/yanlinchn" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2215, - "title": "new chart in dashboard for booleans metrics", - "href": "https://github.com/orgs/langfuse/discussions/2215", - "created_at": "2024-06-03T12:48:37Z", - "upvotes": 1, + "number": 2254, + "title": "Unable to get hello world program working due to incorrect public key / host", + "href": "https://github.com/orgs/langfuse/discussions/2254", + "created_at": "2024-06-06T09:13:53Z", + "upvotes": 3, "comment_count": 1, - "resolved": false, - "labels": [], - "author": { - "login": "paolotamag", - "html_url": "https://github.com/paolotamag" - }, - "category": "Ideas" - }, - { - "number": 2210, - "title": "MessagesPlaceholder in \"Create New Prompt\" panel", - "href": "https://github.com/orgs/langfuse/discussions/2210", - "created_at": "2024-06-03T06:58:45Z", - "upvotes": 6, - "comment_count": 2, - "resolved": false, + "resolved": true, "labels": [ - "feat-prompt-management" + "self-hosting" ], "author": { - "login": "NIKsun", - "html_url": "https://github.com/NIKsun" + "login": "mr-nano", + "html_url": "https://github.com/mr-nano" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2209, - "title": "Enhance data in daily metrics api endpoint", - "href": "https://github.com/orgs/langfuse/discussions/2209", - "created_at": "2024-06-02T14:38:15Z", + "number": 2244, + "title": "2 traces generated instead of 1", + "href": "https://github.com/orgs/langfuse/discussions/2244", + "created_at": "2024-06-05T17:06:52Z", "upvotes": 1, "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [ - "✅ Done", - "feat-api" + "integration-langchain", + "feat-datasets" ], "author": { - "login": "matthiaslau", - "html_url": "https://github.com/matthiaslau" + "login": "nithin1995", + "html_url": "https://github.com/nithin1995" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2203, - "title": "Ability to add comments to versions of prompts (\"commit message\")", - "href": "https://github.com/orgs/langfuse/discussions/2203", - "created_at": "2024-06-01T13:13:27Z", - "upvotes": 4, - "comment_count": 4, - "resolved": false, - "labels": [ - "feat-prompt-management" - ], + "number": 2211, + "title": "How to clean the langfuse cache data periodically?", + "href": "https://github.com/orgs/langfuse/discussions/2211", + "created_at": "2024-06-03T07:40:22Z", + "upvotes": 1, + "comment_count": 1, + "resolved": true, + "labels": [], "author": { - "login": "ajram23", - "html_url": "https://github.com/ajram23" + "login": "He-Huang", + "html_url": "https://github.com/He-Huang" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2195, - "title": "Timeline/graph visualization for traces", - "href": "https://github.com/orgs/langfuse/discussions/2195", - "created_at": "2024-05-31T08:18:11Z", - "upvotes": 7, - "comment_count": 4, - "resolved": false, + "number": 2207, + "title": "Model Cost does not show up", + "href": "https://github.com/orgs/langfuse/discussions/2207", + "created_at": "2024-06-02T11:08:58Z", + "upvotes": 1, + "comment_count": 1, + "resolved": true, "labels": [ - "✅ Done" + "feat-cost-tracking" ], "author": { - "login": "david1542", - "html_url": "https://github.com/david1542" + "login": "jannikstdl", + "html_url": "https://github.com/jannikstdl" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2194, - "title": "Terraform Provider for internal Langfuse configuration", - "href": "https://github.com/orgs/langfuse/discussions/2194", - "created_at": "2024-05-31T06:23:11Z", - "upvotes": 2, + "number": 2206, + "title": "Possibilities for auth", + "href": "https://github.com/orgs/langfuse/discussions/2206", + "created_at": "2024-06-01T23:38:39Z", + "upvotes": 1, "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [ "self-hosting" ], "author": { - "login": "mroedder-d7", - "html_url": "https://github.com/mroedder-d7" + "login": "Getty", + "html_url": "https://github.com/Getty" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2184, - "title": "support query prompt via prompt id", - "href": "https://github.com/orgs/langfuse/discussions/2184", - "created_at": "2024-05-30T02:55:59Z", - "upvotes": 1, - "comment_count": 1, + "number": 2200, + "title": "How does one replace values for a ChatPromptTemplate for Langchain", + "href": "https://github.com/orgs/langfuse/discussions/2200", + "created_at": "2024-05-31T19:39:14Z", + "upvotes": 0, + "comment_count": 2, "resolved": false, "labels": [], "author": { - "login": "hu9029", - "html_url": "https://github.com/hu9029" + "login": "ajram23", + "html_url": "https://github.com/ajram23" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2181, - "title": "Support for SDK entry-point wrapper around async REST API client", - "href": "https://github.com/orgs/langfuse/discussions/2181", - "created_at": "2024-05-29T17:50:22Z", + "number": 2188, + "title": "Time to first token?", + "href": "https://github.com/orgs/langfuse/discussions/2188", + "created_at": "2024-05-30T12:45:37Z", "upvotes": 1, - "comment_count": 0, + "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "blazing-gig", - "html_url": "https://github.com/blazing-gig" + "login": "jrcapicua", + "html_url": "https://github.com/jrcapicua" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2176, - "title": "Support querying Users (GET) to support analytics pipeline solutions", - "href": "https://github.com/orgs/langfuse/discussions/2176", - "created_at": "2024-05-29T02:42:13Z", - "upvotes": 2, - "comment_count": 1, + "number": 2172, + "title": "How to reuse callback handler in langchain integration?", + "href": "https://github.com/orgs/langfuse/discussions/2172", + "created_at": "2024-05-28T15:25:39Z", + "upvotes": 1, + "comment_count": 2, "resolved": false, "labels": [ - "feat-users" + "integration-langchain" ], "author": { - "login": "Tjmstudios", - "html_url": "https://github.com/Tjmstudios" + "login": "SebastianStehle", + "html_url": "https://github.com/SebastianStehle" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2161, - "title": "Prompt version only create when different", - "href": "https://github.com/orgs/langfuse/discussions/2161", - "created_at": "2024-05-27T23:47:21Z", - "upvotes": 4, - "comment_count": 2, + "number": 2165, + "title": "Auth0 not working", + "href": "https://github.com/orgs/langfuse/discussions/2165", + "created_at": "2024-05-28T11:38:43Z", + "upvotes": 2, + "comment_count": 3, "resolved": false, "labels": [ - "feat-prompt-management" + "self-hosting" ], "author": { - "login": "brightsparc", - "html_url": "https://github.com/brightsparc" + "login": "mforell", + "html_url": "https://github.com/mforell" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2140, - "title": "clickhouse support", - "href": "https://github.com/orgs/langfuse/discussions/2140", - "created_at": "2024-05-24T15:21:14Z", - "upvotes": 2, + "number": 2162, + "title": "Connect Prompt ID to GENERATIONS when integrate Langfuse in LangChain.", + "href": "https://github.com/orgs/langfuse/discussions/2162", + "created_at": "2024-05-28T00:56:34Z", + "upvotes": 8, "comment_count": 1, - "resolved": false, - "labels": [ - "work-in-progress", - "performance" - ], + "resolved": true, + "labels": [], "author": { - "login": "newcworld", - "html_url": "https://github.com/newcworld" + "login": "hdp173", + "html_url": "https://github.com/hdp173" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2131, - "title": "Export to data warehouses (BigQuery etc)", - "href": "https://github.com/orgs/langfuse/discussions/2131", - "created_at": "2024-05-23T15:52:18Z", - "upvotes": 18, - "comment_count": 1, + "number": 2154, + "title": "__root__ -> items -> 0 -> datasetName field required (type=value_error.missing)", + "href": "https://github.com/orgs/langfuse/discussions/2154", + "created_at": "2024-05-27T11:26:24Z", + "upvotes": 1, + "comment_count": 2, "resolved": false, "labels": [], "author": { - "login": "rohan-mehta", - "html_url": "https://github.com/rohan-mehta" + "login": "emailic", + "html_url": "https://github.com/emailic" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2124, - "title": "Proposal: Add Support for Uploading Dataset Items via UI", - "href": "https://github.com/orgs/langfuse/discussions/2124", - "created_at": "2024-05-22T10:58:04Z", - "upvotes": 5, + "number": 2152, + "title": "get_langchain_handler() alwasy start from trace root.", + "href": "https://github.com/orgs/langfuse/discussions/2152", + "created_at": "2024-05-27T10:47:42Z", + "upvotes": 1, "comment_count": 1, "resolved": false, "labels": [ - "feat-datasets" + "integration-langchain" ], "author": { - "login": "vaddenz", - "html_url": "https://github.com/vaddenz" + "login": "hdp173", + "html_url": "https://github.com/hdp173" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2119, - "title": "Phidata support", - "href": "https://github.com/orgs/langfuse/discussions/2119", - "created_at": "2024-05-21T14:20:09Z", + "number": 2146, + "title": "Customize LangChain Integration.", + "href": "https://github.com/orgs/langfuse/discussions/2146", + "created_at": "2024-05-27T06:12:41Z", "upvotes": 1, "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [ - "integrations" + "integration-langchain" ], "author": { - "login": "michaelpoluektov", - "html_url": "https://github.com/michaelpoluektov" + "login": "hdp173", + "html_url": "https://github.com/hdp173" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2104, - "title": "Feature Request: Tracing Sampling Rate Configuration for Langfuse", - "href": "https://github.com/orgs/langfuse/discussions/2104", - "created_at": "2024-05-20T16:23:05Z", - "upvotes": 2, - "comment_count": 1, + "number": 2145, + "title": "Need help on syntax for editing project roles", + "href": "https://github.com/orgs/langfuse/discussions/2145", + "created_at": "2024-05-26T18:50:59Z", + "upvotes": 1, + "comment_count": 2, "resolved": false, - "labels": [ - "✅ Done" - ], + "labels": [], "author": { - "login": "himansrivastava", - "html_url": "https://github.com/himansrivastava" + "login": "hrithik062", + "html_url": "https://github.com/hrithik062" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2101, - "title": "feat: Adding AWS Cognito Authentication", - "href": "https://github.com/orgs/langfuse/discussions/2101", - "created_at": "2024-05-20T14:30:32Z", + "number": 2142, + "title": "Unable to login with SSO", + "href": "https://github.com/orgs/langfuse/discussions/2142", + "created_at": "2024-05-24T18:40:35Z", "upvotes": 1, - "comment_count": 2, - "resolved": false, - "labels": [ - "✅ Done", - "feat-auth" - ], + "comment_count": 1, + "resolved": true, + "labels": [], "author": { - "login": "Shekswess", - "html_url": "https://github.com/Shekswess" + "login": "alecor191", + "html_url": "https://github.com/alecor191" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2097, - "title": "Markdown Rendering Option", - "href": "https://github.com/orgs/langfuse/discussions/2097", - "created_at": "2024-05-18T16:58:37Z", + "number": 2137, + "title": "Latency (Avg) showing 0 for dataset runs", + "href": "https://github.com/orgs/langfuse/discussions/2137", + "created_at": "2024-05-24T07:33:51Z", "upvotes": 4, - "comment_count": 4, - "resolved": false, + "comment_count": 1, + "resolved": true, + "labels": [], + "author": { + "login": "karthik-TLIT", + "html_url": "https://github.com/karthik-TLIT" + }, + "category": "Support" + }, + { + "number": 2130, + "title": "Evaluations Not Available in Self-Hosted Version?", + "href": "https://github.com/orgs/langfuse/discussions/2130", + "created_at": "2024-05-23T14:31:16Z", + "upvotes": 3, + "comment_count": 1, + "resolved": true, "labels": [ - "✅ Done" + "feat-evals" ], "author": { - "login": "hburrichter", - "html_url": "https://github.com/hburrichter" + "login": "c0pper", + "html_url": "https://github.com/c0pper" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2081, - "title": "feat: inject langfuse info into langchain metadata", - "href": "https://github.com/orgs/langfuse/discussions/2081", - "created_at": "2024-05-16T20:43:41Z", + "number": 2114, + "title": "Careers link on HN is broken", + "href": "https://github.com/orgs/langfuse/discussions/2114", + "created_at": "2024-05-21T07:28:26Z", "upvotes": 1, - "comment_count": 0, - "resolved": false, + "comment_count": 1, + "resolved": true, + "labels": [], + "author": { + "login": "davherrmann", + "html_url": "https://github.com/davherrmann" + }, + "category": "Support" + }, + { + "number": 2111, + "title": "Token cost is counted even if langchains LLM cache is utilized", + "href": "https://github.com/orgs/langfuse/discussions/2111", + "created_at": "2024-05-20T23:23:44Z", + "upvotes": 5, + "comment_count": 1, + "resolved": true, "labels": [ "integration-langchain" ], "author": { - "login": "benobytes", - "html_url": "https://github.com/benobytes" + "login": "arthurGrigo", + "html_url": "https://github.com/arthurGrigo" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2072, - "title": "Adding prompt tags via Python SDK (or other code based interactions)", - "href": "https://github.com/orgs/langfuse/discussions/2072", - "created_at": "2024-05-16T09:46:20Z", - "upvotes": 5, - "comment_count": 2, - "resolved": false, + "number": 2106, + "title": "Hability to store pre defined initial message", + "href": "https://github.com/orgs/langfuse/discussions/2106", + "created_at": "2024-05-20T20:40:23Z", + "upvotes": 1, + "comment_count": 1, + "resolved": true, "labels": [], "author": { - "login": "simon-hiel", - "html_url": "https://github.com/simon-hiel" + "login": "Lunik", + "html_url": "https://github.com/Lunik" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2071, - "title": "Save playground conversation to a dataset", - "href": "https://github.com/orgs/langfuse/discussions/2071", - "created_at": "2024-05-16T09:24:29Z", - "upvotes": 3, - "comment_count": 0, - "resolved": false, + "number": 2099, + "title": "Deleting Duplicate Items in a Dataset", + "href": "https://github.com/orgs/langfuse/discussions/2099", + "created_at": "2024-05-20T09:48:58Z", + "upvotes": 1, + "comment_count": 1, + "resolved": true, "labels": [ - "feat-datasets", - "feat-playground" + "feat-datasets" ], "author": { - "login": "bderenzi", - "html_url": "https://github.com/bderenzi" + "login": "emailic", + "html_url": "https://github.com/emailic" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2065, - "title": "Support multiple prompts attached to a generation.", - "href": "https://github.com/orgs/langfuse/discussions/2065", - "created_at": "2024-05-15T22:16:35Z", - "upvotes": 3, + "number": 2098, + "title": "Wrong model for billing", + "href": "https://github.com/orgs/langfuse/discussions/2098", + "created_at": "2024-05-20T09:29:33Z", + "upvotes": 2, "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [], "author": { - "login": "jansenderr", - "html_url": "https://github.com/jansenderr" + "login": "wdxwj", + "html_url": "https://github.com/wdxwj" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2064, - "title": "Show explicit error when viewing a project that doesn't exist", - "href": "https://github.com/orgs/langfuse/discussions/2064", - "created_at": "2024-05-15T16:49:32Z", + "number": 2077, + "title": "Error Encountered During Migration for Applying Newly Supported Models to Existing Data", + "href": "https://github.com/orgs/langfuse/discussions/2077", + "created_at": "2024-05-16T15:30:33Z", "upvotes": 1, - "comment_count": 0, + "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "backmask", - "html_url": "https://github.com/backmask" + "login": "Zherdev1996", + "html_url": "https://github.com/Zherdev1996" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2045, - "title": "Requesting official support OpenAI's new gpt-4o model", - "href": "https://github.com/orgs/langfuse/discussions/2045", - "created_at": "2024-05-13T21:37:38Z", - "upvotes": 3, - "comment_count": 5, - "resolved": false, + "number": 2073, + "title": "Will Playground be available for self-hosted?", + "href": "https://github.com/orgs/langfuse/discussions/2073", + "created_at": "2024-05-16T12:40:30Z", + "upvotes": 5, + "comment_count": 2, + "resolved": true, "labels": [ - "integration-openai", - "✅ Done", - "feat-cost-tracking" + "feat-playground" ], "author": { - "login": "varenc", - "html_url": "https://github.com/varenc" + "login": "sabatesduran", + "html_url": "https://github.com/sabatesduran" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2043, - "title": "Support instrumentation through openllmetry", - "href": "https://github.com/orgs/langfuse/discussions/2043", - "created_at": "2024-05-13T19:27:59Z", - "upvotes": 8, + "number": 2070, + "title": "Error on Local Deployment: \"Evals available in cloud only\" when Adding LLM API Key", + "href": "https://github.com/orgs/langfuse/discussions/2070", + "created_at": "2024-05-16T09:02:43Z", + "upvotes": 1, "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "baggiponte", - "html_url": "https://github.com/baggiponte" + "login": "youngsj951104", + "html_url": "https://github.com/youngsj951104" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2039, - "title": "Introduce the concept of \"sub-prompt\" to improve prompt reusability", - "href": "https://github.com/orgs/langfuse/discussions/2039", - "created_at": "2024-05-13T10:14:44Z", - "upvotes": 3, - "comment_count": 1, - "resolved": false, - "labels": [], + "number": 2069, + "title": "Does langfuse uses any Postgres-only features?", + "href": "https://github.com/orgs/langfuse/discussions/2069", + "created_at": "2024-05-16T06:36:16Z", + "upvotes": 2, + "comment_count": 1, + "resolved": true, + "labels": [], "author": { - "login": "khaelys", - "html_url": "https://github.com/khaelys" + "login": "rohts-patil", + "html_url": "https://github.com/rohts-patil" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2030, - "title": "Add number of 'successful request' to traces list view", - "href": "https://github.com/orgs/langfuse/discussions/2030", - "created_at": "2024-05-09T23:25:27Z", + "number": 2063, + "title": "Exception(\"parent run not found\")", + "href": "https://github.com/orgs/langfuse/discussions/2063", + "created_at": "2024-05-15T14:45:00Z", "upvotes": 1, "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "arthurGrigo", - "html_url": "https://github.com/arthurGrigo" + "login": "emailic", + "html_url": "https://github.com/emailic" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2021, - "title": "Ask for a import/export on prompt management page", - "href": "https://github.com/orgs/langfuse/discussions/2021", - "created_at": "2024-05-09T03:17:50Z", + "number": 2042, + "title": "Availability of evals when self-hosting", + "href": "https://github.com/orgs/langfuse/discussions/2042", + "created_at": "2024-05-13T14:06:11Z", + "upvotes": 2, + "comment_count": 1, + "resolved": true, + "labels": [ + "feat-evals" + ], + "author": { + "login": "derevyan", + "html_url": "https://github.com/derevyan" + }, + "category": "Support" + }, + { + "number": 2031, + "title": "Starting a demo from JS SDK and local running Langfuse, but cannot create init trace currently", + "href": "https://github.com/orgs/langfuse/discussions/2031", + "created_at": "2024-05-10T08:49:40Z", "upvotes": 1, - "comment_count": 2, + "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "ShaunDeng", - "html_url": "https://github.com/ShaunDeng" + "login": "JamieLee0510", + "html_url": "https://github.com/JamieLee0510" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2006, - "title": "Gitlab Auth Provider", - "href": "https://github.com/orgs/langfuse/discussions/2006", - "created_at": "2024-05-08T10:12:51Z", + "number": 2009, + "title": "Custom name of Span when using Langchain handler instead of RunnableSequence", + "href": "https://github.com/orgs/langfuse/discussions/2009", + "created_at": "2024-05-08T12:23:08Z", "upvotes": 1, "comment_count": 1, - "resolved": false, - "labels": [], + "resolved": true, + "labels": [ + "integration-langchain" + ], "author": { - "login": "jsirex", - "html_url": "https://github.com/jsirex" + "login": "nathan-vo810", + "html_url": "https://github.com/nathan-vo810" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1990, - "title": "Add batch actions to traces", - "href": "https://github.com/orgs/langfuse/discussions/1990", - "created_at": "2024-05-07T09:37:42Z", - "upvotes": 3, - "comment_count": 0, + "number": 2008, + "title": "Not able to add dataset item", + "href": "https://github.com/orgs/langfuse/discussions/2008", + "created_at": "2024-05-08T12:11:04Z", + "upvotes": 1, + "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "nimbusaeta", - "html_url": "https://github.com/nimbusaeta" + "login": "nithin1995", + "html_url": "https://github.com/nithin1995" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1988, - "title": "Upload datasets via UI", - "href": "https://github.com/orgs/langfuse/discussions/1988", - "created_at": "2024-05-06T20:25:20Z", - "upvotes": 9, + "number": 2007, + "title": "Langfuse in PHP. Which are the minimum functions needed to implement?", + "href": "https://github.com/orgs/langfuse/discussions/2007", + "created_at": "2024-05-08T10:55:07Z", + "upvotes": 1, "comment_count": 1, "resolved": false, - "labels": [ - "feat-datasets" - ], + "labels": [], "author": { - "login": "assafweinberg", - "html_url": "https://github.com/assafweinberg" + "login": "phpia", + "html_url": "https://github.com/phpia" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1987, - "title": "API/UI to delete dataset items and runs", - "href": "https://github.com/orgs/langfuse/discussions/1987", - "created_at": "2024-05-06T17:13:16Z", - "upvotes": 24, + "number": 2005, + "title": "How to get trace data with langfuse-langchain in JS/TS?", + "href": "https://github.com/orgs/langfuse/discussions/2005", + "created_at": "2024-05-08T08:08:42Z", + "upvotes": 1, "comment_count": 2, - "resolved": false, + "resolved": true, "labels": [ - "feat-datasets" + "integration-langchain" ], "author": { - "login": "tomek82", - "html_url": "https://github.com/tomek82" + "login": "AdiletBekmuratov", + "html_url": "https://github.com/AdiletBekmuratov" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1963, - "title": "Is it possible integrate Langfuse with Microsoft Copilot Studio?", - "href": "https://github.com/orgs/langfuse/discussions/1963", - "created_at": "2024-05-03T03:33:22Z", - "upvotes": 1, + "number": 1982, + "title": "trace doesn't work with .batch handler on langserve", + "href": "https://github.com/orgs/langfuse/discussions/1982", + "created_at": "2024-05-06T02:32:30Z", + "upvotes": 2, "comment_count": 0, "resolved": false, "labels": [], "author": { - "login": "aiakubovich", - "html_url": "https://github.com/aiakubovich" - }, - "category": "Ideas" - }, - { - "number": 2055, - "title": "Openai: Support IO capture when streaming function / tool call", - "href": "https://github.com/orgs/langfuse/discussions/2055", - "created_at": "2024-05-01T15:25:15Z", - "upvotes": 15, - "comment_count": 7, - "resolved": false, - "labels": [ - "sdk-python", - "integration-openai", - "✅ Done" - ], - "author": { - "login": "DanrForetellix", - "html_url": "https://github.com/DanrForetellix" + "login": "restuprajna", + "html_url": "https://github.com/restuprajna" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1941, - "title": "Looking into allowing more customization of the table", - "href": "https://github.com/orgs/langfuse/discussions/1941", - "created_at": "2024-05-01T14:47:32Z", + "number": 1979, + "title": "get_prompt function failed in langfuse-python 2.28.3", + "href": "https://github.com/orgs/langfuse/discussions/1979", + "created_at": "2024-05-05T19:57:40Z", "upvotes": 1, "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [], "author": { - "login": "Mohamed-Ayaan358", - "html_url": "https://github.com/Mohamed-Ayaan358" + "login": "nathan-vo810", + "html_url": "https://github.com/nathan-vo810" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1916, - "title": "Langchain integration Improvements", - "href": "https://github.com/orgs/langfuse/discussions/1916", - "created_at": "2024-04-30T13:23:19Z", - "upvotes": 2, + "number": 1969, + "title": "How to utilize a dataset w/ typescript and langchain integration", + "href": "https://github.com/orgs/langfuse/discussions/1969", + "created_at": "2024-05-03T15:22:21Z", + "upvotes": 1, "comment_count": 2, "resolved": false, "labels": [ - "integration-langchain", - "✅ Done" + "✅ Done", + "feat-datasets" ], "author": { - "login": "ajram23", - "html_url": "https://github.com/ajram23" + "login": "sahellebusch", + "html_url": "https://github.com/sahellebusch" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1904, - "title": "Retrieve prompts based on versioning rather than times for caching", - "href": "https://github.com/orgs/langfuse/discussions/1904", - "created_at": "2024-04-29T14:04:27Z", - "upvotes": 1, + "number": 1957, + "title": "DevOps: What is the best way to create separate Langfuse instances in different environments: Dev, Test, QA, Prod?", + "href": "https://github.com/orgs/langfuse/discussions/1957", + "created_at": "2024-05-02T21:28:07Z", + "upvotes": 2, "comment_count": 2, - "resolved": false, + "resolved": true, "labels": [ - "feat-prompt-management" + "self-hosting" ], "author": { - "login": "ajram23", - "html_url": "https://github.com/ajram23" + "login": "aiakubovich", + "html_url": "https://github.com/aiakubovich" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1896, - "title": "Delete Session", - "href": "https://github.com/orgs/langfuse/discussions/1896", - "created_at": "2024-04-29T08:01:05Z", - "upvotes": 15, - "comment_count": 0, + "number": 1952, + "title": "How to communicate trace-id between backend and frontend ? (langchain+langserve integration)", + "href": "https://github.com/orgs/langfuse/discussions/1952", + "created_at": "2024-05-02T13:48:20Z", + "upvotes": 1, + "comment_count": 3, "resolved": false, "labels": [ - "feat-sessions" + "integration-langchain" ], "author": { - "login": "rohan-gt", - "html_url": "https://github.com/rohan-gt" + "login": "Sinnaeve", + "html_url": "https://github.com/Sinnaeve" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1895, - "title": "linking prompts with tracing in langchain integration", - "href": "https://github.com/orgs/langfuse/discussions/1895", - "created_at": "2024-04-28T13:13:08Z", - "upvotes": 10, - "comment_count": 3, - "resolved": false, + "number": 1946, + "title": "Not able to build docker image from web/Dockerfile", + "href": "https://github.com/orgs/langfuse/discussions/1946", + "created_at": "2024-05-02T09:41:18Z", + "upvotes": 2, + "comment_count": 1, + "resolved": true, "labels": [ - "feat-prompt-management", - "integration-langchain", - "✅ Done" + "self-hosting" ], "author": { - "login": "SatheeshJM", - "html_url": "https://github.com/SatheeshJM" + "login": "Subham0793", + "html_url": "https://github.com/Subham0793" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1867, - "title": "Add integration with evaluation frameworks", - "href": "https://github.com/orgs/langfuse/discussions/1867", - "created_at": "2024-04-25T23:09:03Z", - "upvotes": 1, + "number": 1940, + "title": "Simple Prompt -> LLM error with Usage Object?", + "href": "https://github.com/orgs/langfuse/discussions/1940", + "created_at": "2024-05-01T13:47:14Z", + "upvotes": 2, "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [], "author": { - "login": "johnnydevriese", - "html_url": "https://github.com/johnnydevriese" + "login": "tzilkha", + "html_url": "https://github.com/tzilkha" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1862, - "title": "Support Linking Execution Trace to DatasetItem without Fetching Entire Dataset", - "href": "https://github.com/orgs/langfuse/discussions/1862", - "created_at": "2024-04-25T18:57:08Z", - "upvotes": 1, + "number": 1864, + "title": "Can't see traces in the webUI if callback_handler passed to LLM init constructor", + "href": "https://github.com/orgs/langfuse/discussions/1864", + "created_at": "2024-04-25T21:01:54Z", + "upvotes": 2, "comment_count": 1, "resolved": false, - "labels": [ - "feat-datasets" - ], + "labels": [], "author": { - "login": "sfarthin", - "html_url": "https://github.com/sfarthin" + "login": "gabrielfior", + "html_url": "https://github.com/gabrielfior" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1858, - "title": "Platform User roles to allow or disable project creation", - "href": "https://github.com/orgs/langfuse/discussions/1858", - "created_at": "2024-04-25T16:00:12Z", + "number": 1860, + "title": "Alter generation names with LangChain integration", + "href": "https://github.com/orgs/langfuse/discussions/1860", + "created_at": "2024-04-25T18:12:35Z", "upvotes": 1, - "comment_count": 2, - "resolved": false, + "comment_count": 1, + "resolved": true, "labels": [ - "✅ Done", - "feat-rbac" + "integration-langchain" ], "author": { - "login": "JMcGenn", - "html_url": "https://github.com/JMcGenn" + "login": "nic-asnes-klaviyo", + "html_url": "https://github.com/nic-asnes-klaviyo" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1851, - "title": "[oauth] Keycloak provider support", - "href": "https://github.com/orgs/langfuse/discussions/1851", - "created_at": "2024-04-25T12:39:26Z", - "upvotes": 7, + "number": 1831, + "title": "how to check only output tokens and models costs related to only output tokens?", + "href": "https://github.com/orgs/langfuse/discussions/1831", + "created_at": "2024-04-24T12:27:17Z", + "upvotes": 2, "comment_count": 1, "resolved": false, - "labels": [ - "self-hosting" - ], + "labels": [], "author": { - "login": "9teen90nine", - "html_url": "https://github.com/9teen90nine" + "login": "manishiitg", + "html_url": "https://github.com/manishiitg" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1843, - "title": "Support GigaChat model from LangChain", - "href": "https://github.com/orgs/langfuse/discussions/1843", - "created_at": "2024-04-25T09:24:07Z", + "number": 1814, + "title": "Deploy to heroku", + "href": "https://github.com/orgs/langfuse/discussions/1814", + "created_at": "2024-04-23T13:56:27Z", "upvotes": 1, - "comment_count": 0, - "resolved": false, + "comment_count": 2, + "resolved": true, "labels": [ - "integration-langchain" + "self-hosting" ], "author": { - "login": "Rai220", - "html_url": "https://github.com/Rai220" + "login": "MarcoSteinke", + "html_url": "https://github.com/MarcoSteinke" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1830, - "title": "Decorator should also be able to return JSON or Dictionary object", - "href": "https://github.com/orgs/langfuse/discussions/1830", - "created_at": "2024-04-24T09:41:39Z", - "upvotes": 1, - "comment_count": 2, + "number": 1788, + "title": "Need help with resolving long runtimes when Langfuse tracing is enabled", + "href": "https://github.com/orgs/langfuse/discussions/1788", + "created_at": "2024-04-19T17:46:05Z", + "upvotes": 2, + "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "nathan-vo810", - "html_url": "https://github.com/nathan-vo810" + "login": "pooja1423", + "html_url": "https://github.com/pooja1423" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1826, - "title": "Having a session_with_user client", - "href": "https://github.com/orgs/langfuse/discussions/1826", - "created_at": "2024-04-24T08:31:05Z", + "number": 1785, + "title": "How to limit the number of traces", + "href": "https://github.com/orgs/langfuse/discussions/1785", + "created_at": "2024-04-19T10:29:17Z", "upvotes": 1, - "comment_count": 0, + "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "rtzy7", - "html_url": "https://github.com/rtzy7" + "login": "secsilm", + "html_url": "https://github.com/secsilm" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1823, - "title": "Change `/api/chatCompletion` to be a standard OpenAI proxy on `/api/v1/chat/completions`?", - "href": "https://github.com/orgs/langfuse/discussions/1823", - "created_at": "2024-04-23T19:48:34Z", + "number": 1773, + "title": "Flowise 1.6.5 can not Trace", + "href": "https://github.com/orgs/langfuse/discussions/1773", + "created_at": "2024-04-18T11:55:32Z", "upvotes": 1, "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "Manouchehri", - "html_url": "https://github.com/Manouchehri" + "login": "lknbv5", + "html_url": "https://github.com/lknbv5" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1820, - "title": "Auth using Microsoft Entra ID", - "href": "https://github.com/orgs/langfuse/discussions/1820", - "created_at": "2024-04-23T18:32:42Z", + "number": 1759, + "title": "How to get generations and scores in the same trace when using OpenAI sdk or other tools", + "href": "https://github.com/orgs/langfuse/discussions/1759", + "created_at": "2024-04-17T15:56:51Z", "upvotes": 1, - "comment_count": 2, + "comment_count": 1, "resolved": false, - "labels": [ - "✅ Done", - "self-hosting" - ], + "labels": [], "author": { - "login": "Stadly", - "html_url": "https://github.com/Stadly" + "login": "databill86", + "html_url": "https://github.com/databill86" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1816, - "title": "Add a metrics endpoint for Prometheus", - "href": "https://github.com/orgs/langfuse/discussions/1816", - "created_at": "2024-04-23T14:33:38Z", - "upvotes": 5, - "comment_count": 2, + "number": 1712, + "title": "Invalid public key", + "href": "https://github.com/orgs/langfuse/discussions/1712", + "created_at": "2024-04-14T18:11:51Z", + "upvotes": 1, + "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "nolwennz", - "html_url": "https://github.com/nolwennz" + "login": "taaha3244", + "html_url": "https://github.com/taaha3244" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1813, - "title": "Provide an integration with Matomo Analytics so as for Posthog", - "href": "https://github.com/orgs/langfuse/discussions/1813", - "created_at": "2024-04-23T12:24:41Z", - "upvotes": 12, - "comment_count": 4, + "number": 1672, + "title": "Cookies not allowed", + "href": "https://github.com/orgs/langfuse/discussions/1672", + "created_at": "2024-04-11T07:43:53Z", + "upvotes": 1, + "comment_count": 3, "resolved": false, - "labels": [ - "integrations" - ], + "labels": [], "author": { - "login": "Chardonneaur", - "html_url": "https://github.com/Chardonneaur" + "login": "danielpirs", + "html_url": "https://github.com/danielpirs" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1800, - "title": "Add command r/command r plus via Azure Marketplace", - "href": "https://github.com/orgs/langfuse/discussions/1800", - "created_at": "2024-04-22T16:11:38Z", - "upvotes": 2, - "comment_count": 2, + "number": 1649, + "title": "Run Langchain Evaluations on data in Langfuse , Why is the prompt not considered, and could this lead to evaluation flaws?", + "href": "https://github.com/orgs/langfuse/discussions/1649", + "created_at": "2024-04-10T05:25:28Z", + "upvotes": 1, + "comment_count": 1, "resolved": false, - "labels": [ - "bug", - "integration-langchain" - ], + "labels": [], "author": { - "login": "jayfk", - "html_url": "https://github.com/jayfk" + "login": "pengpengIlove", + "html_url": "https://github.com/pengpengIlove" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1794, - "title": "User-level dashboard", - "href": "https://github.com/orgs/langfuse/discussions/1794", - "created_at": "2024-04-22T01:56:15Z", - "upvotes": 1, - "comment_count": 1, - "resolved": false, - "labels": [ - "feat-users" - ], - "author": { - "login": "secsilm", - "html_url": "https://github.com/secsilm" - }, - "category": "Ideas" - }, - { - "number": 1793, - "title": "Request chart of min/avg/max input/output tokens", - "href": "https://github.com/orgs/langfuse/discussions/1793", - "created_at": "2024-04-21T13:33:39Z", - "upvotes": 2, - "comment_count": 1, - "resolved": false, - "labels": [], - "author": { - "login": "secsilm", - "html_url": "https://github.com/secsilm" - }, - "category": "Ideas" - }, - { - "number": 1783, - "title": "Limit new user registration", - "href": "https://github.com/orgs/langfuse/discussions/1783", - "created_at": "2024-04-19T09:34:55Z", + "number": 1610, + "title": "Scoring a trace after the LLM chain returns", + "href": "https://github.com/orgs/langfuse/discussions/1610", + "created_at": "2024-04-07T15:12:34Z", "upvotes": 1, "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [ - "self-hosting" + "feat-scores" ], "author": { - "login": "secsilm", - "html_url": "https://github.com/secsilm" + "login": "pooja1423", + "html_url": "https://github.com/pooja1423" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1781, - "title": "feature for python client:get traces by score", - "href": "https://github.com/orgs/langfuse/discussions/1781", - "created_at": "2024-04-19T09:12:48Z", + "number": 1601, + "title": "Okta auth got `read ECONNRESET`", + "href": "https://github.com/orgs/langfuse/discussions/1601", + "created_at": "2024-04-04T03:46:08Z", "upvotes": 1, - "comment_count": 1, + "comment_count": 2, "resolved": false, "labels": [], "author": { - "login": "StarsSparkle", - "html_url": "https://github.com/StarsSparkle" + "login": "tmwatchanan", + "html_url": "https://github.com/tmwatchanan" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1780, - "title": "Log for Function Calling", - "href": "https://github.com/orgs/langfuse/discussions/1780", - "created_at": "2024-04-19T06:40:55Z", - "upvotes": 6, + "number": 1538, + "title": "Trace input is null when passing in nodes, or Documents with transformations to VectorStoreIndex constructor", + "href": "https://github.com/orgs/langfuse/discussions/1538", + "created_at": "2024-03-29T00:30:49Z", + "upvotes": 1, "comment_count": 1, "resolved": false, - "labels": [ - "integration-openai" - ], + "labels": [], "author": { - "login": "jaindees", - "html_url": "https://github.com/jaindees" + "login": "mwertheim-zco", + "html_url": "https://github.com/mwertheim-zco" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1776, - "title": "SSO: Cognito", - "href": "https://github.com/orgs/langfuse/discussions/1776", - "created_at": "2024-04-18T20:40:43Z", + "number": 1536, + "title": "Tracing and Session support on Integrations like LiteLLM Proxy and others and Is LangFuse logging a background process?", + "href": "https://github.com/orgs/langfuse/discussions/1536", + "created_at": "2024-03-28T20:22:49Z", "upvotes": 1, - "comment_count": 2, - "resolved": false, + "comment_count": 1, + "resolved": true, "labels": [ - "✅ Done", - "self-hosting" + "integration-litellm", + "feat-sessions" ], "author": { - "login": "theluk", - "html_url": "https://github.com/theluk" + "login": "Harryalways317", + "html_url": "https://github.com/Harryalways317" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1774, - "title": "PromptClient: Support mustache type export to langchain", - "href": "https://github.com/orgs/langfuse/discussions/1774", - "created_at": "2024-04-18T18:52:40Z", - "upvotes": 1, + "number": 1528, + "title": "Aggregated project from multiple langfuse servers", + "href": "https://github.com/orgs/langfuse/discussions/1528", + "created_at": "2024-03-28T09:01:37Z", + "upvotes": 3, "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "maxjacu", - "html_url": "https://github.com/maxjacu" + "login": "juan-abia", + "html_url": "https://github.com/juan-abia" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1770, - "title": "New REST API endpoint to get all prompts", - "href": "https://github.com/orgs/langfuse/discussions/1770", - "created_at": "2024-04-18T02:40:14Z", + "number": 1524, + "title": "How to add default user and project to self-hosted docker?", + "href": "https://github.com/orgs/langfuse/discussions/1524", + "created_at": "2024-03-28T08:00:07Z", "upvotes": 1, "comment_count": 2, - "resolved": false, - "labels": [], + "resolved": true, + "labels": [ + "self-hosting" + ], "author": { - "login": "zoltan-fedor", - "html_url": "https://github.com/zoltan-fedor" + "login": "tzsombor95", + "html_url": "https://github.com/tzsombor95" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1769, - "title": "Request chart of the generation speed of tokens (tokens/s)", - "href": "https://github.com/orgs/langfuse/discussions/1769", - "created_at": "2024-04-18T02:14:37Z", - "upvotes": 1, + "number": 1512, + "title": "[Alerts] Connect to Slack", + "href": "https://github.com/orgs/langfuse/discussions/1512", + "created_at": "2024-03-27T08:04:49Z", + "upvotes": 4, "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [], "author": { - "login": "secsilm", - "html_url": "https://github.com/secsilm" + "login": "hypernovas", + "html_url": "https://github.com/hypernovas" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1760, - "title": "annotation of traces in langfuse console?", - "href": "https://github.com/orgs/langfuse/discussions/1760", - "created_at": "2024-04-17T17:51:47Z", - "upvotes": 3, - "comment_count": 2, - "resolved": false, + "number": 1486, + "title": "Update/delete score using python sdk", + "href": "https://github.com/orgs/langfuse/discussions/1486", + "created_at": "2024-03-25T20:13:55Z", + "upvotes": 5, + "comment_count": 1, + "resolved": true, "labels": [ - "✅ Done", - "feat-annotation" + "feat-scores" ], "author": { - "login": "erik-squared", - "html_url": "https://github.com/erik-squared" + "login": "msanand", + "html_url": "https://github.com/msanand" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1755, - "title": "feat: Prompt API Search (by tags)", - "href": "https://github.com/orgs/langfuse/discussions/1755", - "created_at": "2024-04-17T09:37:50Z", - "upvotes": 2, - "comment_count": 2, - "resolved": false, + "number": 1481, + "title": "502-Bad Request", + "href": "https://github.com/orgs/langfuse/discussions/1481", + "created_at": "2024-03-22T13:06:18Z", + "upvotes": 1, + "comment_count": 3, + "resolved": true, "labels": [ - "✅ Done" + "self-hosting" ], "author": { - "login": "bryan-agicap", - "html_url": "https://github.com/bryan-agicap" + "login": "tbarbito", + "html_url": "https://github.com/tbarbito" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1744, - "title": "Is it possible to support Dify?", - "href": "https://github.com/orgs/langfuse/discussions/1744", - "created_at": "2024-04-16T20:55:11Z", - "upvotes": 2, - "comment_count": 2, + "number": 1466, + "title": "bug: Potential bug with AzureAD auth setup", + "href": "https://github.com/orgs/langfuse/discussions/1466", + "created_at": "2024-03-22T07:12:43Z", + "upvotes": 1, + "comment_count": 1, "resolved": false, "labels": [ - "integrations", - "✅ Done", - "integration-dify" + "self-hosting" ], "author": { - "login": "jtsang4", - "html_url": "https://github.com/jtsang4" + "login": "mprudra", + "html_url": "https://github.com/mprudra" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1716, - "title": "feat: Add `TRACE_EVENTS` flag", - "href": "https://github.com/orgs/langfuse/discussions/1716", - "created_at": "2024-04-15T12:29:30Z", + "number": 1449, + "title": "Langfuse session ID when using Chainlit", + "href": "https://github.com/orgs/langfuse/discussions/1449", + "created_at": "2024-03-20T00:57:09Z", "upvotes": 1, "comment_count": 2, "resolved": false, - "labels": [ - "✅ Done" - ], + "labels": [], "author": { - "login": "JorisAndrade", - "html_url": "https://github.com/JorisAndrade" + "login": "tituslhy", + "html_url": "https://github.com/tituslhy" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1715, - "title": "Add support for ZITADEL OIDC", - "href": "https://github.com/orgs/langfuse/discussions/1715", - "created_at": "2024-04-15T12:27:54Z", + "number": 1445, + "title": "Linking dataset run items with existing callback handler", + "href": "https://github.com/orgs/langfuse/discussions/1445", + "created_at": "2024-03-19T16:54:54Z", "upvotes": 1, "comment_count": 1, "resolved": false, "labels": [ - "self-hosting" + "feat-datasets" ], "author": { - "login": "bitfactory-sem-denbroeder", - "html_url": "https://github.com/bitfactory-sem-denbroeder" + "login": "subandwho", + "html_url": "https://github.com/subandwho" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1711, - "title": "Webhook to trigger CI/CD pipeline when new prompt version is created", - "href": "https://github.com/orgs/langfuse/discussions/1711", - "created_at": "2024-04-14T13:46:30Z", - "upvotes": 5, + "number": 1434, + "title": "Add UserID and Feedback when using LlamaIndex Integration", + "href": "https://github.com/orgs/langfuse/discussions/1434", + "created_at": "2024-03-18T20:24:29Z", + "upvotes": 1, "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [ - "feat-prompt-management", - "feat-api" + "integraton-llamaindex" ], "author": { - "login": "tamdoEH", - "html_url": "https://github.com/tamdoEH" + "login": "skelleex", + "html_url": "https://github.com/skelleex" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1710, - "title": "Review feature for prompt deployment", - "href": "https://github.com/orgs/langfuse/discussions/1710", - "created_at": "2024-04-14T13:39:50Z", - "upvotes": 3, - "comment_count": 3, + "number": 1432, + "title": "langfuse.api.resources.commons.errors.not_found_error.NotFoundError: status_code: 404, body: {'message': 'Observation not found'}", + "href": "https://github.com/orgs/langfuse/discussions/1432", + "created_at": "2024-03-18T13:29:05Z", + "upvotes": 1, + "comment_count": 1, "resolved": false, - "labels": [ - "feat-prompt-management" - ], + "labels": [], "author": { - "login": "tamdoEH", - "html_url": "https://github.com/tamdoEH" + "login": "emailic", + "html_url": "https://github.com/emailic" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1707, - "title": "API for custom model <> token usage pricing", - "href": "https://github.com/orgs/langfuse/discussions/1707", - "created_at": "2024-04-13T22:37:38Z", - "upvotes": 3, + "number": 1429, + "title": "Hybrid usage Langfuse among OpenAI calls as well Langchain", + "href": "https://github.com/orgs/langfuse/discussions/1429", + "created_at": "2024-03-17T14:09:57Z", + "upvotes": 1, + "comment_count": 1, + "resolved": true, + "labels": [], + "author": { + "login": "mikeon", + "html_url": "https://github.com/mikeon" + }, + "category": "Support" + }, + { + "number": 1420, + "title": "Datasets list / by id", + "href": "https://github.com/orgs/langfuse/discussions/1420", + "created_at": "2024-03-15T02:22:27Z", + "upvotes": 2, "comment_count": 2, - "resolved": false, + "resolved": true, "labels": [ - "✅ Done", - "feat-api" + "feat-datasets" ], "author": { - "login": "rydamckinney", - "html_url": "https://github.com/rydamckinney" + "login": "norton120", + "html_url": "https://github.com/norton120" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1696, - "title": "Export & import for prompts, copy between projects", - "href": "https://github.com/orgs/langfuse/discussions/1696", - "created_at": "2024-04-12T20:28:47Z", - "upvotes": 16, - "comment_count": 7, - "resolved": false, - "labels": [ - "feat-prompt-management" - ], + "number": 1417, + "title": "Running Langfuse in Kubernetes", + "href": "https://github.com/orgs/langfuse/discussions/1417", + "created_at": "2024-03-14T19:59:42Z", + "upvotes": 1, + "comment_count": 2, + "resolved": true, + "labels": [], "author": { - "login": "zoltan-fedor", - "html_url": "https://github.com/zoltan-fedor" + "login": "mikeon", + "html_url": "https://github.com/mikeon" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1692, - "title": "Read-only prompt keys?", - "href": "https://github.com/orgs/langfuse/discussions/1692", - "created_at": "2024-04-12T00:57:44Z", + "number": 1382, + "title": "Match LLMs from AWS Bedrock to added model definition", + "href": "https://github.com/orgs/langfuse/discussions/1382", + "created_at": "2024-03-09T08:28:53Z", "upvotes": 2, - "comment_count": 2, + "comment_count": 0, "resolved": false, "labels": [], "author": { - "login": "Manouchehri", - "html_url": "https://github.com/Manouchehri" + "login": "DominikNeumaier", + "html_url": "https://github.com/DominikNeumaier" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1671, - "title": "Ability to run langfuse in tests automatically without manual involvement", - "href": "https://github.com/orgs/langfuse/discussions/1671", - "created_at": "2024-04-11T05:29:44Z", + "number": 1380, + "title": "Langfuse flush() taking a long time and hangs", + "href": "https://github.com/orgs/langfuse/discussions/1380", + "created_at": "2024-03-09T00:09:55Z", "upvotes": 1, "comment_count": 2, - "resolved": false, - "labels": [ - "✅ Done", - "self-hosting" - ], + "resolved": true, + "labels": [], "author": { - "login": "SinghCoder", - "html_url": "https://github.com/SinghCoder" + "login": "venu-shapley", + "html_url": "https://github.com/venu-shapley" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1664, - "title": "\"Task\" and \"Bot\" core abstractions", - "href": "https://github.com/orgs/langfuse/discussions/1664", - "created_at": "2024-04-10T20:24:53Z", - "upvotes": 2, + "number": 1373, + "title": "How to fix error when running docs app demo chat", + "href": "https://github.com/orgs/langfuse/discussions/1373", + "created_at": "2024-03-08T00:08:46Z", + "upvotes": 1, "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [], "author": { - "login": "sfarthin", - "html_url": "https://github.com/sfarthin" + "login": "luandro", + "html_url": "https://github.com/luandro" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1660, - "title": "Prompt Composability", - "href": "https://github.com/orgs/langfuse/discussions/1660", - "created_at": "2024-04-10T15:25:05Z", - "upvotes": 10, - "comment_count": 5, - "resolved": false, + "number": 1357, + "title": "Run items not appearing when linking to a trace and not a span or a generation", + "href": "https://github.com/orgs/langfuse/discussions/1357", + "created_at": "2024-03-07T10:17:34Z", + "upvotes": 1, + "comment_count": 2, + "resolved": true, "labels": [ - "feat-prompt-management" + "feat-datasets" ], "author": { - "login": "meissnereric", - "html_url": "https://github.com/meissnereric" + "login": "ladislasdellinger", + "html_url": "https://github.com/ladislasdellinger" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1633, - "title": "feat: Function Calling Under OpenAI Format", - "href": "https://github.com/orgs/langfuse/discussions/1633", - "created_at": "2024-04-09T08:49:58Z", - "upvotes": 2, + "number": 1353, + "title": "How do I add custom LLM APIs to the Langfuse UI?", + "href": "https://github.com/orgs/langfuse/discussions/1353", + "created_at": "2024-03-07T06:33:23Z", + "upvotes": 0, "comment_count": 1, "resolved": false, - "labels": [ - "feat-playground" - ], + "labels": [], "author": { - "login": "anhphong22", - "html_url": "https://github.com/anhphong22" + "login": "yudhiesh", + "html_url": "https://github.com/yudhiesh" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1630, - "title": "Groq - Mixtral", - "href": "https://github.com/orgs/langfuse/discussions/1630", - "created_at": "2024-04-09T05:11:12Z", + "number": 1336, + "title": "Applying database migrations failed. This is mostly caused by the database being unavailable.", + "href": "https://github.com/orgs/langfuse/discussions/1336", + "created_at": "2024-03-06T09:10:19Z", "upvotes": 1, - "comment_count": 1, + "comment_count": 2, "resolved": false, "labels": [], "author": { - "login": "mike4lyf", - "html_url": "https://github.com/mike4lyf" + "login": "everyfin-in", + "html_url": "https://github.com/everyfin-in" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1627, - "title": "VertexAI support", - "href": "https://github.com/orgs/langfuse/discussions/1627", - "created_at": "2024-04-08T22:43:38Z", - "upvotes": 3, - "comment_count": 1, + "number": 1335, + "title": "Openai and null traces for input/output/metadata", + "href": "https://github.com/orgs/langfuse/discussions/1335", + "created_at": "2024-03-06T02:02:46Z", + "upvotes": 2, + "comment_count": 0, "resolved": false, - "labels": [ - "integration-langchain" - ], + "labels": [], "author": { - "login": "eles13", - "html_url": "https://github.com/eles13" + "login": "aiakubovich", + "html_url": "https://github.com/aiakubovich" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1613, - "title": "[Feature] Add a score value filter", - "href": "https://github.com/orgs/langfuse/discussions/1613", - "created_at": "2024-04-08T07:58:58Z", + "number": 1328, + "title": "Incompatibility between openllmetry and langfuse OpenAI wrapper", + "href": "https://github.com/orgs/langfuse/discussions/1328", + "created_at": "2024-03-05T17:03:34Z", "upvotes": 1, - "comment_count": 0, + "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "Hacky-DH", - "html_url": "https://github.com/Hacky-DH" + "login": "pamelafox", + "html_url": "https://github.com/pamelafox" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1612, - "title": "DSPY integration", - "href": "https://github.com/orgs/langfuse/discussions/1612", - "created_at": "2024-04-07T18:54:32Z", + "number": 1326, + "title": "Does Langfuse integrate with LiteLLM Proxy Server?", + "href": "https://github.com/orgs/langfuse/discussions/1326", + "created_at": "2024-03-05T15:25:37Z", "upvotes": 1, "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [], "author": { - "login": "wdhitchc", - "html_url": "https://github.com/wdhitchc" + "login": "alphanome", + "html_url": "https://github.com/alphanome" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1566, - "title": "LangchainCallbackHandler httpx_client not accessible", - "href": "https://github.com/orgs/langfuse/discussions/1566", - "created_at": "2024-04-03T09:18:12Z", - "upvotes": 2, + "number": 1325, + "title": "Do you need a helm chart of langfuse?", + "href": "https://github.com/orgs/langfuse/discussions/1325", + "created_at": "2024-03-05T15:02:42Z", + "upvotes": 1, "comment_count": 1, "resolved": false, - "labels": [ - "integration-langchain" - ], + "labels": [], "author": { - "login": "dlmatt", - "html_url": "https://github.com/dlmatt" + "login": "artemus717", + "html_url": "https://github.com/artemus717" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1541, - "title": "Disable events logging", - "href": "https://github.com/orgs/langfuse/discussions/1541", - "created_at": "2024-03-29T18:08:13Z", - "upvotes": 8, - "comment_count": 3, - "resolved": false, - "labels": [ - "✅ Done" - ], + "number": 1323, + "title": "When referencing the local langfuse in the langserve code, an error occurs:“ImportError: cannot import name 'ChatDeepInfra' from 'langchain_community.chat_models...”", + "href": "https://github.com/orgs/langfuse/discussions/1323", + "created_at": "2024-03-05T13:03:49Z", + "upvotes": 2, + "comment_count": 2, + "resolved": true, + "labels": [], "author": { - "login": "omgovich", - "html_url": "https://github.com/omgovich" + "login": "zhenlong-zhu", + "html_url": "https://github.com/zhenlong-zhu" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1535, - "title": "Request for Integration of Mistral Models into Langfuse", - "href": "https://github.com/orgs/langfuse/discussions/1535", - "created_at": "2024-03-28T16:10:25Z", - "upvotes": 5, - "comment_count": 2, - "resolved": false, + "number": 1225, + "title": "Can Langfuse be used to record the records of ConversationChain in LangChain?", + "href": "https://github.com/orgs/langfuse/discussions/1225", + "created_at": "2024-02-22T09:24:34Z", + "upvotes": 1, + "comment_count": 1, + "resolved": true, "labels": [ - "integrations", - "✅ Done" + "integration-langchain" ], "author": { - "login": "Zherdev1996", - "html_url": "https://github.com/Zherdev1996" + "login": "lyzltysgithub", + "html_url": "https://github.com/lyzltysgithub" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1533, - "title": "Managing Embeddings", - "href": "https://github.com/orgs/langfuse/discussions/1533", - "created_at": "2024-03-28T15:36:21Z", + "number": 1193, + "title": "What is the shadow database needed for?", + "href": "https://github.com/orgs/langfuse/discussions/1193", + "created_at": "2024-02-17T08:23:33Z", "upvotes": 1, - "comment_count": 0, - "resolved": false, + "comment_count": 2, + "resolved": true, "labels": [], "author": { - "login": "Botman-Hotman", - "html_url": "https://github.com/Botman-Hotman" + "login": "Stadly", + "html_url": "https://github.com/Stadly" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1513, - "title": "Langfuse Trace with OpenAI Assistants", - "href": "https://github.com/orgs/langfuse/discussions/1513", - "created_at": "2024-03-27T11:47:19Z", - "upvotes": 10, - "comment_count": 5, - "resolved": false, + "number": 1184, + "title": "Unable to set session id or other CallbackHandler parameters when passing trace client in langchain sdk", + "href": "https://github.com/orgs/langfuse/discussions/1184", + "created_at": "2024-02-16T08:01:51Z", + "upvotes": 1, + "comment_count": 1, + "resolved": true, "labels": [ - "integration-openai" + "integration-langchain" ], "author": { - "login": "marco-introvigne", - "html_url": "https://github.com/marco-introvigne" + "login": "sasidevtool", + "html_url": "https://github.com/sasidevtool" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1500, - "title": "Comment column can have any name the user chooses, there could be multiple comment columns per metric", - "href": "https://github.com/orgs/langfuse/discussions/1500", - "created_at": "2024-03-26T08:42:45Z", - "upvotes": 1, - "comment_count": 1, - "resolved": false, - "labels": [], + "number": 1186, + "title": "How to set tags when using the Langchain Callback handler", + "href": "https://github.com/orgs/langfuse/discussions/1186", + "created_at": "2024-02-16T05:47:31Z", + "upvotes": 2, + "comment_count": 2, + "resolved": true, + "labels": [ + "sdk-python", + "integration-langchain", + "feat-tags" + ], "author": { - "login": "emailic", - "html_url": "https://github.com/emailic" + "login": "reza-mohideen", + "html_url": "https://github.com/reza-mohideen" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1488, - "title": "Make Langfuse switchable", - "href": "https://github.com/orgs/langfuse/discussions/1488", - "created_at": "2024-03-25T21:05:17Z", + "number": 1179, + "title": "Ollama token counts", + "href": "https://github.com/orgs/langfuse/discussions/1179", + "created_at": "2024-02-15T23:38:39Z", "upvotes": 2, - "comment_count": 1, - "resolved": false, - "labels": [], + "comment_count": 2, + "resolved": true, + "labels": [ + "feat-cost-tracking" + ], "author": { - "login": "MrMojoR", - "html_url": "https://github.com/MrMojoR" + "login": "aiseei", + "html_url": "https://github.com/aiseei" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1479, - "title": "Add total filtered Generations to UI", - "href": "https://github.com/orgs/langfuse/discussions/1479", - "created_at": "2024-03-24T17:19:51Z", + "number": 1310, + "title": "Trace of custom classes gives nondescriptive info", + "href": "https://github.com/orgs/langfuse/discussions/1310", + "created_at": "2024-02-06T14:13:26Z", "upvotes": 1, "comment_count": 0, "resolved": false, "labels": [], "author": { - "login": "PhiBrandon", - "html_url": "https://github.com/PhiBrandon" + "login": "mjungiewicz-exadel", + "html_url": "https://github.com/mjungiewicz-exadel" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1461, - "title": "Loose prisma datasource db provider.", - "href": "https://github.com/orgs/langfuse/discussions/1461", - "created_at": "2024-03-21T13:09:15Z", + "number": 1091, + "title": "How to pass span id to OpenAI `chat.completions.create`", + "href": "https://github.com/orgs/langfuse/discussions/1091", + "created_at": "2024-02-06T09:33:30Z", "upvotes": 1, "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [ - "self-hosting" + "integration-openai" ], "author": { - "login": "muazhari", - "html_url": "https://github.com/muazhari" + "login": "techytushar", + "html_url": "https://github.com/techytushar" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1460, - "title": "Langfuse images for arm64 (mac silicon, some cloud vms)", - "href": "https://github.com/orgs/langfuse/discussions/1460", - "created_at": "2024-03-21T05:48:56Z", + "number": 1081, + "title": "Sessions vs Traces?", + "href": "https://github.com/orgs/langfuse/discussions/1081", + "created_at": "2024-02-05T21:06:03Z", "upvotes": 1, - "comment_count": 1, - "resolved": false, - "labels": [], - "author": { - "login": "verdverm", - "html_url": "https://github.com/verdverm" - }, - "category": "Ideas" - }, - { - "number": 1454, - "title": "Add a time based filter option", - "href": "https://github.com/orgs/langfuse/discussions/1454", - "created_at": "2024-03-20T16:06:15Z", - "upvotes": 4, "comment_count": 2, - "resolved": false, + "resolved": true, "labels": [ - "✅ Done" + "feat-sessions" ], "author": { - "login": "Kurumindla-Kranthivardhan", - "html_url": "https://github.com/Kurumindla-Kranthivardhan" + "login": "Manouchehri", + "html_url": "https://github.com/Manouchehri" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1431, - "title": "Integration with Langserve", - "href": "https://github.com/orgs/langfuse/discussions/1431", - "created_at": "2024-03-18T08:40:32Z", + "number": 1071, + "title": "feat: support for custom httpx.client", + "href": "https://github.com/orgs/langfuse/discussions/1071", + "created_at": "2024-02-05T06:35:23Z", "upvotes": 1, "comment_count": 2, "resolved": false, "labels": [], "author": { - "login": "Haxeebraja", - "html_url": "https://github.com/Haxeebraja" + "login": "brandonkzw", + "html_url": "https://github.com/brandonkzw" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1428, - "title": "allow to delete sessions", - "href": "https://github.com/orgs/langfuse/discussions/1428", - "created_at": "2024-03-16T15:56:35Z", - "upvotes": 4, - "comment_count": 2, - "resolved": false, - "labels": [ - "feat-sessions" + "number": 1070, + "title": "Where to log request and response headers of generations? (litellm)", + "href": "https://github.com/orgs/langfuse/discussions/1070", + "created_at": "2024-02-05T02:40:38Z", + "upvotes": 1, + "comment_count": 2, + "resolved": true, + "labels": [ + "integration-litellm" ], "author": { - "login": "morganveyret", - "html_url": "https://github.com/morganveyret" + "login": "Manouchehri", + "html_url": "https://github.com/Manouchehri" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1427, - "title": "Toggle collection of traces on a per-trace basis", - "href": "https://github.com/orgs/langfuse/discussions/1427", - "created_at": "2024-03-16T15:19:07Z", + "number": 1055, + "title": "Best way to flush LF in Next.js?", + "href": "https://github.com/orgs/langfuse/discussions/1055", + "created_at": "2024-02-02T17:50:58Z", "upvotes": 1, "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [], "author": { - "login": "foragerr", - "html_url": "https://github.com/foragerr" + "login": "gullerg", + "html_url": "https://github.com/gullerg" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1415, - "title": "Add a \"correction\" field on the user feedback info", - "href": "https://github.com/orgs/langfuse/discussions/1415", - "created_at": "2024-03-14T14:18:30Z", - "upvotes": 3, - "comment_count": 2, - "resolved": false, + "number": 1054, + "title": "Sentry for self-hosted?", + "href": "https://github.com/orgs/langfuse/discussions/1054", + "created_at": "2024-02-02T17:21:06Z", + "upvotes": 1, + "comment_count": 1, + "resolved": true, "labels": [], "author": { - "login": "almirb", - "html_url": "https://github.com/almirb" + "login": "Manouchehri", + "html_url": "https://github.com/Manouchehri" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1408, - "title": "Trace Latencies line chart please", - "href": "https://github.com/orgs/langfuse/discussions/1408", - "created_at": "2024-03-13T15:00:35Z", - "upvotes": 2, - "comment_count": 0, - "resolved": false, - "labels": [], + "number": 1051, + "title": "How can I get the trace_id in langfuse.openai.OpenAI?", + "href": "https://github.com/orgs/langfuse/discussions/1051", + "created_at": "2024-02-02T09:39:55Z", + "upvotes": 1, + "comment_count": 1, + "resolved": true, + "labels": [ + "integration-openai" + ], "author": { - "login": "Huarong", - "html_url": "https://github.com/Huarong" + "login": "yangge2333", + "html_url": "https://github.com/yangge2333" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1398, - "title": "What standardized dataset formats are people using?", - "href": "https://github.com/orgs/langfuse/discussions/1398", - "created_at": "2024-03-12T15:47:53Z", + "number": 1044, + "title": "AWS SES IAM Policy", + "href": "https://github.com/orgs/langfuse/discussions/1044", + "created_at": "2024-02-02T01:58:26Z", "upvotes": 2, - "comment_count": 0, + "comment_count": 1, "resolved": false, - "labels": [ - "feat-datasets" - ], + "labels": [], "author": { - "login": "norton120", - "html_url": "https://github.com/norton120" + "login": "Manouchehri", + "html_url": "https://github.com/Manouchehri" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1397, - "title": "Reorder columns in tables", - "href": "https://github.com/orgs/langfuse/discussions/1397", - "created_at": "2024-03-12T14:45:37Z", + "number": 1019, + "title": "WAF Rules for self-hosted", + "href": "https://github.com/orgs/langfuse/discussions/1019", + "created_at": "2024-02-01T01:41:51Z", "upvotes": 3, - "comment_count": 2, + "comment_count": 0, "resolved": false, - "labels": [ - "✅ Done" - ], + "labels": [], "author": { - "login": "marcklingen", - "html_url": "https://github.com/marcklingen" + "login": "Manouchehri", + "html_url": "https://github.com/Manouchehri" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1394, - "title": "Adding a \"Select all\" button to tables", - "href": "https://github.com/orgs/langfuse/discussions/1394", - "created_at": "2024-03-12T10:37:23Z", - "upvotes": 2, + "number": 1016, + "title": "Scaling / Parallelism / Concurrency safe?", + "href": "https://github.com/orgs/langfuse/discussions/1016", + "created_at": "2024-01-31T22:33:36Z", + "upvotes": 1, "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [], "author": { - "login": "samyxdev", - "html_url": "https://github.com/samyxdev" + "login": "Manouchehri", + "html_url": "https://github.com/Manouchehri" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1392, - "title": "Hide prompts/completions (privacy)", - "href": "https://github.com/orgs/langfuse/discussions/1392", - "created_at": "2024-03-12T07:48:22Z", - "upvotes": 10, + "number": 1013, + "title": "Building Docker container without database connection?", + "href": "https://github.com/orgs/langfuse/discussions/1013", + "created_at": "2024-01-31T19:32:47Z", + "upvotes": 1, + "comment_count": 2, + "resolved": true, + "labels": [], + "author": { + "login": "Manouchehri", + "html_url": "https://github.com/Manouchehri" + }, + "category": "Support" + }, + { + "number": 973, + "title": "If we use cloud services, when we migrate to our own host later, do all the above data support export?", + "href": "https://github.com/orgs/langfuse/discussions/973", + "created_at": "2024-01-27T09:55:41Z", + "upvotes": 1, "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [], "author": { - "login": "ziodave", - "html_url": "https://github.com/ziodave" + "login": "wsdo", + "html_url": "https://github.com/wsdo" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1391, - "title": "Enhancements for Langfuse User Sign-Up Control", - "href": "https://github.com/orgs/langfuse/discussions/1391", - "created_at": "2024-03-11T23:38:18Z", - "upvotes": 7, - "comment_count": 0, - "resolved": false, + "number": 866, + "title": "Cannot see Add to Dataset button in the UI", + "href": "https://github.com/orgs/langfuse/discussions/866", + "created_at": "2024-01-11T09:12:16Z", + "upvotes": 1, + "comment_count": 2, + "resolved": true, "labels": [ - "self-hosting" + "feat-datasets" ], "author": { - "login": "udit-001", - "html_url": "https://github.com/udit-001" + "login": "SinghCoder", + "html_url": "https://github.com/SinghCoder" }, - "category": "Ideas" - }, + "category": "Support" + } + ] + }, + { + "category": "Ideas", + "discussions": [ { - "number": 1385, - "title": "bug: Not allowing to limit Azure AD authentication for selected users in same tenent", - "href": "https://github.com/orgs/langfuse/discussions/1385", - "created_at": "2024-03-11T17:42:05Z", - "upvotes": 2, - "comment_count": 2, + "number": 4414, + "title": "langfuse-python: simple static method listing prompt template var names", + "href": "https://github.com/orgs/langfuse/discussions/4414", + "created_at": "2024-11-25T16:28:05Z", + "upvotes": 1, + "comment_count": 1, "resolved": false, "labels": [ - "self-hosting" + "feat-prompt-management" ], "author": { - "login": "SathinduGA", - "html_url": "https://github.com/SathinduGA" + "login": "rhighs", + "html_url": "https://github.com/rhighs" }, "category": "Ideas" }, { - "number": 1378, - "title": "Aggregate cost per span", - "href": "https://github.com/orgs/langfuse/discussions/1378", - "created_at": "2024-03-08T16:06:04Z", - "upvotes": 2, - "comment_count": 1, + "number": 4397, + "title": "n8n Integration", + "href": "https://github.com/orgs/langfuse/discussions/4397", + "created_at": "2024-11-24T09:43:01Z", + "upvotes": 1, + "comment_count": 0, "resolved": false, "labels": [], "author": { - "login": "ladislasdellinger", - "html_url": "https://github.com/ladislasdellinger" + "login": "aibucketmail", + "html_url": "https://github.com/aibucketmail" }, "category": "Ideas" }, { - "number": 1376, - "title": "Support parsing LLM model for ChatOllama", - "href": "https://github.com/orgs/langfuse/discussions/1376", - "created_at": "2024-03-08T14:13:58Z", + "number": 4381, + "title": "Feature Request: Add Tagging Pipelines for Evaluation-Based Tagging", + "href": "https://github.com/orgs/langfuse/discussions/4381", + "created_at": "2024-11-22T03:44:17Z", "upvotes": 1, - "comment_count": 1, + "comment_count": 0, "resolved": false, "labels": [], "author": { - "login": "kleebaum", - "html_url": "https://github.com/kleebaum" + "login": "wesleyearlstander", + "html_url": "https://github.com/wesleyearlstander" }, "category": "Ideas" }, { - "number": 1374, - "title": "Add LLamaIndexTS example", - "href": "https://github.com/orgs/langfuse/discussions/1374", - "created_at": "2024-03-08T00:42:30Z", + "number": 4380, + "title": "Adding types for evals in Langfuse", + "href": "https://github.com/orgs/langfuse/discussions/4380", + "created_at": "2024-11-22T03:35:26Z", "upvotes": 1, "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "luandro", - "html_url": "https://github.com/luandro" + "login": "wesleyearlstander", + "html_url": "https://github.com/wesleyearlstander" }, "category": "Ideas" }, { - "number": 1361, - "title": "Add a retention window for unnecessary data", - "href": "https://github.com/orgs/langfuse/discussions/1361", - "created_at": "2024-03-07T14:42:07Z", + "number": 4372, + "title": "LaTex Rendering", + "href": "https://github.com/orgs/langfuse/discussions/4372", + "created_at": "2024-11-21T22:06:07Z", "upvotes": 1, - "comment_count": 1, + "comment_count": 0, "resolved": false, "labels": [], "author": { - "login": "albertoforcato", - "html_url": "https://github.com/albertoforcato" + "login": "wesleyearlstander", + "html_url": "https://github.com/wesleyearlstander" }, "category": "Ideas" }, { - "number": 1337, - "title": "Support for Langchain ChatAnthropic", - "href": "https://github.com/orgs/langfuse/discussions/1337", - "created_at": "2024-03-06T10:42:36Z", - "upvotes": 2, - "comment_count": 1, + "number": 4353, + "title": "Datasets: Add selection of traces to a dataset", + "href": "https://github.com/orgs/langfuse/discussions/4353", + "created_at": "2024-11-21T08:56:15Z", + "upvotes": 1, + "comment_count": 0, "resolved": false, "labels": [ - "integration-langchain" + "feat-datasets" ], "author": { - "login": "dotrunghieu96", - "html_url": "https://github.com/dotrunghieu96" + "login": "jannikmaierhoefer", + "html_url": "https://github.com/jannikmaierhoefer" }, "category": "Ideas" }, { - "number": 1331, - "title": "Adding cost to the datasets tables", - "href": "https://github.com/orgs/langfuse/discussions/1331", - "created_at": "2024-03-05T18:53:25Z", + "number": 4348, + "title": "Multi-user annotation capability in Score Configs", + "href": "https://github.com/orgs/langfuse/discussions/4348", + "created_at": "2024-11-20T19:16:38Z", "upvotes": 1, - "comment_count": 1, + "comment_count": 2, "resolved": false, "labels": [ - "✅ Done" + "feat-annotation" ], "author": { - "login": "ladislasdellinger", - "html_url": "https://github.com/ladislasdellinger" + "login": "juanmleng", + "html_url": "https://github.com/juanmleng" }, "category": "Ideas" }, { - "number": 1321, - "title": "More prompt environments/tags instead of just `active`", - "href": "https://github.com/orgs/langfuse/discussions/1321", - "created_at": "2024-03-05T11:05:17Z", - "upvotes": 3, - "comment_count": 2, + "number": 4342, + "title": "Feature request: Lifecycle hooks in LangFuse", + "href": "https://github.com/orgs/langfuse/discussions/4342", + "created_at": "2024-11-20T14:23:44Z", + "upvotes": 1, + "comment_count": 1, "resolved": false, - "labels": [ - "feat-prompt-management", - "✅ Done" - ], + "labels": [], "author": { - "login": "ladislasdellinger", - "html_url": "https://github.com/ladislasdellinger" + "login": "barseghyanartur", + "html_url": "https://github.com/barseghyanartur" }, "category": "Ideas" }, { - "number": 1309, - "title": "Log used prompt on generations when using Langchain", - "href": "https://github.com/orgs/langfuse/discussions/1309", - "created_at": "2024-03-04T09:03:35Z", - "upvotes": 5, - "comment_count": 2, + "number": 4340, + "title": "RBAC: Restriction based on trace tags/metadata", + "href": "https://github.com/orgs/langfuse/discussions/4340", + "created_at": "2024-11-20T12:32:40Z", + "upvotes": 2, + "comment_count": 0, "resolved": false, - "labels": [ - "integration-langchain", - "✅ Done" - ], + "labels": [], "author": { - "login": "TobinShaw", - "html_url": "https://github.com/TobinShaw" + "login": "jannikmaierhoefer", + "html_url": "https://github.com/jannikmaierhoefer" }, "category": "Ideas" }, { - "number": 1306, - "title": "[TS] Generating through OpenAI SDK directly", - "href": "https://github.com/orgs/langfuse/discussions/1306", - "created_at": "2024-03-02T10:56:07Z", + "number": 4332, + "title": "Trace Table: Ability to sort table by score", + "href": "https://github.com/orgs/langfuse/discussions/4332", + "created_at": "2024-11-20T10:27:38Z", + "upvotes": 2, + "comment_count": 0, + "resolved": false, + "labels": [], + "author": { + "login": "jannikmaierhoefer", + "html_url": "https://github.com/jannikmaierhoefer" + }, + "category": "Ideas" + }, + { + "number": 4331, + "title": "More filter on daily metrics", + "href": "https://github.com/orgs/langfuse/discussions/4331", + "created_at": "2024-11-20T08:27:01Z", "upvotes": 1, "comment_count": 2, "resolved": false, - "labels": [ - "integrations", - "integration-openai", - "✅ Done" - ], + "labels": [], "author": { - "login": "louis030195", - "html_url": "https://github.com/louis030195" + "login": "takefy-dev", + "html_url": "https://github.com/takefy-dev" }, "category": "Ideas" }, { - "number": 1305, - "title": "Allow Project-Specific Default Time Ranges", - "href": "https://github.com/orgs/langfuse/discussions/1305", - "created_at": "2024-03-02T03:42:42Z", - "upvotes": 1, - "comment_count": 1, + "number": 4322, + "title": "Add the ability to remove tags from traces via the SDK/API", + "href": "https://github.com/orgs/langfuse/discussions/4322", + "created_at": "2024-11-19T20:09:18Z", + "upvotes": 2, + "comment_count": 0, "resolved": false, "labels": [], "author": { - "login": "dkindlund", - "html_url": "https://github.com/dkindlund" + "login": "justinwiley", + "html_url": "https://github.com/justinwiley" }, "category": "Ideas" }, { - "number": 1300, - "title": "Consider adding support for DSPy", - "href": "https://github.com/orgs/langfuse/discussions/1300", - "created_at": "2024-03-01T15:42:23Z", - "upvotes": 1, - "comment_count": 2, + "number": 4316, + "title": "Prompt Changelog Management", + "href": "https://github.com/orgs/langfuse/discussions/4316", + "created_at": "2024-11-19T14:32:33Z", + "upvotes": 3, + "comment_count": 0, "resolved": false, "labels": [], "author": { - "login": "sutyum", - "html_url": "https://github.com/sutyum" + "login": "alexander-abramovich", + "html_url": "https://github.com/alexander-abramovich" }, "category": "Ideas" }, { - "number": 1295, - "title": "Support DSPy", - "href": "https://github.com/orgs/langfuse/discussions/1295", - "created_at": "2024-03-01T11:34:05Z", - "upvotes": 19, - "comment_count": 9, + "number": 4315, + "title": "Smartly integrate with prompt templating tools (like Jinja templating engine)", + "href": "https://github.com/orgs/langfuse/discussions/4315", + "created_at": "2024-11-19T14:30:42Z", + "upvotes": 2, + "comment_count": 0, "resolved": false, - "labels": [ - "integrations", - "✅ Done", - "integration-dspy" - ], + "labels": [], "author": { - "login": "sandangel", - "html_url": "https://github.com/sandangel" + "login": "alexander-abramovich", + "html_url": "https://github.com/alexander-abramovich" }, "category": "Ideas" }, { - "number": 1291, - "title": "Integration: LlamaIndex JS/TS", - "href": "https://github.com/orgs/langfuse/discussions/1291", - "created_at": "2024-02-29T11:56:42Z", - "upvotes": 33, - "comment_count": 3, + "number": 4314, + "title": "Making prompt editing eye-pleasing and less error-prown", + "href": "https://github.com/orgs/langfuse/discussions/4314", + "created_at": "2024-11-19T14:24:29Z", + "upvotes": 2, + "comment_count": 0, "resolved": false, - "labels": [ - "sdk-js", - "integrations", - "integraton-llamaindex" - ], + "labels": [], "author": { - "login": "marcklingen", - "html_url": "https://github.com/marcklingen" + "login": "alexander-abramovich", + "html_url": "https://github.com/alexander-abramovich" }, "category": "Ideas" }, { - "number": 1287, - "title": "Add filtering by errors", - "href": "https://github.com/orgs/langfuse/discussions/1287", - "created_at": "2024-02-28T22:52:59Z", - "upvotes": 3, + "number": 4304, + "title": "Prompt Management: Metadata for Prompt Versions", + "href": "https://github.com/orgs/langfuse/discussions/4304", + "created_at": "2024-11-19T08:39:27Z", + "upvotes": 6, "comment_count": 2, "resolved": false, "labels": [ - "ui" + "feat-prompt-management" ], "author": { - "login": "ankerbachryhl", - "html_url": "https://github.com/ankerbachryhl" + "login": "jannikmaierhoefer", + "html_url": "https://github.com/jannikmaierhoefer" }, "category": "Ideas" }, { - "number": 1277, - "title": "Add Audit Logging System to Worker Tasks", - "href": "https://github.com/orgs/langfuse/discussions/1277", - "created_at": "2024-02-28T11:53:15Z", + "number": 4303, + "title": "Exporting comments", + "href": "https://github.com/orgs/langfuse/discussions/4303", + "created_at": "2024-11-19T06:59:31Z", "upvotes": 1, - "comment_count": 3, + "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "khareyash05", - "html_url": "https://github.com/khareyash05" + "login": "jamesyu", + "html_url": "https://github.com/jamesyu" }, "category": "Ideas" }, { - "number": 1268, - "title": "Possible with different units for input and output", - "href": "https://github.com/orgs/langfuse/discussions/1268", - "created_at": "2024-02-27T13:45:21Z", + "number": 4301, + "title": "[Feature Request] API to Remove or Update Trace Tags", + "href": "https://github.com/orgs/langfuse/discussions/4301", + "created_at": "2024-11-19T02:41:13Z", "upvotes": 1, - "comment_count": 1, + "comment_count": 0, "resolved": false, "labels": [], "author": { - "login": "Stadly", - "html_url": "https://github.com/Stadly" + "login": "0xcodedead", + "html_url": "https://github.com/0xcodedead" }, "category": "Ideas" }, { - "number": 1264, - "title": "ChatML/ChatMessage Prompt Templates", - "href": "https://github.com/orgs/langfuse/discussions/1264", - "created_at": "2024-02-27T01:59:05Z", - "upvotes": 4, - "comment_count": 3, + "number": 4299, + "title": "Add XML/tree viewer to playground and trace viewer", + "href": "https://github.com/orgs/langfuse/discussions/4299", + "created_at": "2024-11-19T01:12:03Z", + "upvotes": 1, + "comment_count": 0, "resolved": false, - "labels": [ - "feat-prompt-management", - "✅ Done" - ], + "labels": [], "author": { - "login": "tuan3w", - "html_url": "https://github.com/tuan3w" + "login": "jeff-an", + "html_url": "https://github.com/jeff-an" }, "category": "Ideas" }, { - "number": 1258, - "title": "Dashboard for all projects of an organization", - "href": "https://github.com/orgs/langfuse/discussions/1258", - "created_at": "2024-02-26T20:12:22Z", - "upvotes": 11, - "comment_count": 2, + "number": 4280, + "title": "Increase character limit of comments in Langfuse", + "href": "https://github.com/orgs/langfuse/discussions/4280", + "created_at": "2024-11-18T11:20:06Z", + "upvotes": 1, + "comment_count": 0, "resolved": false, - "labels": [ - "feat-dashboard" - ], + "labels": [], "author": { - "login": "aiakubovich", - "html_url": "https://github.com/aiakubovich" + "login": "jannikmaierhoefer", + "html_url": "https://github.com/jannikmaierhoefer" }, "category": "Ideas" }, { - "number": 1221, - "title": "Add Haystack integration", - "href": "https://github.com/orgs/langfuse/discussions/1221", - "created_at": "2024-02-21T13:06:06Z", - "upvotes": 9, - "comment_count": 2, + "number": 4276, + "title": "Enh prompt management system", + "href": "https://github.com/orgs/langfuse/discussions/4276", + "created_at": "2024-11-17T21:50:06Z", + "upvotes": 1, + "comment_count": 1, "resolved": false, - "labels": [ - "integrations", - "✅ Done", - "integration-haystack" - ], + "labels": [], "author": { - "login": "marcklingen", - "html_url": "https://github.com/marcklingen" + "login": "flefevre", + "html_url": "https://github.com/flefevre" }, "category": "Ideas" }, { - "number": 1220, - "title": "Export to S3", - "href": "https://github.com/orgs/langfuse/discussions/1220", - "created_at": "2024-02-21T12:46:58Z", + "number": 4268, + "title": "Support image messages in the playground", + "href": "https://github.com/orgs/langfuse/discussions/4268", + "created_at": "2024-11-17T01:02:48Z", "upvotes": 1, - "comment_count": 0, + "comment_count": 1, "resolved": false, - "labels": [ - "integrations" - ], + "labels": [], "author": { - "login": "marcklingen", - "html_url": "https://github.com/marcklingen" + "login": "jeff-an", + "html_url": "https://github.com/jeff-an" }, "category": "Ideas" }, { - "number": 1219, - "title": "Export to BigQuery", - "href": "https://github.com/orgs/langfuse/discussions/1219", - "created_at": "2024-02-21T12:46:26Z", - "upvotes": 4, + "number": 4263, + "title": "Extend RBAC to Include Teams and Refine Permissions for Prompt Management", + "href": "https://github.com/orgs/langfuse/discussions/4263", + "created_at": "2024-11-16T04:22:27Z", + "upvotes": 1, "comment_count": 0, "resolved": false, - "labels": [ - "integrations" - ], + "labels": [], "author": { - "login": "marcklingen", - "html_url": "https://github.com/marcklingen" + "login": "flefevre", + "html_url": "https://github.com/flefevre" }, "category": "Ideas" }, { - "number": 1212, - "title": "Adding support for async Langchain methods", - "href": "https://github.com/orgs/langfuse/discussions/1212", - "created_at": "2024-02-20T13:09:19Z", - "upvotes": 24, - "comment_count": 5, + "number": 4258, + "title": "Automatically Trace from Playground", + "href": "https://github.com/orgs/langfuse/discussions/4258", + "created_at": "2024-11-15T18:58:05Z", + "upvotes": 1, + "comment_count": 0, "resolved": false, - "labels": [ - "integration-langchain", - "✅ Done" - ], + "labels": [], "author": { - "login": "marcklingen", - "html_url": "https://github.com/marcklingen" + "login": "Chinoman10", + "html_url": "https://github.com/Chinoman10" }, "category": "Ideas" }, { - "number": 1208, - "title": "Add Images in Tracing", - "href": "https://github.com/orgs/langfuse/discussions/1208", - "created_at": "2024-02-20T00:41:41Z", - "upvotes": 11, - "comment_count": 2, + "number": 4247, + "title": "Reset LangfuseDecorator context to allow nested traces", + "href": "https://github.com/orgs/langfuse/discussions/4247", + "created_at": "2024-11-15T09:59:28Z", + "upvotes": 2, + "comment_count": 0, "resolved": false, - "labels": [ - "✅ Done", - "feat-multimodal" - ], + "labels": [], "author": { - "login": "aiakubovich", - "html_url": "https://github.com/aiakubovich" + "login": "vitalii-diachkov-sumup", + "html_url": "https://github.com/vitalii-diachkov-sumup" }, "category": "Ideas" }, { - "number": 1190, - "title": "Request to add 75 percentile under Model latency section as shown in image below", - "href": "https://github.com/orgs/langfuse/discussions/1190", - "created_at": "2024-02-16T21:41:29Z", - "upvotes": 1, + "number": 4212, + "title": "Disable authentication in self-hosted deployments", + "href": "https://github.com/orgs/langfuse/discussions/4212", + "created_at": "2024-11-13T13:32:11Z", + "upvotes": 2, "comment_count": 1, "resolved": false, - "labels": [], + "labels": [ + "feat-auth", + "self-hosting" + ], "author": { - "login": "ssubburaj85", - "html_url": "https://github.com/ssubburaj85" + "login": "mariusp12", + "html_url": "https://github.com/mariusp12" }, "category": "Ideas" }, { - "number": 1170, - "title": "LLM Playground", - "href": "https://github.com/orgs/langfuse/discussions/1170", - "created_at": "2024-02-15T17:44:42Z", - "upvotes": 7, - "comment_count": 6, + "number": 4208, + "title": "Multi-turn / session experiments in datasets", + "href": "https://github.com/orgs/langfuse/discussions/4208", + "created_at": "2024-11-13T11:43:31Z", + "upvotes": 1, + "comment_count": 1, "resolved": false, "labels": [ - "feat-prompt-management", - "✅ Done", - "feat-playground" + "feat-datasets" ], "author": { - "login": "reza-mohideen", - "html_url": "https://github.com/reza-mohideen" + "login": "bartsimo", + "html_url": "https://github.com/bartsimo" }, "category": "Ideas" }, { - "number": 1159, - "title": "Looking for users (that are migrating off of something) to co-build Langfuse integration with", - "href": "https://github.com/orgs/langfuse/discussions/1159", - "created_at": "2024-02-14T19:05:27Z", + "number": 4189, + "title": "feat: add support for SSR to allow runtime BASE_PATH", + "href": "https://github.com/orgs/langfuse/discussions/4189", + "created_at": "2024-11-12T12:39:25Z", "upvotes": 2, "comment_count": 1, "resolved": false, - "labels": [], + "labels": [ + "self-hosting" + ], "author": { - "login": "skrawcz", - "html_url": "https://github.com/skrawcz" + "login": "sinux-l5d", + "html_url": "https://github.com/sinux-l5d" }, "category": "Ideas" }, { - "number": 1156, - "title": "Possible to set timestamp when creating trace", - "href": "https://github.com/orgs/langfuse/discussions/1156", - "created_at": "2024-02-14T14:26:22Z", + "number": 4168, + "title": "Centralized API Key Management with Secret Store Integration (e.g. HashiCorp Vault)", + "href": "https://github.com/orgs/langfuse/discussions/4168", + "created_at": "2024-11-11T11:11:10Z", "upvotes": 1, - "comment_count": 1, + "comment_count": 2, "resolved": false, "labels": [ - "sdk-js" + "security", + "self-hosting" ], "author": { - "login": "Stadly", - "html_url": "https://github.com/Stadly" + "login": "bikram42", + "html_url": "https://github.com/bikram42" }, "category": "Ideas" }, { - "number": 1154, - "title": "Dedicated user object which can include groups/teams and other attributes", - "href": "https://github.com/orgs/langfuse/discussions/1154", - "created_at": "2024-02-14T09:45:40Z", - "upvotes": 6, - "comment_count": 5, + "number": 4166, + "title": "Allow sending events to multiple LF projects within one client app", + "href": "https://github.com/orgs/langfuse/discussions/4166", + "created_at": "2024-11-11T10:51:01Z", + "upvotes": 1, + "comment_count": 2, "resolved": false, - "labels": [ - "feat-users" - ], + "labels": [], "author": { - "login": "bryan-agicap", - "html_url": "https://github.com/bryan-agicap" + "login": "snopoke", + "html_url": "https://github.com/snopoke" }, "category": "Ideas" }, { - "number": 1133, - "title": "API to delete scores", - "href": "https://github.com/orgs/langfuse/discussions/1133", - "created_at": "2024-02-12T11:19:59Z", - "upvotes": 2, + "number": 4165, + "title": "Another glimpse into prompt management in LangFuse", + "href": "https://github.com/orgs/langfuse/discussions/4165", + "created_at": "2024-11-11T10:20:18Z", + "upvotes": 1, "comment_count": 1, "resolved": false, "labels": [ - "feat-api", - "feat-scores" + "feat-prompt-management" ], "author": { - "login": "Jason-CKY", - "html_url": "https://github.com/Jason-CKY" + "login": "barseghyanartur", + "html_url": "https://github.com/barseghyanartur" }, "category": "Ideas" }, { - "number": 1128, - "title": "Display all traces within a session", - "href": "https://github.com/orgs/langfuse/discussions/1128", - "created_at": "2024-02-10T17:36:48Z", + "number": 4154, + "title": "Feature Request: Enable Invites with `AUTH_DISABLE_SIGNUP` (or/and GitHub OAuth for a given organization)", + "href": "https://github.com/orgs/langfuse/discussions/4154", + "created_at": "2024-11-10T15:04:41Z", "upvotes": 2, "comment_count": 1, "resolved": false, "labels": [ - "ui", - "feat-sessions" + "feat-auth", + "self-hosting" ], "author": { - "login": "benm5678", - "html_url": "https://github.com/benm5678" + "login": "shner-elmo", + "html_url": "https://github.com/shner-elmo" }, "category": "Ideas" }, { - "number": 1118, - "title": "[Simple Feature/WebUI] Adding a button to hide the sidebar", - "href": "https://github.com/orgs/langfuse/discussions/1118", - "created_at": "2024-02-09T09:43:34Z", + "number": 4143, + "title": "Getting prompts using LiteLLM syntax", + "href": "https://github.com/orgs/langfuse/discussions/4143", + "created_at": "2024-11-09T17:01:10Z", + "upvotes": 1, + "comment_count": 0, + "resolved": false, + "labels": [], + "author": { + "login": "doasfrancisco", + "html_url": "https://github.com/doasfrancisco" + }, + "category": "Ideas" + }, + { + "number": 4129, + "title": "Annotation Queue: Display trace id", + "href": "https://github.com/orgs/langfuse/discussions/4129", + "created_at": "2024-11-08T16:14:00Z", + "upvotes": 1, + "comment_count": 0, + "resolved": false, + "labels": [], + "author": { + "login": "jannikmaierhoefer", + "html_url": "https://github.com/jannikmaierhoefer" + }, + "category": "Ideas" + }, + { + "number": 4121, + "title": "Enable to use variable of prompt on evaluator.", + "href": "https://github.com/orgs/langfuse/discussions/4121", + "created_at": "2024-11-08T09:16:28Z", "upvotes": 3, "comment_count": 1, "resolved": false, "labels": [ - "ui" + "feat-evals" ], "author": { - "login": "samyxdev", - "html_url": "https://github.com/samyxdev" + "login": "takryo00", + "html_url": "https://github.com/takryo00" }, "category": "Ideas" }, { - "number": 1115, - "title": "Prioritize traces captured from LangGraph by relevance", - "href": "https://github.com/orgs/langfuse/discussions/1115", - "created_at": "2024-02-08T06:44:34Z", - "upvotes": 8, - "comment_count": 3, + "number": 4120, + "title": "Sessions Table: Scores Column", + "href": "https://github.com/orgs/langfuse/discussions/4120", + "created_at": "2024-11-08T08:58:10Z", + "upvotes": 5, + "comment_count": 0, "resolved": false, "labels": [ - "ui", - "integration-langchain" + "feat-sessions" ], "author": { - "login": "litagent", - "html_url": "https://github.com/litagent" + "login": "jannikmaierhoefer", + "html_url": "https://github.com/jannikmaierhoefer" }, "category": "Ideas" }, { - "number": 1114, - "title": "Pulling prompt/completions via API", - "href": "https://github.com/orgs/langfuse/discussions/1114", - "created_at": "2024-02-08T00:52:10Z", + "number": 4110, + "title": "Sort functionality in Users page", + "href": "https://github.com/orgs/langfuse/discussions/4110", + "created_at": "2024-11-07T19:43:07Z", "upvotes": 1, - "comment_count": 1, + "comment_count": 0, "resolved": false, "labels": [], "author": { - "login": "mukundt", - "html_url": "https://github.com/mukundt" + "login": "sal-dti", + "html_url": "https://github.com/sal-dti" }, "category": "Ideas" }, { - "number": 1106, - "title": "Prompt version comments", - "href": "https://github.com/orgs/langfuse/discussions/1106", - "created_at": "2024-02-07T15:38:07Z", - "upvotes": 5, - "comment_count": 2, + "number": 4106, + "title": "Add new filters for the LLM as a Judge Evaluation (other scores and cost)", + "href": "https://github.com/orgs/langfuse/discussions/4106", + "created_at": "2024-11-07T14:44:31Z", + "upvotes": 1, + "comment_count": 1, "resolved": false, "labels": [ - "ui", - "feat-prompt-management", - "✅ Done" + "feat-evals" ], "author": { - "login": "mukundt", - "html_url": "https://github.com/mukundt" + "login": "laisalvescw", + "html_url": "https://github.com/laisalvescw" }, "category": "Ideas" }, { - "number": 1105, - "title": "\"Git diff\" view between two prompt versions", - "href": "https://github.com/orgs/langfuse/discussions/1105", - "created_at": "2024-02-07T15:37:18Z", - "upvotes": 13, + "number": 4103, + "title": "Prompt Management: Deployment level view", + "href": "https://github.com/orgs/langfuse/discussions/4103", + "created_at": "2024-11-07T12:40:07Z", + "upvotes": 2, "comment_count": 1, "resolved": false, "labels": [ - "ui", "feat-prompt-management" ], "author": { - "login": "mukundt", - "html_url": "https://github.com/mukundt" + "login": "jannikmaierhoefer", + "html_url": "https://github.com/jannikmaierhoefer" }, "category": "Ideas" }, { - "number": 1097, - "title": "Ability to post-process generation data", - "href": "https://github.com/orgs/langfuse/discussions/1097", - "created_at": "2024-02-06T17:45:58Z", + "number": 4102, + "title": "Prompt Management: labels in prompt table", + "href": "https://github.com/orgs/langfuse/discussions/4102", + "created_at": "2024-11-07T12:38:00Z", "upvotes": 2, - "comment_count": 1, + "comment_count": 0, "resolved": false, "labels": [], "author": { - "login": "denisergashbaev", - "html_url": "https://github.com/denisergashbaev" + "login": "jannikmaierhoefer", + "html_url": "https://github.com/jannikmaierhoefer" }, "category": "Ideas" }, { - "number": 1096, - "title": "[Python SDK] Link prompt to OpenAI Chat Completion directly", - "href": "https://github.com/orgs/langfuse/discussions/1096", - "created_at": "2024-02-06T17:19:29Z", - "upvotes": 2, - "comment_count": 2, + "number": 4099, + "title": "Does LangFuse support a (declarative) plugin architecture?", + "href": "https://github.com/orgs/langfuse/discussions/4099", + "created_at": "2024-11-07T11:27:39Z", + "upvotes": 1, + "comment_count": 1, "resolved": false, - "labels": [ - "sdk-python", - "feat-prompt-management", - "integration-openai" - ], + "labels": [], "author": { - "login": "fancyweb", - "html_url": "https://github.com/fancyweb" + "login": "barseghyanartur", + "html_url": "https://github.com/barseghyanartur" }, "category": "Ideas" }, { - "number": 1089, - "title": "Use JWTs for API private key", - "href": "https://github.com/orgs/langfuse/discussions/1089", - "created_at": "2024-02-06T02:11:39Z", + "number": 4097, + "title": "More Granular Target Objects for Langfuse Evaluators", + "href": "https://github.com/orgs/langfuse/discussions/4097", + "created_at": "2024-11-07T10:00:11Z", "upvotes": 1, - "comment_count": 2, + "comment_count": 0, "resolved": false, "labels": [], "author": { - "login": "Manouchehri", - "html_url": "https://github.com/Manouchehri" + "login": "qrosseel", + "html_url": "https://github.com/qrosseel" }, "category": "Ideas" }, { - "number": 1082, - "title": "Add LLM call duration on session and trace table", - "href": "https://github.com/orgs/langfuse/discussions/1082", - "created_at": "2024-02-05T20:52:23Z", + "number": 4096, + "title": "Evaluator CRUD in UI and API", + "href": "https://github.com/orgs/langfuse/discussions/4096", + "created_at": "2024-11-07T09:46:01Z", "upvotes": 1, "comment_count": 1, "resolved": false, - "labels": [ - "ui" - ], + "labels": [], "author": { - "login": "Manouchehri", - "html_url": "https://github.com/Manouchehri" + "login": "qrosseel", + "html_url": "https://github.com/qrosseel" }, "category": "Ideas" }, { - "number": 1077, - "title": "Flowise: Allow adding metadata in API call to populate Langfuse trace metadata", - "href": "https://github.com/orgs/langfuse/discussions/1077", - "created_at": "2024-02-05T15:55:07Z", - "upvotes": 2, + "number": 4078, + "title": "Specify data masking on decorator itself", + "href": "https://github.com/orgs/langfuse/discussions/4078", + "created_at": "2024-11-06T14:00:47Z", + "upvotes": 1, "comment_count": 0, "resolved": false, "labels": [ - "integration-flowise" + "integration-python-decorator", + "feat-data-masking" ], "author": { - "login": "jpmin7", - "html_url": "https://github.com/jpmin7" + "login": "marcklingen", + "html_url": "https://github.com/marcklingen" }, "category": "Ideas" }, { - "number": 1076, - "title": "Flowise: Allow Langfuse traceId to be set or passed on with API response", - "href": "https://github.com/orgs/langfuse/discussions/1076", - "created_at": "2024-02-05T14:58:23Z", - "upvotes": 1, - "comment_count": 1, + "number": 4077, + "title": "Export dataset run table", + "href": "https://github.com/orgs/langfuse/discussions/4077", + "created_at": "2024-11-06T13:58:30Z", + "upvotes": 4, + "comment_count": 0, "resolved": false, "labels": [ - "sdk-js", - "integration-flowise" + "feat-datasets" ], "author": { - "login": "jpmin7", - "html_url": "https://github.com/jpmin7" + "login": "marcklingen", + "html_url": "https://github.com/marcklingen" }, "category": "Ideas" }, { - "number": 1074, - "title": "Model costs in terms of energy for self hosted models (or cloud hosted)", - "href": "https://github.com/orgs/langfuse/discussions/1074", - "created_at": "2024-02-05T10:15:27Z", - "upvotes": 1, - "comment_count": 1, + "number": 4076, + "title": "Customizable data mask (input/output, observation names, observation type)", + "href": "https://github.com/orgs/langfuse/discussions/4076", + "created_at": "2024-11-06T13:56:36Z", + "upvotes": 2, + "comment_count": 0, "resolved": false, - "labels": [], + "labels": [ + "feat-data-masking" + ], "author": { - "login": "vquilon", - "html_url": "https://github.com/vquilon" + "login": "marcklingen", + "html_url": "https://github.com/marcklingen" }, "category": "Ideas" }, { - "number": 1073, - "title": "Use proper logger for backend API to make it configurable", - "href": "https://github.com/orgs/langfuse/discussions/1073", - "created_at": "2024-02-05T09:19:01Z", - "upvotes": 3, - "comment_count": 5, + "number": 4060, + "title": "Add support for more complex Jinja constructs", + "href": "https://github.com/orgs/langfuse/discussions/4060", + "created_at": "2024-11-05T14:28:17Z", + "upvotes": 1, + "comment_count": 1, "resolved": false, "labels": [ - "✅ Done", - "self-hosting" + "feat-prompt-management" ], "author": { - "login": "code-haven", - "html_url": "https://github.com/code-haven" + "login": "alex-stoica", + "html_url": "https://github.com/alex-stoica" }, "category": "Ideas" }, { - "number": 1049, - "title": "API Examples for Generations", - "href": "https://github.com/orgs/langfuse/discussions/1049", - "created_at": "2024-02-02T07:02:08Z", - "upvotes": 2, - "comment_count": 1, + "number": 4040, + "title": "Linking ChatPromptTemplate to Multiple Prompts", + "href": "https://github.com/orgs/langfuse/discussions/4040", + "created_at": "2024-11-04T13:49:06Z", + "upvotes": 1, + "comment_count": 1, "resolved": false, - "labels": [], + "labels": [ + "feat-prompt-management" + ], "author": { - "login": "Manouchehri", - "html_url": "https://github.com/Manouchehri" + "login": "sternr", + "html_url": "https://github.com/sternr" }, "category": "Ideas" }, { - "number": 1048, - "title": "Allow sharing traces as a self contained HTML file via presigned S3 URL", - "href": "https://github.com/orgs/langfuse/discussions/1048", - "created_at": "2024-02-02T06:05:47Z", + "number": 4037, + "title": "feat: support adding trace tags in annotation queue view", + "href": "https://github.com/orgs/langfuse/discussions/4037", + "created_at": "2024-11-04T13:04:02Z", "upvotes": 2, "comment_count": 0, "resolved": false, - "labels": [], + "labels": [ + "feat-annotation" + ], "author": { - "login": "Manouchehri", - "html_url": "https://github.com/Manouchehri" + "login": "marliessophie", + "html_url": "https://github.com/marliessophie" }, "category": "Ideas" }, { - "number": 1043, - "title": "Ability to query entities from SDK", - "href": "https://github.com/orgs/langfuse/discussions/1043", - "created_at": "2024-02-01T23:51:00Z", - "upvotes": 4, - "comment_count": 2, + "number": 4035, + "title": "Feat: De-dupe and show info when adding the same trace/observation to an annotation queue multiple times", + "href": "https://github.com/orgs/langfuse/discussions/4035", + "created_at": "2024-11-04T12:58:59Z", + "upvotes": 1, + "comment_count": 1, "resolved": false, "labels": [ - "feat-api" + "feat-annotation" ], "author": { - "login": "Pranov1", - "html_url": "https://github.com/Pranov1" + "login": "marliessophie", + "html_url": "https://github.com/marliessophie" }, "category": "Ideas" }, { - "number": 1033, - "title": "Subscribe to Langfuse Events via Webhooks", - "href": "https://github.com/orgs/langfuse/discussions/1033", - "created_at": "2024-02-01T18:59:56Z", - "upvotes": 34, - "comment_count": 6, + "number": 4025, + "title": "Diff support for dataset runs view", + "href": "https://github.com/orgs/langfuse/discussions/4025", + "created_at": "2024-11-04T03:48:40Z", + "upvotes": 3, + "comment_count": 0, "resolved": false, - "labels": [], + "labels": [ + "feat-datasets" + ], "author": { - "login": "marcklingen", - "html_url": "https://github.com/marcklingen" + "login": "saikatmitra91", + "html_url": "https://github.com/saikatmitra91" }, "category": "Ideas" }, { - "number": 1032, - "title": "Periodic reports (email or slack)", - "href": "https://github.com/orgs/langfuse/discussions/1032", - "created_at": "2024-02-01T18:57:42Z", - "upvotes": 12, + "number": 4019, + "title": "Create Support for gemini models in playground", + "href": "https://github.com/orgs/langfuse/discussions/4019", + "created_at": "2024-11-03T11:12:42Z", + "upvotes": 1, + "comment_count": 2, + "resolved": false, + "labels": [ + "feat-evals", + "feat-playground" + ], + "author": { + "login": "anuraj-suman", + "html_url": "https://github.com/anuraj-suman" + }, + "category": "Ideas" + }, + { + "number": 4012, + "title": "Duplicate a template prompt to start a new prompt with all the boilerplate prepared", + "href": "https://github.com/orgs/langfuse/discussions/4012", + "created_at": "2024-11-02T15:26:33Z", + "upvotes": 1, "comment_count": 1, "resolved": false, - "labels": [], + "labels": [ + "feat-prompt-management" + ], "author": { - "login": "marcklingen", - "html_url": "https://github.com/marcklingen" + "login": "jakelucasnyc", + "html_url": "https://github.com/jakelucasnyc" }, "category": "Ideas" }, { - "number": 1021, - "title": "Add `Embedding` observation type", - "href": "https://github.com/orgs/langfuse/discussions/1021", - "created_at": "2024-02-01T03:15:17Z", - "upvotes": 55, - "comment_count": 2, + "number": 4009, + "title": "SDK-Python: Get all prompts from LangfuseSDK Client", + "href": "https://github.com/orgs/langfuse/discussions/4009", + "created_at": "2024-11-01T18:39:02Z", + "upvotes": 1, + "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "marcklingen", - "html_url": "https://github.com/marcklingen" + "login": "nthanapaisal", + "html_url": "https://github.com/nthanapaisal" }, "category": "Ideas" }, { - "number": 1020, - "title": "Leveraging Azure OpenAI Diagnostic Settings?", - "href": "https://github.com/orgs/langfuse/discussions/1020", - "created_at": "2024-02-01T02:58:54Z", - "upvotes": 1, + "number": 4000, + "title": "Support custom aggregated queries through the UI", + "href": "https://github.com/orgs/langfuse/discussions/4000", + "created_at": "2024-11-01T14:19:58Z", + "upvotes": 2, "comment_count": 0, "resolved": false, - "labels": [ - "integration-openai", - "integration-litellm" - ], + "labels": [], "author": { - "login": "Manouchehri", - "html_url": "https://github.com/Manouchehri" + "login": "emieldatalytica", + "html_url": "https://github.com/emieldatalytica" }, "category": "Ideas" }, { - "number": 1011, - "title": "Configurable dashboards", - "href": "https://github.com/orgs/langfuse/discussions/1011", - "created_at": "2024-01-31T13:40:59Z", - "upvotes": 17, - "comment_count": 2, + "number": 3997, + "title": "Alerts based on metrics (cost, evaluation, user-feedback), trigger webhook/email/slack/...", + "href": "https://github.com/orgs/langfuse/discussions/3997", + "created_at": "2024-11-01T11:25:05Z", + "upvotes": 1, + "comment_count": 0, "resolved": false, - "labels": [ - "ui", - "feat-dashboard" - ], + "labels": [], "author": { "login": "marcklingen", "html_url": "https://github.com/marcklingen" @@ -6636,480 +6493,472 @@ "category": "Ideas" }, { - "number": 1010, - "title": "Add new integration: LLM Proxy", - "href": "https://github.com/orgs/langfuse/discussions/1010", - "created_at": "2024-01-31T12:40:35Z", - "upvotes": 2, + "number": 3988, + "title": "Change AWS access pattern for Bedrock LLM usage, assume role", + "href": "https://github.com/orgs/langfuse/discussions/3988", + "created_at": "2024-10-31T17:45:48Z", + "upvotes": 1, "comment_count": 1, "resolved": false, "labels": [ - "integrations" + "feat-evals", + "feat-playground" ], "author": { - "login": "marcklingen", - "html_url": "https://github.com/marcklingen" + "login": "j10sanders", + "html_url": "https://github.com/j10sanders" }, "category": "Ideas" }, { - "number": 1009, - "title": "Decorator-based integration with Langfuse", - "href": "https://github.com/orgs/langfuse/discussions/1009", - "created_at": "2024-01-31T12:19:26Z", - "upvotes": 7, - "comment_count": 3, + "number": 3986, + "title": "Support for Atlassian OAuth-Provider", + "href": "https://github.com/orgs/langfuse/discussions/3986", + "created_at": "2024-10-31T16:56:45Z", + "upvotes": 1, + "comment_count": 1, "resolved": false, "labels": [ - "sdk-python", - "integrations", - "✅ Done", - "integration-python-decorator" + "feat-auth", + "self-hosting" ], "author": { - "login": "marcklingen", - "html_url": "https://github.com/marcklingen" + "login": "backface", + "html_url": "https://github.com/backface" }, "category": "Ideas" }, { - "number": 1004, - "title": "should work with OpenAI-compatible self-hosted endpoints", - "href": "https://github.com/orgs/langfuse/discussions/1004", - "created_at": "2024-01-31T09:04:28Z", - "upvotes": 2, - "comment_count": 2, + "number": 3981, + "title": "Async support for data masking in JS/TS SDK", + "href": "https://github.com/orgs/langfuse/discussions/3981", + "created_at": "2024-10-31T14:06:21Z", + "upvotes": 3, + "comment_count": 3, "resolved": false, "labels": [ - "sdk-python", - "integration-openai" + "feat-data-masking" ], "author": { - "login": "7flash", - "html_url": "https://github.com/7flash" + "login": "pexxi", + "html_url": "https://github.com/pexxi" }, "category": "Ideas" }, { - "number": 999, - "title": "Users should be able to pass metadata and tags via `overrideConfig` when using the Flowise integration", - "href": "https://github.com/orgs/langfuse/discussions/999", - "created_at": "2024-01-30T19:52:41Z", + "number": 3970, + "title": "Add ability to export and import evaluators between projects", + "href": "https://github.com/orgs/langfuse/discussions/3970", + "created_at": "2024-10-30T16:13:20Z", "upvotes": 2, "comment_count": 1, "resolved": false, "labels": [ - "sdk-js", - "integration-flowise", - "✅ Done" + "feat-evals" ], "author": { - "login": "giorgosera", - "html_url": "https://github.com/giorgosera" + "login": "j10sanders", + "html_url": "https://github.com/j10sanders" }, "category": "Ideas" }, { - "number": 991, - "title": "Inferring cost of trace from metadata field if optionally provided", - "href": "https://github.com/orgs/langfuse/discussions/991", - "created_at": "2024-01-30T07:38:56Z", - "upvotes": 1, + "number": 3954, + "title": "Decorator: disable tracing at the decorated function level", + "href": "https://github.com/orgs/langfuse/discussions/3954", + "created_at": "2024-10-29T11:45:13Z", + "upvotes": 3, "comment_count": 2, "resolved": false, - "labels": [], + "labels": [ + "sdk-python", + "integration-python-decorator" + ], "author": { - "login": "sumba101", - "html_url": "https://github.com/sumba101" + "login": "klemenstraeger", + "html_url": "https://github.com/klemenstraeger" }, "category": "Ideas" }, { - "number": 990, - "title": "filtering sessions with metadata", - "href": "https://github.com/orgs/langfuse/discussions/990", - "created_at": "2024-01-30T06:21:42Z", - "upvotes": 7, - "comment_count": 2, - "resolved": false, + "number": 3941, + "title": "Add keyword highlighting and color coding", + "href": "https://github.com/orgs/langfuse/discussions/3941", + "created_at": "2024-10-28T12:17:38Z", + "upvotes": 1, + "comment_count": 2, + "resolved": false, "labels": [ - "ui", - "feat-sessions", - "feat-metadata" + "feat-prompt-management" ], "author": { - "login": "litagent", - "html_url": "https://github.com/litagent" + "login": "ignazflam", + "html_url": "https://github.com/ignazflam" }, "category": "Ideas" }, { - "number": 989, - "title": "Enable Collaboration Platforms for Project Members", - "href": "https://github.com/orgs/langfuse/discussions/989", - "created_at": "2024-01-30T04:00:26Z", - "upvotes": 1, + "number": 3935, + "title": "feat: Folder structure for dataset organisation", + "href": "https://github.com/orgs/langfuse/discussions/3935", + "created_at": "2024-10-28T08:23:14Z", + "upvotes": 2, "comment_count": 1, "resolved": false, - "labels": [], + "labels": [ + "feat-datasets" + ], "author": { - "login": "khareyash05", - "html_url": "https://github.com/khareyash05" + "login": "marliessophie", + "html_url": "https://github.com/marliessophie" }, "category": "Ideas" }, { - "number": 982, - "title": "Supporting OpenAI Vision", - "href": "https://github.com/orgs/langfuse/discussions/982", - "created_at": "2024-01-29T19:06:44Z", - "upvotes": 7, - "comment_count": 2, + "number": 3918, + "title": "Model-based evaluations triggered by observations", + "href": "https://github.com/orgs/langfuse/discussions/3918", + "created_at": "2024-10-25T14:25:49Z", + "upvotes": 2, + "comment_count": 0, "resolved": false, "labels": [ - "integration-openai", - "✅ Done", - "feat-multimodal" + "feat-evals" ], "author": { - "login": "pj747", - "html_url": "https://github.com/pj747" + "login": "marcklingen", + "html_url": "https://github.com/marcklingen" }, "category": "Ideas" }, { - "number": 980, - "title": "Comments on objects across the Langfuse UI", - "href": "https://github.com/orgs/langfuse/discussions/980", - "created_at": "2024-01-29T18:21:03Z", - "upvotes": 3, - "comment_count": 3, + "number": 3904, + "title": "Support for Custom SSO Without AUTH_CUSTOM_CLIENT_SECRET and Incorrect Profile Mapping", + "href": "https://github.com/orgs/langfuse/discussions/3904", + "created_at": "2024-10-24T17:07:38Z", + "upvotes": 0, + "comment_count": 0, "resolved": false, - "labels": [ - "ui", - "✅ Done" - ], + "labels": [], "author": { - "login": "marcklingen", - "html_url": "https://github.com/marcklingen" + "login": "lucebert", + "html_url": "https://github.com/lucebert" }, "category": "Ideas" }, { - "number": 976, - "title": "Support alternative databases next to Postgres, e.g. MySQL", - "href": "https://github.com/orgs/langfuse/discussions/976", - "created_at": "2024-01-28T21:44:11Z", - "upvotes": 3, - "comment_count": 6, + "number": 3893, + "title": "Allow prompt editing without creating new version (draft mode)", + "href": "https://github.com/orgs/langfuse/discussions/3893", + "created_at": "2024-10-24T08:47:13Z", + "upvotes": 2, + "comment_count": 1, "resolved": false, "labels": [ - "self-hosting" + "feat-prompt-management" ], "author": { - "login": "zoltan-fedor", - "html_url": "https://github.com/zoltan-fedor" + "login": "dveyarangi", + "html_url": "https://github.com/dveyarangi" }, "category": "Ideas" }, { - "number": 969, - "title": "Flowise - OpenAI Assistant cost tracking", - "href": "https://github.com/orgs/langfuse/discussions/969", - "created_at": "2024-01-26T18:04:07Z", + "number": 3891, + "title": "feat: user consumption broken down by model", + "href": "https://github.com/orgs/langfuse/discussions/3891", + "created_at": "2024-10-24T05:41:12Z", + "upvotes": 1, + "comment_count": 0, + "resolved": false, + "labels": [], + "author": { + "login": "belphegor-s", + "html_url": "https://github.com/belphegor-s" + }, + "category": "Ideas" + }, + { + "number": 3885, + "title": "Trace -> Playground: Populate variable fields to make input iteration easier.", + "href": "https://github.com/orgs/langfuse/discussions/3885", + "created_at": "2024-10-23T16:26:36Z", "upvotes": 2, "comment_count": 0, "resolved": false, "labels": [ - "integration-flowise" + "feat-prompt-management", + "feat-playground" ], "author": { - "login": "jozsef-gereby", - "html_url": "https://github.com/jozsef-gereby" + "login": "jannikmaierhoefer", + "html_url": "https://github.com/jannikmaierhoefer" }, "category": "Ideas" }, { - "number": 964, - "title": "Latency metrics - Time to first token, Tokens per second", - "href": "https://github.com/orgs/langfuse/discussions/964", - "created_at": "2024-01-26T15:37:01Z", - "upvotes": 8, - "comment_count": 3, + "number": 3875, + "title": "add gpt-4o-2024-08-06 model to langfuse models list", + "href": "https://github.com/orgs/langfuse/discussions/3875", + "created_at": "2024-10-23T10:54:01Z", + "upvotes": 1, + "comment_count": 1, "resolved": false, "labels": [ "✅ Done" ], "author": { - "login": "nikcaryo-super", - "html_url": "https://github.com/nikcaryo-super" + "login": "alex-stoica", + "html_url": "https://github.com/alex-stoica" }, "category": "Ideas" }, { - "number": 958, - "title": "LLM calls captured via Langchain integration should match what’s sent to the LLM", - "href": "https://github.com/orgs/langfuse/discussions/958", - "created_at": "2024-01-25T16:45:38Z", - "upvotes": 3, - "comment_count": 2, + "number": 3874, + "title": "Ensure prompt validation when attaching prompts to generations", + "href": "https://github.com/orgs/langfuse/discussions/3874", + "created_at": "2024-10-23T10:48:38Z", + "upvotes": 1, + "comment_count": 0, "resolved": false, - "labels": [], + "labels": [ + "feat-prompt-management" + ], "author": { - "login": "benm5678", - "html_url": "https://github.com/benm5678" + "login": "alex-stoica", + "html_url": "https://github.com/alex-stoica" }, "category": "Ideas" }, { - "number": 953, - "title": "Improve integration with flowise", - "href": "https://github.com/orgs/langfuse/discussions/953", - "created_at": "2024-01-24T19:57:06Z", - "upvotes": 1, + "number": 3866, + "title": "Support for OpenAI's cached input tokens", + "href": "https://github.com/orgs/langfuse/discussions/3866", + "created_at": "2024-10-22T19:38:33Z", + "upvotes": 4, "comment_count": 2, "resolved": false, "labels": [ - "sdk-js", - "integration-flowise" + "feat-cost-tracking" ], "author": { - "login": "tsiougkosn", - "html_url": "https://github.com/tsiougkosn" + "login": "anatolec", + "html_url": "https://github.com/anatolec" }, "category": "Ideas" }, { - "number": 941, - "title": "Dark mode", - "href": "https://github.com/orgs/langfuse/discussions/941", - "created_at": "2024-01-24T05:52:30Z", - "upvotes": 9, - "comment_count": 5, + "number": 3862, + "title": "python generator request - return values", + "href": "https://github.com/orgs/langfuse/discussions/3862", + "created_at": "2024-10-22T11:43:22Z", + "upvotes": 1, + "comment_count": 1, "resolved": false, "labels": [ - "✅ Done" + "integration-python-decorator" ], "author": { - "login": "archywillhe", - "html_url": "https://github.com/archywillhe" + "login": "benji-finster", + "html_url": "https://github.com/benji-finster" }, "category": "Ideas" }, { - "number": 939, - "title": "Full-text search on trace/observation/generation input/output", - "href": "https://github.com/orgs/langfuse/discussions/939", - "created_at": "2024-01-23T23:47:11Z", - "upvotes": 27, - "comment_count": 9, + "number": 3842, + "title": "Scores: Conditional Annotation", + "href": "https://github.com/orgs/langfuse/discussions/3842", + "created_at": "2024-10-21T08:37:48Z", + "upvotes": 1, + "comment_count": 0, "resolved": false, "labels": [ - "ui" + "feat-scores", + "feat-annotation" ], "author": { - "login": "marcklingen", - "html_url": "https://github.com/marcklingen" + "login": "marliessophie", + "html_url": "https://github.com/marliessophie" }, "category": "Ideas" }, { - "number": 917, - "title": "Download dashboard details", - "href": "https://github.com/orgs/langfuse/discussions/917", - "created_at": "2024-01-21T16:35:24Z", - "upvotes": 8, - "comment_count": 3, + "number": 3841, + "title": "Annotation Queues: define optional/mandatory score configs by queue", + "href": "https://github.com/orgs/langfuse/discussions/3841", + "created_at": "2024-10-21T08:32:46Z", + "upvotes": 1, + "comment_count": 0, "resolved": false, - "labels": [], + "labels": [ + "feat-annotation" + ], "author": { - "login": "kerenaba", - "html_url": "https://github.com/kerenaba" + "login": "marliessophie", + "html_url": "https://github.com/marliessophie" }, "category": "Ideas" }, { - "number": 902, - "title": "Support secret in docker compose", - "href": "https://github.com/orgs/langfuse/discussions/902", - "created_at": "2024-01-17T14:03:26Z", - "upvotes": 2, - "comment_count": 1, + "number": 3840, + "title": "Scores: support for recording multiple choice selection as score value", + "href": "https://github.com/orgs/langfuse/discussions/3840", + "created_at": "2024-10-21T08:20:01Z", + "upvotes": 1, + "comment_count": 0, "resolved": false, - "labels": [], + "labels": [ + "feat-scores" + ], "author": { - "login": "shuther", - "html_url": "https://github.com/shuther" + "login": "marliessophie", + "html_url": "https://github.com/marliessophie" }, "category": "Ideas" }, { - "number": 896, - "title": "generation usage should accept a list of dict for async generation", - "href": "https://github.com/orgs/langfuse/discussions/896", - "created_at": "2024-01-17T05:59:24Z", - "upvotes": 1, - "comment_count": 1, - "resolved": false, - "labels": [], - "author": { - "login": "dove-young", - "html_url": "https://github.com/dove-young" - }, - "category": "Ideas" - }, - { - "number": 874, - "title": "Improve exception handling and type safety in python SDK", - "href": "https://github.com/orgs/langfuse/discussions/874", - "created_at": "2024-01-12T17:01:58Z", - "upvotes": 5, - "comment_count": 3, + "number": 3839, + "title": "Prompts: ability to share prompt or playground session", + "href": "https://github.com/orgs/langfuse/discussions/3839", + "created_at": "2024-10-21T08:00:15Z", + "upvotes": 2, + "comment_count": 0, "resolved": false, - "labels": [], + "labels": [ + "feat-prompt-management" + ], "author": { - "login": "hubert-springbok", - "html_url": "https://github.com/hubert-springbok" + "login": "marliessophie", + "html_url": "https://github.com/marliessophie" }, "category": "Ideas" }, { - "number": 854, - "title": "Feature: API should give User-Tokens", - "href": "https://github.com/orgs/langfuse/discussions/854", - "created_at": "2024-01-09T14:26:47Z", - "upvotes": 6, + "number": 3836, + "title": "Distinguishing various steps", + "href": "https://github.com/orgs/langfuse/discussions/3836", + "created_at": "2024-10-20T16:54:32Z", + "upvotes": 1, "comment_count": 0, "resolved": false, "labels": [], "author": { - "login": "droggta", - "html_url": "https://github.com/droggta" + "login": "ajram23", + "html_url": "https://github.com/ajram23" }, "category": "Ideas" }, { - "number": 852, - "title": "Add prompt.to_langchain() to get a Langchain Prompt Template", - "href": "https://github.com/orgs/langfuse/discussions/852", - "created_at": "2024-01-09T13:20:55Z", - "upvotes": 7, + "number": 3818, + "title": "Filter by status in dataset items table", + "href": "https://github.com/orgs/langfuse/discussions/3818", + "created_at": "2024-10-18T03:17:50Z", + "upvotes": 2, "comment_count": 2, "resolved": false, "labels": [ - "integrations", - "feat-prompt-management", - "✅ Done" + "feat-datasets" ], "author": { - "login": "marcklingen", - "html_url": "https://github.com/marcklingen" + "login": "FrankyCTY", + "html_url": "https://github.com/FrankyCTY" }, "category": "Ideas" }, { - "number": 853, - "title": "feat(ui): Dashboard filter and highlight", - "href": "https://github.com/orgs/langfuse/discussions/853", - "created_at": "2024-01-09T05:37:34Z", - "upvotes": 2, - "comment_count": 1, + "number": 3817, + "title": "Add generic types for prompt variables in the sdk clients, e.g. `langfuse.getPrompt<{input: string}>(\"prompt name\")`", + "href": "https://github.com/orgs/langfuse/discussions/3817", + "created_at": "2024-10-17T23:40:45Z", + "upvotes": 1, + "comment_count": 0, "resolved": false, "labels": [ - "ui", - "Dashboard" + "feat-prompt-management" ], "author": { - "login": "lkNGAT", - "html_url": "https://github.com/lkNGAT" + "login": "marcklingen", + "html_url": "https://github.com/marcklingen" }, "category": "Ideas" }, { - "number": 844, - "title": "Integration: Node.js/Typescript OpenAI SDK", - "href": "https://github.com/orgs/langfuse/discussions/844", - "created_at": "2024-01-08T22:39:27Z", - "upvotes": 8, - "comment_count": 2, + "number": 3801, + "title": "Add image type with image_url for vision apo", + "href": "https://github.com/orgs/langfuse/discussions/3801", + "created_at": "2024-10-17T15:27:23Z", + "upvotes": 1, + "comment_count": 1, "resolved": false, "labels": [ - "sdk-js", - "integrations", - "✅ Done" + "feat-prompt-management", + "feat-playground" ], "author": { - "login": "marcklingen", - "html_url": "https://github.com/marcklingen" + "login": "profikid", + "html_url": "https://github.com/profikid" }, "category": "Ideas" }, { - "number": 828, - "title": "LlamaIndex integration (Python)", - "href": "https://github.com/orgs/langfuse/discussions/828", - "created_at": "2024-01-06T18:21:02Z", - "upvotes": 20, - "comment_count": 7, + "number": 3798, + "title": "Versioning/edit of Evaluator Configuration", + "href": "https://github.com/orgs/langfuse/discussions/3798", + "created_at": "2024-10-17T11:59:39Z", + "upvotes": 3, + "comment_count": 1, "resolved": false, "labels": [ - "sdk-python", - "integrations", - "✅ Done", - "integraton-llamaindex" + "feat-evals" ], "author": { - "login": "marcklingen", - "html_url": "https://github.com/marcklingen" + "login": "filipmihal", + "html_url": "https://github.com/filipmihal" }, "category": "Ideas" }, { - "number": 1007, - "title": "Admin API: projects, api keys, user management", - "href": "https://github.com/orgs/langfuse/discussions/1007", - "created_at": "2023-12-21T13:22:28Z", - "upvotes": 23, - "comment_count": 13, + "number": 3782, + "title": "Measure time to last generated token", + "href": "https://github.com/orgs/langfuse/discussions/3782", + "created_at": "2024-10-16T17:45:12Z", + "upvotes": 2, + "comment_count": 0, "resolved": false, - "labels": [ - "feat-api", - "self-hosting" - ], + "labels": [], "author": { - "login": "maxxte", - "html_url": "https://github.com/maxxte" + "login": "dsherry", + "html_url": "https://github.com/dsherry" }, "category": "Ideas" }, { - "number": 1006, - "title": "Versioning of docs", - "href": "https://github.com/orgs/langfuse/discussions/1006", - "created_at": "2023-12-18T01:27:09Z", + "number": 3772, + "title": "Support annotation role permission to only access Annotation Queue feature", + "href": "https://github.com/orgs/langfuse/discussions/3772", + "created_at": "2024-10-16T03:49:43Z", "upvotes": 1, "comment_count": 1, "resolved": false, "labels": [ - "docs" + "feat-annotation" ], "author": { - "login": "flxwu", - "html_url": "https://github.com/flxwu" + "login": "ytqh", + "html_url": "https://github.com/ytqh" }, "category": "Ideas" }, { - "number": 1008, - "title": "Datasets: Diff of output and expected output", - "href": "https://github.com/orgs/langfuse/discussions/1008", - "created_at": "2023-11-29T00:35:13Z", - "upvotes": 6, + "number": 3765, + "title": "OpenAI integration support for realtime api", + "href": "https://github.com/orgs/langfuse/discussions/3765", + "created_at": "2024-10-15T21:35:13Z", + "upvotes": 5, "comment_count": 3, "resolved": false, "labels": [ - "ui", - "feat-datasets" + "integration-openai" ], "author": { "login": "marcklingen", @@ -7118,5605 +6967,5788 @@ "category": "Ideas" }, { - "number": 1066, - "title": "feat: Publish arm64 compatible docker images", - "href": "https://github.com/orgs/langfuse/discussions/1066", - "created_at": "2023-11-08T16:06:08Z", + "number": 3761, + "title": "DsPY type optimization functionality", + "href": "https://github.com/orgs/langfuse/discussions/3761", + "created_at": "2024-10-15T20:02:39Z", "upvotes": 1, - "comment_count": 10, + "comment_count": 1, "resolved": false, "labels": [ - "✅ Done", - "self-hosting" + "integration-dspy" ], "author": { - "login": "code-haven", - "html_url": "https://github.com/code-haven" + "login": "nikshepsvn", + "html_url": "https://github.com/nikshepsvn" }, "category": "Ideas" }, { - "number": 1065, - "title": "OpenAI SDK wrapper for JS", - "href": "https://github.com/orgs/langfuse/discussions/1065", - "created_at": "2023-09-15T10:55:35Z", - "upvotes": 1, - "comment_count": 3, + "number": 3755, + "title": "Intergrate with Ragflow", + "href": "https://github.com/orgs/langfuse/discussions/3755", + "created_at": "2024-10-15T06:54:12Z", + "upvotes": 3, + "comment_count": 1, "resolved": false, "labels": [ - "sdk-js", - "integrations", - "integration-openai", - "✅ Done" + "integrations" ], "author": { - "login": "marcklingen", - "html_url": "https://github.com/marcklingen" + "login": "chuwe000", + "html_url": "https://github.com/chuwe000" }, "category": "Ideas" - } - ] - }, - { - "category": "Support", - "discussions": [ + }, { - "number": 4413, - "title": "Help needed with CustomSSOProvider Configuration for GitHub Enterprise", - "href": "https://github.com/orgs/langfuse/discussions/4413", - "created_at": "2024-11-25T15:30:23Z", + "number": 3802, + "title": "Get Observation IDs of sub chains when using @observe decorator combined with Langchain", + "href": "https://github.com/orgs/langfuse/discussions/3802", + "created_at": "2024-10-14T14:22:38Z", "upvotes": 1, - "comment_count": 2, + "comment_count": 4, "resolved": false, "labels": [ - "feat-auth", - "self-hosting" + "sdk-python", + "integration-langchain", + "integration-python-decorator" ], "author": { - "login": "jay0129", - "html_url": "https://github.com/jay0129" + "login": "guusfrenken-wk", + "html_url": "https://github.com/guusfrenken-wk" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4393, - "title": "Openai JS: Tracing for multiple iterations and tool calling", - "href": "https://github.com/orgs/langfuse/discussions/4393", - "created_at": "2024-11-23T06:57:40Z", + "number": 3725, + "title": "observe context manager", + "href": "https://github.com/orgs/langfuse/discussions/3725", + "created_at": "2024-10-12T07:33:09Z", "upvotes": 1, "comment_count": 1, - "resolved": true, - "labels": [ - "integration-openai" - ], + "resolved": false, + "labels": [], "author": { - "login": "uhhfeef", - "html_url": "https://github.com/uhhfeef" + "login": "eliorc", + "html_url": "https://github.com/eliorc" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4389, - "title": "Does Langfuse tracing work in Vercel edge functions?", - "href": "https://github.com/orgs/langfuse/discussions/4389", - "created_at": "2024-11-22T22:41:52Z", - "upvotes": 1, - "comment_count": 0, + "number": 3723, + "title": "Terminal version of Langfuse (Langfuse CLI)", + "href": "https://github.com/orgs/langfuse/discussions/3723", + "created_at": "2024-10-11T21:06:48Z", + "upvotes": 3, + "comment_count": 2, "resolved": false, "labels": [], "author": { - "login": "holdenmatt", - "html_url": "https://github.com/holdenmatt" + "login": "Shahin-rmz", + "html_url": "https://github.com/Shahin-rmz" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4388, - "title": "How to completely discard image with new multi-modal system?", - "href": "https://github.com/orgs/langfuse/discussions/4388", - "created_at": "2024-11-22T18:56:07Z", - "upvotes": 1, - "comment_count": 2, + "number": 3681, + "title": "Evalution of a prompt by a LLM", + "href": "https://github.com/orgs/langfuse/discussions/3681", + "created_at": "2024-10-09T19:17:30Z", + "upvotes": 3, + "comment_count": 0, "resolved": false, - "labels": [], + "labels": [ + "feat-prompt-management" + ], "author": { - "login": "bioshazard", - "html_url": "https://github.com/bioshazard" + "login": "jannikmaierhoefer", + "html_url": "https://github.com/jannikmaierhoefer" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4374, - "title": "Error while migrating shema", - "href": "https://github.com/orgs/langfuse/discussions/4374", - "created_at": "2024-11-21T22:39:36Z", - "upvotes": 1, - "comment_count": 2, - "resolved": true, - "labels": [], + "number": 3663, + "title": "Dashboard: Add time to first token chart (ttft)", + "href": "https://github.com/orgs/langfuse/discussions/3663", + "created_at": "2024-10-08T23:56:42Z", + "upvotes": 6, + "comment_count": 0, + "resolved": false, + "labels": [ + "feat-dashboard" + ], "author": { - "login": "geek1s42", - "html_url": "https://github.com/geek1s42" + "login": "marcklingen", + "html_url": "https://github.com/marcklingen" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4373, - "title": "Silent failure when attempting adding scores to trace", - "href": "https://github.com/orgs/langfuse/discussions/4373", - "created_at": "2024-11-21T22:18:26Z", - "upvotes": 1, - "comment_count": 2, - "resolved": true, + "number": 3646, + "title": "Table sorting and filtering in database runs", + "href": "https://github.com/orgs/langfuse/discussions/3646", + "created_at": "2024-10-08T11:13:52Z", + "upvotes": 2, + "comment_count": 0, + "resolved": false, "labels": [], "author": { - "login": "bioshazard", - "html_url": "https://github.com/bioshazard" + "login": "FlorDonnaSanders", + "html_url": "https://github.com/FlorDonnaSanders" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4365, - "title": "Not able to see traces", - "href": "https://github.com/orgs/langfuse/discussions/4365", - "created_at": "2024-11-21T16:56:26Z", + "number": 3618, + "title": "User Aliases", + "href": "https://github.com/orgs/langfuse/discussions/3618", + "created_at": "2024-10-07T07:51:49Z", "upvotes": 1, - "comment_count": 2, - "resolved": true, + "comment_count": 1, + "resolved": false, "labels": [], "author": { - "login": "uhhfeef", - "html_url": "https://github.com/uhhfeef" + "login": "FlorDonnaSanders", + "html_url": "https://github.com/FlorDonnaSanders" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4363, - "title": "Langchain with ChatVertexAI: Image/Audio Input Not Displayed in Dashboard with Multi-Modal Traces", - "href": "https://github.com/orgs/langfuse/discussions/4363", - "created_at": "2024-11-21T16:41:35Z", - "upvotes": 1, - "comment_count": 2, - "resolved": true, + "number": 3576, + "title": "feat: edit custom model definitions", + "href": "https://github.com/orgs/langfuse/discussions/3576", + "created_at": "2024-10-04T12:40:54Z", + "upvotes": 3, + "comment_count": 0, + "resolved": false, "labels": [], "author": { - "login": "pleomax0730", - "html_url": "https://github.com/pleomax0730" + "login": "nialldevlin1", + "html_url": "https://github.com/nialldevlin1" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4361, - "title": "Is downgrade available for self-hosted version?", - "href": "https://github.com/orgs/langfuse/discussions/4361", - "created_at": "2024-11-21T15:52:18Z", - "upvotes": 1, - "comment_count": 1, - "resolved": true, + "number": 3558, + "title": "Dashboard: split prompt/completion/total tokens", + "href": "https://github.com/orgs/langfuse/discussions/3558", + "created_at": "2024-10-02T02:17:47Z", + "upvotes": 6, + "comment_count": 0, + "resolved": false, + "labels": [ + "feat-dashboard" + ], + "author": { + "login": "marcklingen", + "html_url": "https://github.com/marcklingen" + }, + "category": "Ideas" + }, + { + "number": 3551, + "title": "Metrics API to support the OpenMetrics format", + "href": "https://github.com/orgs/langfuse/discussions/3551", + "created_at": "2024-10-01T15:03:02Z", + "upvotes": 3, + "comment_count": 0, + "resolved": false, "labels": [], "author": { - "login": "skabbit", - "html_url": "https://github.com/skabbit" + "login": "shukawam", + "html_url": "https://github.com/shukawam" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4359, - "title": "Unexpected error occurred", - "href": "https://github.com/orgs/langfuse/discussions/4359", - "created_at": "2024-11-21T14:21:11Z", - "upvotes": 1, + "number": 3550, + "title": "Asynchronous Langfuse Client.", + "href": "https://github.com/orgs/langfuse/discussions/3550", + "created_at": "2024-10-01T14:03:48Z", + "upvotes": 8, "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [ - "self-hosting" + "sdk-python" ], "author": { - "login": "jguokion", - "html_url": "https://github.com/jguokion" + "login": "fimselamse", + "html_url": "https://github.com/fimselamse" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4358, - "title": "Tracing of Async Tasks in Agentic Workflow", - "href": "https://github.com/orgs/langfuse/discussions/4358", - "created_at": "2024-11-21T10:46:31Z", + "number": 3546, + "title": "Add SCIM support for user/role/identity management", + "href": "https://github.com/orgs/langfuse/discussions/3546", + "created_at": "2024-10-01T02:18:33Z", "upvotes": 1, - "comment_count": 2, + "comment_count": 1, "resolved": false, - "labels": [], + "labels": [ + "feat-api", + "security" + ], "author": { - "login": "ashish-vwo", - "html_url": "https://github.com/ashish-vwo" + "login": "marcklingen", + "html_url": "https://github.com/marcklingen" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4352, - "title": "Send metrics to ELK", - "href": "https://github.com/orgs/langfuse/discussions/4352", - "created_at": "2024-11-21T05:57:10Z", + "number": 3538, + "title": "Vector search for datasets for few-shot prompting", + "href": "https://github.com/orgs/langfuse/discussions/3538", + "created_at": "2024-09-30T17:31:18Z", "upvotes": 1, "comment_count": 1, "resolved": false, - "labels": [], + "labels": [ + "feat-datasets" + ], "author": { - "login": "Kratemis", - "html_url": "https://github.com/Kratemis" + "login": "antoniomdk", + "html_url": "https://github.com/antoniomdk" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4330, - "title": "Request for Simplified Custom `trace_id` Implementation in `CallbackHandler` for LangServe", - "href": "https://github.com/orgs/langfuse/discussions/4330", - "created_at": "2024-11-20T07:55:51Z", - "upvotes": 1, - "comment_count": 1, + "number": 3529, + "title": "Sampling for JS/TS SDKs and integrations", + "href": "https://github.com/orgs/langfuse/discussions/3529", + "created_at": "2024-09-30T05:44:07Z", + "upvotes": 8, + "comment_count": 0, "resolved": false, "labels": [ - "integration-langchain" + "feat-sampling" ], "author": { - "login": "wertycn", - "html_url": "https://github.com/wertycn" + "login": "marcklingen", + "html_url": "https://github.com/marcklingen" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4309, - "title": "Langchain//Langgraph prompt link", - "href": "https://github.com/orgs/langfuse/discussions/4309", - "created_at": "2024-11-19T11:18:16Z", + "number": 3528, + "title": "Add saved filters config", + "href": "https://github.com/orgs/langfuse/discussions/3528", + "created_at": "2024-09-30T05:36:44Z", "upvotes": 1, - "comment_count": 3, - "resolved": true, + "comment_count": 1, + "resolved": false, "labels": [ - "feat-prompt-management", - "integration-langchain" + "ui" ], "author": { - "login": "BuragaIonut", - "html_url": "https://github.com/BuragaIonut" - }, - "category": "Support" - }, - { - "number": 4293, - "title": "slower than expected langfuse_context.update_current_observation operation?", - "href": "https://github.com/orgs/langfuse/discussions/4293", - "created_at": "2024-11-18T17:00:12Z", - "upvotes": 1, - "comment_count": 2, - "resolved": true, - "labels": [], - "author": { - "login": "nikcaryo-super", - "html_url": "https://github.com/nikcaryo-super" + "login": "emaugars12", + "html_url": "https://github.com/emaugars12" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4286, - "title": "Langfuse returning a internal server error message sometimes", - "href": "https://github.com/orgs/langfuse/discussions/4286", - "created_at": "2024-11-18T13:37:41Z", - "upvotes": 1, - "comment_count": 2, + "number": 3527, + "title": "Show prompt-level aggregate metrics on the prompts table", + "href": "https://github.com/orgs/langfuse/discussions/3527", + "created_at": "2024-09-30T00:33:43Z", + "upvotes": 4, + "comment_count": 0, "resolved": false, - "labels": [], - "author": { - "login": "nithin1995", - "html_url": "https://github.com/nithin1995" - }, - "category": "Support" - }, - { - "number": 4284, - "title": "Update prompt label programatically", - "href": "https://github.com/orgs/langfuse/discussions/4284", - "created_at": "2024-11-18T13:18:06Z", - "upvotes": 1, - "comment_count": 1, - "resolved": true, "labels": [ "feat-prompt-management" ], "author": { - "login": "nikitagupta5566", - "html_url": "https://github.com/nikitagupta5566" - }, - "category": "Support" - }, - { - "number": 4281, - "title": "Preventing Input and Output Capture for GENERATION span in Langfuse", - "href": "https://github.com/orgs/langfuse/discussions/4281", - "created_at": "2024-11-18T11:23:08Z", - "upvotes": 1, - "comment_count": 2, - "resolved": true, - "labels": [], - "author": { - "login": "ootkin", - "html_url": "https://github.com/ootkin" + "login": "marcklingen", + "html_url": "https://github.com/marcklingen" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4262, - "title": "why setup trace is showing SETUP Tracing Pending always and Trace doesn't show in dashboard", - "href": "https://github.com/orgs/langfuse/discussions/4262", - "created_at": "2024-11-15T23:49:20Z", + "number": 3524, + "title": "Field-level selection for input/output filtering in decorator instead of using update_current_observation/trace", + "href": "https://github.com/orgs/langfuse/discussions/3524", + "created_at": "2024-09-29T08:28:45Z", "upvotes": 1, - "comment_count": 1, - "resolved": true, - "labels": [], + "comment_count": 4, + "resolved": false, + "labels": [ + "integration-python-decorator" + ], "author": { - "login": "msgateway", - "html_url": "https://github.com/msgateway" + "login": "amir-mic-lin", + "html_url": "https://github.com/amir-mic-lin" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4261, - "title": "Disable tracing for certain calls", - "href": "https://github.com/orgs/langfuse/discussions/4261", - "created_at": "2024-11-15T22:54:27Z", + "number": 3508, + "title": "feat: organization level dashboard", + "href": "https://github.com/orgs/langfuse/discussions/3508", + "created_at": "2024-09-27T13:48:13Z", "upvotes": 1, "comment_count": 1, - "resolved": true, - "labels": [], - "author": { - "login": "yliuaaron", - "html_url": "https://github.com/yliuaaron" - }, - "category": "Support" - }, - { - "number": 4259, - "title": "Custom trace properties in AsyncOpenAI", - "href": "https://github.com/orgs/langfuse/discussions/4259", - "created_at": "2024-11-15T19:50:10Z", - "upvotes": 1, - "comment_count": 2, "resolved": false, "labels": [], "author": { - "login": "yliuaaron", - "html_url": "https://github.com/yliuaaron" + "login": "nialldevlin1", + "html_url": "https://github.com/nialldevlin1" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4231, - "title": "Langfuse overwriting ingested usage for gpt-4o-mini models & incorrect inferred usage for low-detail image data", - "href": "https://github.com/orgs/langfuse/discussions/4231", - "created_at": "2024-11-14T12:29:51Z", + "number": 3478, + "title": "TextGrad integration", + "href": "https://github.com/orgs/langfuse/discussions/3478", + "created_at": "2024-09-25T16:13:45Z", "upvotes": 1, - "comment_count": 2, + "comment_count": 1, "resolved": false, "labels": [ - "integration-openai", - "feat-cost-tracking" + "integrations" ], "author": { - "login": "LastRemote", - "html_url": "https://github.com/LastRemote" + "login": "sakthi-geek", + "html_url": "https://github.com/sakthi-geek" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4228, - "title": "Why my langgrpahjs agent can't show token", - "href": "https://github.com/orgs/langfuse/discussions/4228", - "created_at": "2024-11-14T08:46:36Z", - "upvotes": 1, - "comment_count": 2, - "resolved": true, + "number": 3476, + "title": "Chart: usage/metrics grouped by tags", + "href": "https://github.com/orgs/langfuse/discussions/3476", + "created_at": "2024-09-25T13:54:14Z", + "upvotes": 2, + "comment_count": 0, + "resolved": false, "labels": [ - "integration-langchain" + "feat-dashboard", + "feat-tags" ], "author": { - "login": "VittorioYan", - "html_url": "https://github.com/VittorioYan" + "login": "marcklingen", + "html_url": "https://github.com/marcklingen" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4223, - "title": "How/which environment var do I need to set to get OAuth2.0 authentication flow?", - "href": "https://github.com/orgs/langfuse/discussions/4223", - "created_at": "2024-11-13T19:57:27Z", - "upvotes": 1, - "comment_count": 3, + "number": 3472, + "title": "Dashboard: add chart for unique users (MAU/WAU/DAU)", + "href": "https://github.com/orgs/langfuse/discussions/3472", + "created_at": "2024-09-25T11:37:30Z", + "upvotes": 2, + "comment_count": 0, "resolved": false, "labels": [ - "self-hosting" + "feat-dashboard", + "feat-users" ], "author": { - "login": "itay-moav", - "html_url": "https://github.com/itay-moav" + "login": "marcklingen", + "html_url": "https://github.com/marcklingen" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4213, - "title": "Is there a way to keep database connections open longer?", - "href": "https://github.com/orgs/langfuse/discussions/4213", - "created_at": "2024-11-13T13:53:25Z", - "upvotes": 1, - "comment_count": 2, + "number": 3447, + "title": "Playground: Move messages / add messages in-between others", + "href": "https://github.com/orgs/langfuse/discussions/3447", + "created_at": "2024-09-23T09:16:23Z", + "upvotes": 2, + "comment_count": 0, "resolved": false, "labels": [ - "self-hosting" + "feat-playground" ], "author": { - "login": "tomi-bigpi", - "html_url": "https://github.com/tomi-bigpi" + "login": "jannikmaierhoefer", + "html_url": "https://github.com/jannikmaierhoefer" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4205, - "title": "Tokenizer config for Qwen 2.5 models", - "href": "https://github.com/orgs/langfuse/discussions/4205", - "created_at": "2024-11-13T08:05:03Z", + "number": 3443, + "title": "Why not extend observeOpenAI to support message-level user id?", + "href": "https://github.com/orgs/langfuse/discussions/3443", + "created_at": "2024-09-21T23:57:57Z", "upvotes": 1, - "comment_count": 2, + "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "mediumsizeworkingdog", - "html_url": "https://github.com/mediumsizeworkingdog" + "login": "derrickstaten", + "html_url": "https://github.com/derrickstaten" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4197, - "title": "[Generations]: Support n parameter", - "href": "https://github.com/orgs/langfuse/discussions/4197", - "created_at": "2024-11-12T18:58:32Z", - "upvotes": 1, - "comment_count": 1, + "number": 3439, + "title": "Filtering dataset items", + "href": "https://github.com/orgs/langfuse/discussions/3439", + "created_at": "2024-09-21T01:51:33Z", + "upvotes": 3, + "comment_count": 0, "resolved": false, "labels": [ - "integration-openai" + "feat-datasets" ], "author": { - "login": "ngamolsky", - "html_url": "https://github.com/ngamolsky" + "login": "emaugars12", + "html_url": "https://github.com/emaugars12" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4179, - "title": "Is there a way to get process to exit on DB connection errors when rotating database passwords?", - "href": "https://github.com/orgs/langfuse/discussions/4179", - "created_at": "2024-11-11T21:55:56Z", - "upvotes": 1, - "comment_count": 3, - "resolved": true, + "number": 3438, + "title": "Support export for Dataset Items", + "href": "https://github.com/orgs/langfuse/discussions/3438", + "created_at": "2024-09-20T22:57:21Z", + "upvotes": 4, + "comment_count": 0, + "resolved": false, "labels": [ - "self-hosting" + "feat-datasets" ], "author": { - "login": "tomi-bigpi", - "html_url": "https://github.com/tomi-bigpi" - }, - "category": "Support" + "login": "uladkaminski", + "html_url": "https://github.com/uladkaminski" + }, + "category": "Ideas" }, { - "number": 4178, - "title": "How to update a score?", - "href": "https://github.com/orgs/langfuse/discussions/4178", - "created_at": "2024-11-11T21:48:51Z", - "upvotes": 1, + "number": 3436, + "title": "Prompt label promotion via api/sdk", + "href": "https://github.com/orgs/langfuse/discussions/3436", + "created_at": "2024-09-20T21:32:07Z", + "upvotes": 2, "comment_count": 1, - "resolved": true, - "labels": [ - "feat-scores" - ], + "resolved": false, + "labels": [], "author": { - "login": "leichx", - "html_url": "https://github.com/leichx" + "login": "mrdrprofuroboros", + "html_url": "https://github.com/mrdrprofuroboros" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4172, - "title": "TypeError: LangfuseTracer.trace() got an unexpected keyword argument 'parent_span'", - "href": "https://github.com/orgs/langfuse/discussions/4172", - "created_at": "2024-11-11T13:31:14Z", + "number": 3431, + "title": "3rd option for \"sharing\" traces publicly", + "href": "https://github.com/orgs/langfuse/discussions/3431", + "created_at": "2024-09-20T16:29:28Z", "upvotes": 1, - "comment_count": 2, - "resolved": true, - "labels": [ - "integration-haystack" - ], + "comment_count": 0, + "resolved": false, + "labels": [], "author": { - "login": "schwasa", - "html_url": "https://github.com/schwasa" + "login": "jannikmaierhoefer", + "html_url": "https://github.com/jannikmaierhoefer" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4169, - "title": "Tenant based prompt management ?", - "href": "https://github.com/orgs/langfuse/discussions/4169", - "created_at": "2024-11-11T11:22:21Z", + "number": 3415, + "title": "Only use traces in the dataset to render score columns", + "href": "https://github.com/orgs/langfuse/discussions/3415", + "created_at": "2024-09-19T17:36:44Z", "upvotes": 1, - "comment_count": 2, - "resolved": true, + "comment_count": 1, + "resolved": false, "labels": [ - "feat-prompt-management" + "feat-datasets" ], "author": { - "login": "PreetamGKatakali", - "html_url": "https://github.com/PreetamGKatakali" + "login": "micahstairs", + "html_url": "https://github.com/micahstairs" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4134, - "title": "LangGraph traces cause self-hosted instance to hang", - "href": "https://github.com/orgs/langfuse/discussions/4134", - "created_at": "2024-11-08T22:54:34Z", + "number": 3412, + "title": "Source code versioning and automatic statistics caluclation from scores", + "href": "https://github.com/orgs/langfuse/discussions/3412", + "created_at": "2024-09-19T10:44:02Z", "upvotes": 1, - "comment_count": 2, + "comment_count": 1, "resolved": false, "labels": [ - "integration-langchain" + "feat-scores" ], "author": { - "login": "rishimo", - "html_url": "https://github.com/rishimo" + "login": "ge28yen", + "html_url": "https://github.com/ge28yen" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4123, - "title": "Block strangers from signing in to your app", - "href": "https://github.com/orgs/langfuse/discussions/4123", - "created_at": "2024-11-08T10:14:08Z", - "upvotes": 1, - "comment_count": 2, - "resolved": true, - "labels": [], + "number": 3409, + "title": "Add graph view for LangGraph traces", + "href": "https://github.com/orgs/langfuse/discussions/3409", + "created_at": "2024-09-19T07:55:02Z", + "upvotes": 5, + "comment_count": 1, + "resolved": false, + "labels": [ + "integration-langchain" + ], "author": { - "login": "shner-elmo", - "html_url": "https://github.com/shner-elmo" + "login": "hassiebp", + "html_url": "https://github.com/hassiebp" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4119, - "title": "Can we use Langfuse without any Authentication enabled?", - "href": "https://github.com/orgs/langfuse/discussions/4119", - "created_at": "2024-11-08T08:32:30Z", - "upvotes": 1, - "comment_count": 1, - "resolved": true, - "labels": [], + "number": 3402, + "title": "Mask / redact PII from traces logged to langfuse", + "href": "https://github.com/orgs/langfuse/discussions/3402", + "created_at": "2024-09-18T21:04:06Z", + "upvotes": 6, + "comment_count": 3, + "resolved": false, + "labels": [ + "✅ Done", + "security" + ], "author": { - "login": "SudhaGarimella", - "html_url": "https://github.com/SudhaGarimella" + "login": "marcklingen", + "html_url": "https://github.com/marcklingen" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4118, - "title": "Can I evaluate Span using the External Evaluation Pipeline?", - "href": "https://github.com/orgs/langfuse/discussions/4118", - "created_at": "2024-11-08T08:04:55Z", + "number": 3401, + "title": "Make compile and get_langchain_prompt interoperable when using a prompt from langfuse in langchain", + "href": "https://github.com/orgs/langfuse/discussions/3401", + "created_at": "2024-09-18T21:03:20Z", "upvotes": 1, - "comment_count": 1, - "resolved": true, + "comment_count": 2, + "resolved": false, "labels": [ - "feat-evals" + "feat-prompt-management", + "integration-langchain", + "✅ Done" ], "author": { - "login": "ygt1qa8", - "html_url": "https://github.com/ygt1qa8" + "login": "ajram23", + "html_url": "https://github.com/ajram23" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4117, - "title": "ERROR - An error occurred: 'function' object is not subscriptable", - "href": "https://github.com/orgs/langfuse/discussions/4117", - "created_at": "2024-11-08T04:51:09Z", - "upvotes": 1, - "comment_count": 1, + "number": 3396, + "title": "Better mustache/jinja support in langfuse playground", + "href": "https://github.com/orgs/langfuse/discussions/3396", + "created_at": "2024-09-18T11:54:28Z", + "upvotes": 3, + "comment_count": 2, "resolved": false, - "labels": [], + "labels": [ + "feat-playground" + ], "author": { - "login": "MazarSayed", - "html_url": "https://github.com/MazarSayed" + "login": "FlorDonnaSanders", + "html_url": "https://github.com/FlorDonnaSanders" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4116, - "title": "How can I implement a knowledge base and multi-turn file dialogue with pip deployment?! How does this “history” work?", - "href": "https://github.com/orgs/langfuse/discussions/4116", - "created_at": "2024-11-08T03:05:40Z", - "upvotes": 1, - "comment_count": 2, - "resolved": true, + "number": 3395, + "title": "Add fine-grained filtering options in python `fetch_traces` API to match web UI", + "href": "https://github.com/orgs/langfuse/discussions/3395", + "created_at": "2024-09-18T11:18:20Z", + "upvotes": 2, + "comment_count": 0, + "resolved": false, "labels": [], "author": { - "login": "SKKKKYLAR", - "html_url": "https://github.com/SKKKKYLAR" + "login": "evangriffiths", + "html_url": "https://github.com/evangriffiths" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4115, - "title": "Configure LangFuse Project within CallbackHandler", - "href": "https://github.com/orgs/langfuse/discussions/4115", - "created_at": "2024-11-07T23:19:13Z", + "number": 3376, + "title": "Allow LangchainCallbackHandler to specify custom input/output?", + "href": "https://github.com/orgs/langfuse/discussions/3376", + "created_at": "2024-09-16T23:45:18Z", "upvotes": 1, - "comment_count": 2, - "resolved": true, + "comment_count": 1, + "resolved": false, "labels": [ "integration-langchain" ], "author": { - "login": "krlng", - "html_url": "https://github.com/krlng" + "login": "xxkennyxu", + "html_url": "https://github.com/xxkennyxu" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4091, - "title": "Openwebui and langfuse", - "href": "https://github.com/orgs/langfuse/discussions/4091", - "created_at": "2024-11-06T22:21:43Z", - "upvotes": 1, + "number": 3375, + "title": "Promptfoo integration", + "href": "https://github.com/orgs/langfuse/discussions/3375", + "created_at": "2024-09-16T23:34:34Z", + "upvotes": 2, "comment_count": 1, - "resolved": true, - "labels": [], + "resolved": false, + "labels": [ + "integrations" + ], "author": { - "login": "flefevre", - "html_url": "https://github.com/flefevre" + "login": "aiseei", + "html_url": "https://github.com/aiseei" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4090, - "title": "Configuring logging", - "href": "https://github.com/orgs/langfuse/discussions/4090", - "created_at": "2024-11-06T21:39:03Z", - "upvotes": 1, - "comment_count": 5, + "number": 3367, + "title": "Default closed dropdown view in trace details", + "href": "https://github.com/orgs/langfuse/discussions/3367", + "created_at": "2024-09-16T12:47:26Z", + "upvotes": 2, + "comment_count": 1, "resolved": false, - "labels": [], + "labels": [ + "ui" + ], "author": { - "login": "pcoccoli", - "html_url": "https://github.com/pcoccoli" + "login": "jannikmaierhoefer", + "html_url": "https://github.com/jannikmaierhoefer" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4080, - "title": "Langfuse User Management with Custom Oauth", - "href": "https://github.com/orgs/langfuse/discussions/4080", - "created_at": "2024-11-06T14:21:39Z", - "upvotes": 1, - "comment_count": 3, + "number": 3363, + "title": "Dashboard: TPM chart", + "href": "https://github.com/orgs/langfuse/discussions/3363", + "created_at": "2024-09-16T07:53:52Z", + "upvotes": 2, + "comment_count": 1, "resolved": false, "labels": [ - "feat-auth", - "self-hosting" + "feat-dashboard" ], "author": { - "login": "bziolkowski", - "html_url": "https://github.com/bziolkowski" + "login": "afonsomatos", + "html_url": "https://github.com/afonsomatos" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4079, - "title": "How to prevent strangers from creating an account on your app", - "href": "https://github.com/orgs/langfuse/discussions/4079", - "created_at": "2024-11-06T14:17:46Z", + "number": 3361, + "title": "Group Similar or Consecutive Traces", + "href": "https://github.com/orgs/langfuse/discussions/3361", + "created_at": "2024-09-16T05:38:40Z", "upvotes": 1, "comment_count": 1, - "resolved": true, - "labels": [ - "self-hosting" - ], + "resolved": false, + "labels": [], "author": { - "login": "shner-elmo", - "html_url": "https://github.com/shner-elmo" + "login": "rvndbalaji", + "html_url": "https://github.com/rvndbalaji" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4075, - "title": "Does it make sense to use multiple api-keys", - "href": "https://github.com/orgs/langfuse/discussions/4075", - "created_at": "2024-11-06T11:22:45Z", + "number": 3358, + "title": "More customization in graphs and dashboard panels", + "href": "https://github.com/orgs/langfuse/discussions/3358", + "created_at": "2024-09-14T03:12:38Z", "upvotes": 1, - "comment_count": 2, - "resolved": true, - "labels": [], + "comment_count": 1, + "resolved": false, + "labels": [ + "feat-dashboard" + ], "author": { - "login": "shner-elmo", - "html_url": "https://github.com/shner-elmo" + "login": "emaugars12", + "html_url": "https://github.com/emaugars12" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4071, - "title": "Authentication not working?", - "href": "https://github.com/orgs/langfuse/discussions/4071", - "created_at": "2024-11-06T01:00:12Z", - "upvotes": 1, - "comment_count": 2, - "resolved": true, + "number": 3352, + "title": "LLM Based Evaluation - more control with mapping a variable e.g. {{query}}, {{ground_truth}} etc inside of Input/Output/Metadata observation", + "href": "https://github.com/orgs/langfuse/discussions/3352", + "created_at": "2024-09-13T16:58:05Z", + "upvotes": 2, + "comment_count": 1, + "resolved": false, "labels": [], "author": { - "login": "shner-elmo", - "html_url": "https://github.com/shner-elmo" + "login": "stepanogil", + "html_url": "https://github.com/stepanogil" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4056, - "title": "Langfuse deployment issue on k8", - "href": "https://github.com/orgs/langfuse/discussions/4056", - "created_at": "2024-11-05T11:54:57Z", + "number": 3351, + "title": "Support for Firebase Genkit", + "href": "https://github.com/orgs/langfuse/discussions/3351", + "created_at": "2024-09-13T16:29:07Z", "upvotes": 1, - "comment_count": 4, + "comment_count": 1, "resolved": false, "labels": [ - "self-hosting" + "integrations" ], "author": { - "login": "hrone-dev-satyammishra", - "html_url": "https://github.com/hrone-dev-satyammishra" + "login": "debkanchan", + "html_url": "https://github.com/debkanchan" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4046, - "title": "Should the Langfuse classs initialization be cached (does it do any I/O on init?) ?", - "href": "https://github.com/orgs/langfuse/discussions/4046", - "created_at": "2024-11-04T16:44:27Z", - "upvotes": 1, - "comment_count": 1, - "resolved": true, + "number": 3338, + "title": "o1-preview and o1-mini support", + "href": "https://github.com/orgs/langfuse/discussions/3338", + "created_at": "2024-09-13T07:16:22Z", + "upvotes": 2, + "comment_count": 3, + "resolved": false, "labels": [ - "integration-langchain" + "✅ Done" ], "author": { - "login": "shner-elmo", - "html_url": "https://github.com/shner-elmo" + "login": "juan-abia", + "html_url": "https://github.com/juan-abia" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4043, - "title": "\"Custom\" traces not creating when Next.js Vercel instrumentation is on.", - "href": "https://github.com/orgs/langfuse/discussions/4043", - "created_at": "2024-11-04T14:07:46Z", + "number": 3336, + "title": "Add Notification for / in Comments Objects", + "href": "https://github.com/orgs/langfuse/discussions/3336", + "created_at": "2024-09-13T00:04:16Z", "upvotes": 1, - "comment_count": 2, + "comment_count": 1, "resolved": false, - "labels": [], + "labels": [ + "feat-comments" + ], "author": { - "login": "rovnyart", - "html_url": "https://github.com/rovnyart" + "login": "Zugunruhekami", + "html_url": "https://github.com/Zugunruhekami" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4041, - "title": "When running in relatively high amount of concurrent requests we start getting: \"API error occurred: Service unavailable.\" from Langfuse server", - "href": "https://github.com/orgs/langfuse/discussions/4041", - "created_at": "2024-11-04T13:55:19Z", + "number": 3335, + "title": "Extend Searchability (through filter) for Comments Objects", + "href": "https://github.com/orgs/langfuse/discussions/3335", + "created_at": "2024-09-12T23:58:17Z", "upvotes": 1, - "comment_count": 2, - "resolved": true, - "labels": [], + "comment_count": 0, + "resolved": false, + "labels": [ + "feat-comments" + ], "author": { - "login": "sternr", - "html_url": "https://github.com/sternr" + "login": "Zugunruhekami", + "html_url": "https://github.com/Zugunruhekami" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4038, - "title": "SSL: CERTIFICATE_VERIFY_FAILED error when access the self hosted langfuse from the code", - "href": "https://github.com/orgs/langfuse/discussions/4038", - "created_at": "2024-11-04T13:14:05Z", - "upvotes": 1, - "comment_count": 2, - "resolved": true, - "labels": [], + "number": 3291, + "title": "Filter by error in sub span", + "href": "https://github.com/orgs/langfuse/discussions/3291", + "created_at": "2024-09-10T13:20:11Z", + "upvotes": 2, + "comment_count": 3, + "resolved": false, + "labels": [ + "✅ Done", + "feat-log-levels" + ], "author": { - "login": "SugumarRavichandran", - "html_url": "https://github.com/SugumarRavichandran" + "login": "bettlebrox", + "html_url": "https://github.com/bettlebrox" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4026, - "title": "Blob is not defined for Node 16", - "href": "https://github.com/orgs/langfuse/discussions/4026", - "created_at": "2024-11-04T04:58:15Z", + "number": 3289, + "title": "Deleting old, unused tags or making them unseen if weren't used in the chosen time window.", + "href": "https://github.com/orgs/langfuse/discussions/3289", + "created_at": "2024-09-10T12:56:43Z", "upvotes": 1, - "comment_count": 2, + "comment_count": 1, "resolved": false, - "labels": [], + "labels": [ + "feat-tags" + ], "author": { - "login": "jamesyu", - "html_url": "https://github.com/jamesyu" + "login": "constalozinschi", + "html_url": "https://github.com/constalozinschi" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4001, - "title": "Cloudron packaging issue with Prisma client", - "href": "https://github.com/orgs/langfuse/discussions/4001", - "created_at": "2024-11-01T14:21:59Z", - "upvotes": 1, + "number": 3285, + "title": "SDK-JS: Allow to delete one or more trace", + "href": "https://github.com/orgs/langfuse/discussions/3285", + "created_at": "2024-09-10T09:26:04Z", + "upvotes": 5, "comment_count": 2, - "resolved": true, - "labels": [], + "resolved": false, + "labels": [ + "sdk-js" + ], "author": { - "login": "Lanhild", - "html_url": "https://github.com/Lanhild" + "login": "Lunik", + "html_url": "https://github.com/Lunik" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3996, - "title": "Can you use the app without OAuth?", - "href": "https://github.com/orgs/langfuse/discussions/3996", - "created_at": "2024-11-01T03:36:33Z", - "upvotes": 1, - "comment_count": 1, - "resolved": true, + "number": 3276, + "title": "Retrieve the trace by metdata", + "href": "https://github.com/orgs/langfuse/discussions/3276", + "created_at": "2024-09-09T20:51:08Z", + "upvotes": 3, + "comment_count": 0, + "resolved": false, "labels": [ - "feat-auth", - "self-hosting" + "feat-metadata" ], "author": { - "login": "shner-elmo", - "html_url": "https://github.com/shner-elmo" + "login": "gingerjx", + "html_url": "https://github.com/gingerjx" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3985, - "title": "Pending Badge Stuck on Setup Tracing Step", - "href": "https://github.com/orgs/langfuse/discussions/3985", - "created_at": "2024-10-31T15:51:08Z", + "number": 3275, + "title": "Include metrics and scores in getDatasetRun / `GET /api/public/datasets/{datasetName}/runs/{runName}`", + "href": "https://github.com/orgs/langfuse/discussions/3275", + "created_at": "2024-09-09T20:48:16Z", + "upvotes": 3, + "comment_count": 0, + "resolved": false, + "labels": [ + "feat-datasets" + ], + "author": { + "login": "gingerjx", + "html_url": "https://github.com/gingerjx" + }, + "category": "Ideas" + }, + { + "number": 3273, + "title": "Custom Themes", + "href": "https://github.com/orgs/langfuse/discussions/3273", + "created_at": "2024-09-09T15:08:25Z", "upvotes": 1, - "comment_count": 2, - "resolved": true, + "comment_count": 1, + "resolved": false, "labels": [], "author": { - "login": "c0pper", - "html_url": "https://github.com/c0pper" + "login": "rvndbalaji", + "html_url": "https://github.com/rvndbalaji" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3977, - "title": "getPromptStateless received 403 error when using `LangfuseWeb` SDK", - "href": "https://github.com/orgs/langfuse/discussions/3977", - "created_at": "2024-10-31T01:45:19Z", + "number": 3263, + "title": "Comment API", + "href": "https://github.com/orgs/langfuse/discussions/3263", + "created_at": "2024-09-07T05:53:31Z", "upvotes": 1, "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [ - "feat-prompt-management" + "feat-api", + "feat-datasets" ], "author": { - "login": "huangbaitu123", - "html_url": "https://github.com/huangbaitu123" + "login": "darvin", + "html_url": "https://github.com/darvin" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3976, - "title": "Missing scores after pushing scores to Langfuse", - "href": "https://github.com/orgs/langfuse/discussions/3976", - "created_at": "2024-10-31T00:02:59Z", - "upvotes": 1, - "comment_count": 3, - "resolved": true, - "labels": [], + "number": 3256, + "title": "Integration with LangChain4j", + "href": "https://github.com/orgs/langfuse/discussions/3256", + "created_at": "2024-09-06T15:50:51Z", + "upvotes": 2, + "comment_count": 2, + "resolved": false, + "labels": [ + "integrations", + "feat-prompt-management", + "integration-langchain" + ], "author": { - "login": "laisalvescw", - "html_url": "https://github.com/laisalvescw" + "login": "ruizrube", + "html_url": "https://github.com/ruizrube" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3972, - "title": "For which kinds of data is `ENCRYPTION_KEY` used?", - "href": "https://github.com/orgs/langfuse/discussions/3972", - "created_at": "2024-10-30T18:21:25Z", + "number": 3252, + "title": "Need to retain the old evaluation history results, including input and all ground truth", + "href": "https://github.com/orgs/langfuse/discussions/3252", + "created_at": "2024-09-06T03:29:17Z", "upvotes": 1, "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [ - "self-hosting" + "feat-datasets" ], "author": { - "login": "felix-sanchez-unmind", - "html_url": "https://github.com/felix-sanchez-unmind" + "login": "serlina", + "html_url": "https://github.com/serlina" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3965, - "title": "How to set environment variables for custom oauth2.0 sso?", - "href": "https://github.com/orgs/langfuse/discussions/3965", - "created_at": "2024-10-30T06:27:15Z", - "upvotes": 1, - "comment_count": 1, - "resolved": true, + "number": 3243, + "title": "Add organization / project / user / API key management API", + "href": "https://github.com/orgs/langfuse/discussions/3243", + "created_at": "2024-09-05T08:10:12Z", + "upvotes": 9, + "comment_count": 5, + "resolved": false, "labels": [ - "feat-auth", "self-hosting" ], "author": { - "login": "IeohMingChan", - "html_url": "https://github.com/IeohMingChan" + "login": "EricAntidot", + "html_url": "https://github.com/EricAntidot" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3957, - "title": "Langfuse.create_prompt() got an unexpected keyword argument 'version'", - "href": "https://github.com/orgs/langfuse/discussions/3957", - "created_at": "2024-10-29T13:21:51Z", - "upvotes": 1, + "number": 3240, + "title": "Ability to export all traces/sessions/scores from langfuse and import back to another langfuse instance", + "href": "https://github.com/orgs/langfuse/discussions/3240", + "created_at": "2024-09-05T07:11:48Z", + "upvotes": 5, "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [ - "feat-prompt-management" + "self-hosting" ], "author": { - "login": "silenceliang", - "html_url": "https://github.com/silenceliang" + "login": "SinghCoder", + "html_url": "https://github.com/SinghCoder" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3949, - "title": "Is there a way to clear trace data in batch?", - "href": "https://github.com/orgs/langfuse/discussions/3949", - "created_at": "2024-10-29T06:10:26Z", - "upvotes": 1, + "number": 3237, + "title": "Support for Selecting Specific Paths from JSON Objects in Evaluation Prompts", + "href": "https://github.com/orgs/langfuse/discussions/3237", + "created_at": "2024-09-05T05:05:48Z", + "upvotes": 2, "comment_count": 2, - "resolved": true, + "resolved": false, "labels": [ - "self-hosting" + "feat-evals" ], "author": { - "login": "renwei-work", - "html_url": "https://github.com/renwei-work" + "login": "divyanshubhuta", + "html_url": "https://github.com/divyanshubhuta" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3943, - "title": "Improvements of Langfuse-Haystack integration", - "href": "https://github.com/orgs/langfuse/discussions/3943", - "created_at": "2024-10-28T14:49:51Z", - "upvotes": 1, - "comment_count": 2, - "resolved": true, + "number": 3220, + "title": "Trace Logprobs from OpenAI models", + "href": "https://github.com/orgs/langfuse/discussions/3220", + "created_at": "2024-09-04T01:25:15Z", + "upvotes": 2, + "comment_count": 0, + "resolved": false, "labels": [ - "integration-haystack" + "integration-openai" ], "author": { - "login": "alex-stoica", - "html_url": "https://github.com/alex-stoica" + "login": "yusuke-intern", + "html_url": "https://github.com/yusuke-intern" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3924, - "title": "Postgres version mismatch when upgrading langfuse locally", - "href": "https://github.com/orgs/langfuse/discussions/3924", - "created_at": "2024-10-25T18:30:14Z", + "number": 3215, + "title": "(ui) Ability to hide \"scores\" column", + "href": "https://github.com/orgs/langfuse/discussions/3215", + "created_at": "2024-09-03T15:34:14Z", "upvotes": 2, - "comment_count": 1, - "resolved": true, + "comment_count": 2, + "resolved": false, "labels": [], "author": { - "login": "nikcaryo-super", - "html_url": "https://github.com/nikcaryo-super" + "login": "marctorsoc", + "html_url": "https://github.com/marctorsoc" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3920, - "title": "Rate limit exceed using Langfuse Python SDK", - "href": "https://github.com/orgs/langfuse/discussions/3920", - "created_at": "2024-10-25T14:45:56Z", + "number": 3212, + "title": "Dataset run description and metadata should not be fixed on the page", + "href": "https://github.com/orgs/langfuse/discussions/3212", + "created_at": "2024-09-03T12:30:34Z", "upvotes": 1, "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [ - "feat-api" + "feat-datasets" ], "author": { - "login": "laisalvescw", - "html_url": "https://github.com/laisalvescw" + "login": "justinas-kazanavicius", + "html_url": "https://github.com/justinas-kazanavicius" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3910, - "title": "If I use Anthropic Claude component in Langflow, the trace data in Langfuse is all null", - "href": "https://github.com/orgs/langfuse/discussions/3910", - "created_at": "2024-10-25T06:50:02Z", - "upvotes": 2, + "number": 3208, + "title": "Support for exporting traces to CSV/JSON", + "href": "https://github.com/orgs/langfuse/discussions/3208", + "created_at": "2024-09-03T08:00:36Z", + "upvotes": 4, "comment_count": 2, - "resolved": true, - "labels": [], + "resolved": false, + "labels": [ + "✅ Done" + ], "author": { - "login": "b8heng", - "html_url": "https://github.com/b8heng" + "login": "david1542", + "html_url": "https://github.com/david1542" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3905, - "title": "Allow injection of generation context into evaluation prompt", - "href": "https://github.com/orgs/langfuse/discussions/3905", - "created_at": "2024-10-24T20:39:46Z", + "number": 3194, + "title": "Optionally set timestamp when creating a score", + "href": "https://github.com/orgs/langfuse/discussions/3194", + "created_at": "2024-09-02T15:20:20Z", "upvotes": 1, "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [ - "feat-evals" - ], + "feat-api", + "feat-scores" + ], "author": { - "login": "dveyarangi", - "html_url": "https://github.com/dveyarangi" + "login": "FlorDonnaSanders", + "html_url": "https://github.com/FlorDonnaSanders" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3902, - "title": "How to fetch the output and input tokens of a trace via API?", - "href": "https://github.com/orgs/langfuse/discussions/3902", - "created_at": "2024-10-24T16:16:56Z", - "upvotes": 0, - "comment_count": 1, - "resolved": true, + "number": 3186, + "title": "Setting trace ID and parent observation ID with Python decorator SDK", + "href": "https://github.com/orgs/langfuse/discussions/3186", + "created_at": "2024-09-02T09:27:36Z", + "upvotes": 1, + "comment_count": 3, + "resolved": false, "labels": [ - "feat-api", - "feat-cost-tracking" + "✅ Done", + "integration-python-decorator" ], "author": { - "login": "fdb02983rhy", - "html_url": "https://github.com/fdb02983rhy" + "login": "MrOrz", + "html_url": "https://github.com/MrOrz" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3900, - "title": "Sometimes traces lack metadata completely", - "href": "https://github.com/orgs/langfuse/discussions/3900", - "created_at": "2024-10-24T15:06:32Z", - "upvotes": 1, - "comment_count": 4, - "resolved": true, + "number": 3181, + "title": "Log only metadata", + "href": "https://github.com/orgs/langfuse/discussions/3181", + "created_at": "2024-08-31T18:31:11Z", + "upvotes": 2, + "comment_count": 0, + "resolved": false, "labels": [], "author": { - "login": "RichardSieg", - "html_url": "https://github.com/RichardSieg" + "login": "jan-kubica", + "html_url": "https://github.com/jan-kubica" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3890, - "title": "how to add invoked langchain tool names as tags or as metadata", - "href": "https://github.com/orgs/langfuse/discussions/3890", - "created_at": "2024-10-24T00:39:02Z", + "number": 3178, + "title": "The display time on the x-axis of the chart in the Dashboard shows only the date, without hours, minutes, and seconds.", + "href": "https://github.com/orgs/langfuse/discussions/3178", + "created_at": "2024-08-31T04:09:07Z", "upvotes": 1, "comment_count": 1, "resolved": false, "labels": [ - "integration-langchain" + "bug", + "✅ Done", + "feat-dashboard" ], "author": { - "login": "Wrashionis", - "html_url": "https://github.com/Wrashionis" + "login": "HGladiator", + "html_url": "https://github.com/HGladiator" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3886, - "title": "Azure AD auth: OAUTH_PARSE_PROFILE_ERROR", - "href": "https://github.com/orgs/langfuse/discussions/3886", - "created_at": "2024-10-23T19:40:57Z", - "upvotes": 1, - "comment_count": 2, + "number": 3166, + "title": "Support Tool Calls / Functions in Playground", + "href": "https://github.com/orgs/langfuse/discussions/3166", + "created_at": "2024-08-30T20:04:34Z", + "upvotes": 14, + "comment_count": 10, "resolved": false, - "labels": [], + "labels": [ + "feat-playground" + ], "author": { - "login": "kryvokhyzha", - "html_url": "https://github.com/kryvokhyzha" + "login": "yuyuma", + "html_url": "https://github.com/yuyuma" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3884, - "title": "I cant quite tell if i'm doing the parent span correctly. The trace is appearing but not associated to the Session", - "href": "https://github.com/orgs/langfuse/discussions/3884", - "created_at": "2024-10-23T16:12:44Z", - "upvotes": 1, - "comment_count": 2, + "number": 3147, + "title": "Add the ability to search by message words in traces and scores", + "href": "https://github.com/orgs/langfuse/discussions/3147", + "created_at": "2024-08-30T08:02:32Z", + "upvotes": 4, + "comment_count": 0, "resolved": false, "labels": [], "author": { - "login": "PandelisZ", - "html_url": "https://github.com/PandelisZ" + "login": "ValentinKovalev", + "html_url": "https://github.com/ValentinKovalev" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3879, - "title": "No token information in observation of LLM run", - "href": "https://github.com/orgs/langfuse/discussions/3879", - "created_at": "2024-10-23T13:07:43Z", - "upvotes": 1, - "comment_count": 2, + "number": 3131, + "title": "Diff of prompt versions", + "href": "https://github.com/orgs/langfuse/discussions/3131", + "created_at": "2024-08-29T11:43:24Z", + "upvotes": 6, + "comment_count": 1, "resolved": false, "labels": [ - "feat-cost-tracking" + "feat-prompt-management" ], "author": { - "login": "noInterestIfPaidInFull", - "html_url": "https://github.com/noInterestIfPaidInFull" + "login": "dylanjcastillo", + "html_url": "https://github.com/dylanjcastillo" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3877, - "title": "Self host Langfuse not working - column `t6.cloud_config` does not exist", - "href": "https://github.com/orgs/langfuse/discussions/3877", - "created_at": "2024-10-23T11:54:13Z", - "upvotes": 1, - "comment_count": 4, + "number": 3129, + "title": "The LangchainCallbackHandler supports statistical delay of the first token", + "href": "https://github.com/orgs/langfuse/discussions/3129", + "created_at": "2024-08-29T09:26:11Z", + "upvotes": 3, + "comment_count": 2, "resolved": false, "labels": [ - "self-hosting" + "integration-langchain", + "✅ Done" ], "author": { - "login": "SugumarRavichandran", - "html_url": "https://github.com/SugumarRavichandran" + "login": "Hacky-DH", + "html_url": "https://github.com/Hacky-DH" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3868, - "title": "Langfuse Tracing not showing up on UI", - "href": "https://github.com/orgs/langfuse/discussions/3868", - "created_at": "2024-10-22T21:26:13Z", + "number": 3112, + "title": "Request Role elevation from Langfuse UI", + "href": "https://github.com/orgs/langfuse/discussions/3112", + "created_at": "2024-08-28T13:15:21Z", "upvotes": 1, - "comment_count": 2, - "resolved": true, - "labels": [], + "comment_count": 0, + "resolved": false, + "labels": [ + "feat-rbac" + ], "author": { - "login": "nthanapaisal", - "html_url": "https://github.com/nthanapaisal" + "login": "thund3rbrd", + "html_url": "https://github.com/thund3rbrd" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3863, - "title": "Request Timeout for Dashboard", - "href": "https://github.com/orgs/langfuse/discussions/3863", - "created_at": "2024-10-22T14:18:43Z", + "number": 3111, + "title": "Improve RBAC", + "href": "https://github.com/orgs/langfuse/discussions/3111", + "created_at": "2024-08-28T13:08:57Z", "upvotes": 1, - "comment_count": 2, - "resolved": true, + "comment_count": 0, + "resolved": false, "labels": [ - "self-hosting" + "feat-rbac" ], "author": { - "login": "mritonia", - "html_url": "https://github.com/mritonia" + "login": "thund3rbrd", + "html_url": "https://github.com/thund3rbrd" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3858, - "title": "Monitoring self-hosted langfuse.", - "href": "https://github.com/orgs/langfuse/discussions/3858", - "created_at": "2024-10-22T07:04:26Z", - "upvotes": 1, - "comment_count": 2, - "resolved": true, + "number": 3074, + "title": "Add \"image_url\" to Langfuse Prompt types.", + "href": "https://github.com/orgs/langfuse/discussions/3074", + "created_at": "2024-08-26T11:54:32Z", + "upvotes": 2, + "comment_count": 1, + "resolved": false, "labels": [ - "self-hosting" + "feat-prompt-management" ], "author": { - "login": "SinghCoder", - "html_url": "https://github.com/SinghCoder" + "login": "grobruegge", + "html_url": "https://github.com/grobruegge" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3854, - "title": "Open AI Python SDK - 'OpenAI' object has no attribute 'langfuse_auth_check'", - "href": "https://github.com/orgs/langfuse/discussions/3854", - "created_at": "2024-10-21T21:41:17Z", + "number": 3062, + "title": "Support for OpenAI.client.chat.completions.with_raw_response", + "href": "https://github.com/orgs/langfuse/discussions/3062", + "created_at": "2024-08-24T12:55:39Z", "upvotes": 1, - "comment_count": 4, - "resolved": true, + "comment_count": 1, + "resolved": false, "labels": [ "integration-openai" ], "author": { - "login": "hjensen", - "html_url": "https://github.com/hjensen" + "login": "aman-gupta-doc", + "html_url": "https://github.com/aman-gupta-doc" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3845, - "title": "Traces: Link a trace to multiple sessions", - "href": "https://github.com/orgs/langfuse/discussions/3845", - "created_at": "2024-10-21T11:31:54Z", - "upvotes": 1, + "number": 3053, + "title": "Being able to link Prompts with Traces when using the LangChain integration", + "href": "https://github.com/orgs/langfuse/discussions/3053", + "created_at": "2024-08-23T13:14:21Z", + "upvotes": 2, "comment_count": 2, - "resolved": true, + "resolved": false, "labels": [ - "feat-sessions" + "✅ Done" ], "author": { - "login": "nikitagupta5566", - "html_url": "https://github.com/nikitagupta5566" + "login": "jonnyforsterMSG", + "html_url": "https://github.com/jonnyforsterMSG" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3838, - "title": "How do I user wise \"Total Token\" counts via API or via python, As I want to track which user is consuming how much tokens", - "href": "https://github.com/orgs/langfuse/discussions/3838", - "created_at": "2024-10-21T06:51:06Z", - "upvotes": 2, - "comment_count": 3, - "resolved": true, + "number": 3050, + "title": "Implement dataset removal method", + "href": "https://github.com/orgs/langfuse/discussions/3050", + "created_at": "2024-08-23T11:40:13Z", + "upvotes": 4, + "comment_count": 0, + "resolved": false, "labels": [ - "feat-cost-tracking" + "feat-datasets" ], "author": { - "login": "hrone-dev-satyammishra", - "html_url": "https://github.com/hrone-dev-satyammishra" + "login": "justinas-kazanavicius", + "html_url": "https://github.com/justinas-kazanavicius" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3835, - "title": "To use Gemini on playground", - "href": "https://github.com/orgs/langfuse/discussions/3835", - "created_at": "2024-10-20T12:20:22Z", - "upvotes": 1, + "number": 3023, + "title": "Track openai token usage from stream_options instead of tokenizing the response server-side", + "href": "https://github.com/orgs/langfuse/discussions/3023", + "created_at": "2024-08-22T17:08:08Z", + "upvotes": 3, "comment_count": 3, "resolved": false, - "labels": [], + "labels": [ + "integration-openai", + "✅ Done", + "feat-cost-tracking" + ], "author": { - "login": "yu-tarrrr", - "html_url": "https://github.com/yu-tarrrr" + "login": "kilimchoi", + "html_url": "https://github.com/kilimchoi" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3824, - "title": "Traces and events not going through to Langfuse server even though they're generating", - "href": "https://github.com/orgs/langfuse/discussions/3824", - "created_at": "2024-10-18T13:49:53Z", + "number": 3021, + "title": "Pre-defined user access", + "href": "https://github.com/orgs/langfuse/discussions/3021", + "created_at": "2024-08-22T16:08:19Z", "upvotes": 1, - "comment_count": 2, + "comment_count": 0, "resolved": false, "labels": [ - "integration-python-decorator" + "self-hosting" ], "author": { - "login": "FaresKi", - "html_url": "https://github.com/FaresKi" + "login": "LucasMagnum", + "html_url": "https://github.com/LucasMagnum" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3800, - "title": "Insert API Keys in database", - "href": "https://github.com/orgs/langfuse/discussions/3800", - "created_at": "2024-10-17T12:40:17Z", + "number": 3014, + "title": "Supports filter string using regular expression matching", + "href": "https://github.com/orgs/langfuse/discussions/3014", + "created_at": "2024-08-22T14:39:34Z", "upvotes": 1, - "comment_count": 3, + "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "kryvokhyzha", - "html_url": "https://github.com/kryvokhyzha" + "login": "chai3", + "html_url": "https://github.com/chai3" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3799, - "title": "Weird behaviour of metric values and their reasoning", - "href": "https://github.com/orgs/langfuse/discussions/3799", - "created_at": "2024-10-17T12:17:48Z", - "upvotes": 1, - "comment_count": 2, - "resolved": true, + "number": 3004, + "title": "Support for more modalities and base64 content", + "href": "https://github.com/orgs/langfuse/discussions/3004", + "created_at": "2024-08-22T09:50:47Z", + "upvotes": 45, + "comment_count": 17, + "resolved": false, "labels": [ - "feat-evals" + "✅ Done", + "feat-multimodal" ], "author": { - "login": "filipmihal", - "html_url": "https://github.com/filipmihal" + "login": "marliessophie", + "html_url": "https://github.com/marliessophie" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3797, - "title": "Filter Categorical Score Values", - "href": "https://github.com/orgs/langfuse/discussions/3797", - "created_at": "2024-10-17T10:15:58Z", - "upvotes": 1, - "comment_count": 3, - "resolved": true, + "number": 2997, + "title": "Filter Span events in dashboard", + "href": "https://github.com/orgs/langfuse/discussions/2997", + "created_at": "2024-08-21T16:25:02Z", + "upvotes": 2, + "comment_count": 0, + "resolved": false, + "labels": [], + "author": { + "login": "tagaretiro", + "html_url": "https://github.com/tagaretiro" + }, + "category": "Ideas" + }, + { + "number": 2987, + "title": "Claude/openai/google prompt caching", + "href": "https://github.com/orgs/langfuse/discussions/2987", + "created_at": "2024-08-21T04:18:55Z", + "upvotes": 5, + "comment_count": 4, + "resolved": false, "labels": [ - "feat-scores" + "feat-cost-tracking" ], "author": { - "login": "alabrashJr", - "html_url": "https://github.com/alabrashJr" + "login": "mrdrprofuroboros", + "html_url": "https://github.com/mrdrprofuroboros" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3796, - "title": "Manually setting up Langchain Callback handler with explicit values doesn't configure langfuse client in decorator approach", - "href": "https://github.com/orgs/langfuse/discussions/3796", - "created_at": "2024-10-17T08:36:51Z", + "number": 2978, + "title": "Unexpected event format when using `ibm-watsonx-ai` with LangChain extension", + "href": "https://github.com/orgs/langfuse/discussions/2978", + "created_at": "2024-08-20T11:20:28Z", "upvotes": 1, - "comment_count": 2, - "resolved": true, + "comment_count": 0, + "resolved": false, "labels": [ "integration-langchain" ], "author": { - "login": "FaresKi", - "html_url": "https://github.com/FaresKi" + "login": "barvhaim", + "html_url": "https://github.com/barvhaim" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3780, - "title": "How to use prompt management with litellm's integration with langfuse?", - "href": "https://github.com/orgs/langfuse/discussions/3780", - "created_at": "2024-10-16T16:48:40Z", - "upvotes": 2, - "comment_count": 8, - "resolved": true, + "number": 2975, + "title": "fetch all users via sdk/api", + "href": "https://github.com/orgs/langfuse/discussions/2975", + "created_at": "2024-08-20T06:52:47Z", + "upvotes": 1, + "comment_count": 3, + "resolved": false, "labels": [ - "feat-prompt-management", - "integration-litellm" + "feat-users" ], "author": { - "login": "GildeshAbhay", - "html_url": "https://github.com/GildeshAbhay" + "login": "vincent-larisma", + "html_url": "https://github.com/vincent-larisma" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3779, - "title": "Annotation Queues and Session IDs and Datasets and LLM Security", - "href": "https://github.com/orgs/langfuse/discussions/3779", - "created_at": "2024-10-16T14:55:09Z", + "number": 2967, + "title": "Tag based usage", + "href": "https://github.com/orgs/langfuse/discussions/2967", + "created_at": "2024-08-19T07:13:26Z", "upvotes": 1, - "comment_count": 3, + "comment_count": 1, "resolved": false, - "labels": [], + "labels": [ + "feat-dashboard", + "feat-tags" + ], "author": { - "login": "paolotamag", - "html_url": "https://github.com/paolotamag" + "login": "aakash-vwo", + "html_url": "https://github.com/aakash-vwo" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3778, - "title": "Observe decorator not working with custom langchain model & custom langfuse callback handler", - "href": "https://github.com/orgs/langfuse/discussions/3778", - "created_at": "2024-10-16T12:36:02Z", - "upvotes": 1, - "comment_count": 2, - "resolved": true, - "labels": [], + "number": 2949, + "title": "Auto-patching Langchain to include Langfuse callback handler", + "href": "https://github.com/orgs/langfuse/discussions/2949", + "created_at": "2024-08-15T12:17:32Z", + "upvotes": 3, + "comment_count": 1, + "resolved": false, + "labels": [ + "integration-langchain" + ], "author": { - "login": "FaresKi", - "html_url": "https://github.com/FaresKi" + "login": "kongzii", + "html_url": "https://github.com/kongzii" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3777, - "title": "Error when trying to upgrade my langfuse deployment", - "href": "https://github.com/orgs/langfuse/discussions/3777", - "created_at": "2024-10-16T09:25:53Z", + "number": 2923, + "title": "Feature: Add CAS (and maybe SAML) as a authentication method", + "href": "https://github.com/orgs/langfuse/discussions/2923", + "created_at": "2024-08-13T17:18:42Z", "upvotes": 2, - "comment_count": 2, + "comment_count": 1, "resolved": false, "labels": [ "self-hosting" ], "author": { - "login": "nithin1995", - "html_url": "https://github.com/nithin1995" + "login": "jayteaftw", + "html_url": "https://github.com/jayteaftw" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3766, - "title": "Latency and total cost for runs are not computed", - "href": "https://github.com/orgs/langfuse/discussions/3766", - "created_at": "2024-10-15T21:38:15Z", + "number": 2919, + "title": "Adding access to User's sessions directly", + "href": "https://github.com/orgs/langfuse/discussions/2919", + "created_at": "2024-08-13T12:42:16Z", "upvotes": 1, - "comment_count": 3, - "resolved": true, - "labels": [], + "comment_count": 0, + "resolved": false, + "labels": [ + "feat-users", + "feat-sessions" + ], "author": { - "login": "ldbolanos", - "html_url": "https://github.com/ldbolanos" + "login": "Youneesz", + "html_url": "https://github.com/Youneesz" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3764, - "title": "Best practices for tracing an app with history and tool usage", - "href": "https://github.com/orgs/langfuse/discussions/3764", - "created_at": "2024-10-15T21:27:34Z", - "upvotes": 2, - "comment_count": 3, - "resolved": true, + "number": 2883, + "title": "Compare two dataset runs side by side", + "href": "https://github.com/orgs/langfuse/discussions/2883", + "created_at": "2024-08-09T10:40:05Z", + "upvotes": 5, + "comment_count": 1, + "resolved": false, "labels": [ - "integration-openai" + "feat-datasets" ], "author": { - "login": "machulav", - "html_url": "https://github.com/machulav" + "login": "dmaslov", + "html_url": "https://github.com/dmaslov" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3756, - "title": "How to create an eval config for prompts using python api?", - "href": "https://github.com/orgs/langfuse/discussions/3756", - "created_at": "2024-10-15T09:20:06Z", + "number": 2881, + "title": "feat (ui): Collapse sidebar by default", + "href": "https://github.com/orgs/langfuse/discussions/2881", + "created_at": "2024-08-09T10:03:39Z", "upvotes": 1, - "comment_count": 2, - "resolved": true, + "comment_count": 5, + "resolved": false, "labels": [ - "feat-evals" + "ui" ], "author": { - "login": "GildeshAbhay", - "html_url": "https://github.com/GildeshAbhay" + "login": "marctorsoc", + "html_url": "https://github.com/marctorsoc" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3737, - "title": "Monitoring for multi agent systems (OpenWebUI)", - "href": "https://github.com/orgs/langfuse/discussions/3737", - "created_at": "2024-10-14T16:50:17Z", - "upvotes": 1, - "comment_count": 3, - "resolved": true, - "labels": [ - "integration-openwebui" - ], + "number": 2877, + "title": "Make langfuse deployable to AWS Lambda", + "href": "https://github.com/orgs/langfuse/discussions/2877", + "created_at": "2024-08-09T08:24:14Z", + "upvotes": 3, + "comment_count": 2, + "resolved": false, + "labels": [], "author": { - "login": "OM-EL", - "html_url": "https://github.com/OM-EL" + "login": "MeddahAbdellah", + "html_url": "https://github.com/MeddahAbdellah" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3735, - "title": "Is it possible to use tools calling and structured output in the Prompts UI and Playground?", - "href": "https://github.com/orgs/langfuse/discussions/3735", - "created_at": "2024-10-14T16:43:23Z", + "number": 2870, + "title": "custom base path deployments", + "href": "https://github.com/orgs/langfuse/discussions/2870", + "created_at": "2024-08-08T13:15:51Z", "upvotes": 1, - "comment_count": 2, - "resolved": true, - "labels": [ - "feat-prompt-management", - "feat-playground" - ], + "comment_count": 1, + "resolved": false, + "labels": [], "author": { - "login": "mifopen", - "html_url": "https://github.com/mifopen" + "login": "marioweid", + "html_url": "https://github.com/marioweid" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3718, - "title": "How to delete a Session?", - "href": "https://github.com/orgs/langfuse/discussions/3718", - "created_at": "2024-10-11T14:51:46Z", - "upvotes": 1, - "comment_count": 2, - "resolved": true, + "number": 2864, + "title": "Add Bedrock Guardrails to the LLM Security documentation", + "href": "https://github.com/orgs/langfuse/discussions/2864", + "created_at": "2024-08-07T23:56:05Z", + "upvotes": 2, + "comment_count": 0, + "resolved": false, "labels": [ - "feat-sessions" + "feat-llm-security", + "integration-amazon-bedrock" ], "author": { - "login": "augustoolucas", - "html_url": "https://github.com/augustoolucas" + "login": "wirjo", + "html_url": "https://github.com/wirjo" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3717, - "title": "Llamaindex Workflow does't work with Instrumentation Module", - "href": "https://github.com/orgs/langfuse/discussions/3717", - "created_at": "2024-10-11T10:27:09Z", - "upvotes": 1, - "comment_count": 3, - "resolved": true, + "number": 2863, + "title": "Add AWS as a deployment option in the documentation", + "href": "https://github.com/orgs/langfuse/discussions/2863", + "created_at": "2024-08-07T23:53:40Z", + "upvotes": 3, + "comment_count": 1, + "resolved": false, "labels": [ - "integraton-llamaindex" + "✅ Done", + "self-hosting" ], "author": { - "login": "ntdanhtma", - "html_url": "https://github.com/ntdanhtma" + "login": "wirjo", + "html_url": "https://github.com/wirjo" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3698, - "title": "Can I use Amazon Bedrock for Langfuse Evals?", - "href": "https://github.com/orgs/langfuse/discussions/3698", - "created_at": "2024-10-10T15:34:48Z", + "number": 2850, + "title": "Feat (ui): Move columns", + "href": "https://github.com/orgs/langfuse/discussions/2850", + "created_at": "2024-08-07T11:55:55Z", "upvotes": 1, - "comment_count": 5, - "resolved": true, - "labels": [ - "feat-evals", - "integration-amazon-bedrock" - ], + "comment_count": 0, + "resolved": false, + "labels": [], "author": { - "login": "j10sanders", - "html_url": "https://github.com/j10sanders" + "login": "marctorsoc", + "html_url": "https://github.com/marctorsoc" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3679, - "title": "Langfuse / Langflow not intergrating", - "href": "https://github.com/orgs/langfuse/discussions/3679", - "created_at": "2024-10-09T17:06:32Z", + "number": 2848, + "title": "Feat: Allow not sorting tags", + "href": "https://github.com/orgs/langfuse/discussions/2848", + "created_at": "2024-08-07T11:50:44Z", "upvotes": 1, - "comment_count": 2, + "comment_count": 1, "resolved": false, "labels": [ - "integration-langflow" + "feat-tags" ], "author": { - "login": "colecal", - "html_url": "https://github.com/colecal" + "login": "marctorsoc", + "html_url": "https://github.com/marctorsoc" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3678, - "title": "Langfuse not tracing code from my VM (server)", - "href": "https://github.com/orgs/langfuse/discussions/3678", - "created_at": "2024-10-09T14:56:05Z", + "number": 2823, + "title": "Need support for ChatOCIGenAI", + "href": "https://github.com/orgs/langfuse/discussions/2823", + "created_at": "2024-08-05T13:34:30Z", + "upvotes": 2, + "comment_count": 0, + "resolved": false, + "labels": [], + "author": { + "login": "engchina", + "html_url": "https://github.com/engchina" + }, + "category": "Ideas" + }, + { + "number": 2821, + "title": "Need API endpoints to add projects and users", + "href": "https://github.com/orgs/langfuse/discussions/2821", + "created_at": "2024-08-05T13:10:49Z", + "upvotes": 2, + "comment_count": 1, + "resolved": false, + "labels": [], + "author": { + "login": "kameshbrao", + "html_url": "https://github.com/kameshbrao" + }, + "category": "Ideas" + }, + { + "number": 2812, + "title": "Could you make the Prompt label 36 char long?", + "href": "https://github.com/orgs/langfuse/discussions/2812", + "created_at": "2024-08-02T11:03:08Z", "upvotes": 1, "comment_count": 1, "resolved": false, "labels": [ - "self-hosting" + "feat-prompt-management", + "✅ Done" ], "author": { - "login": "akbar-mta", - "html_url": "https://github.com/akbar-mta" + "login": "DevSageH", + "html_url": "https://github.com/DevSageH" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3674, - "title": "Docs for K8s deployments", - "href": "https://github.com/orgs/langfuse/discussions/3674", - "created_at": "2024-10-09T09:52:05Z", - "upvotes": 1, - "comment_count": 2, - "resolved": true, + "number": 2810, + "title": "Enable setting a label to an existing prompt version via the api/sdk.", + "href": "https://github.com/orgs/langfuse/discussions/2810", + "created_at": "2024-08-01T16:53:06Z", + "upvotes": 10, + "comment_count": 4, + "resolved": false, "labels": [ - "self-hosting" + "feat-prompt-management" ], "author": { - "login": "Brant-lzh", - "html_url": "https://github.com/Brant-lzh" + "login": "ClementNguyen", + "html_url": "https://github.com/ClementNguyen" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3645, - "title": "Cannot Sign In or Sign Up to Local Langfuse Instance", - "href": "https://github.com/orgs/langfuse/discussions/3645", - "created_at": "2024-10-08T11:09:48Z", - "upvotes": 1, - "comment_count": 2, - "resolved": true, - "labels": [], - "author": { - "login": "Patryk-Chlanda", - "html_url": "https://github.com/Patryk-Chlanda" - }, - "category": "Support" - }, - { - "number": 3641, - "title": "Sign in and Sign up button is greyed out", - "href": "https://github.com/orgs/langfuse/discussions/3641", - "created_at": "2024-10-08T09:32:16Z", - "upvotes": 1, - "comment_count": 2, - "resolved": true, - "labels": [], - "author": { - "login": "akbar-mta", - "html_url": "https://github.com/akbar-mta" - }, - "category": "Support" - }, - { - "number": 3637, - "title": "Sign In Button Remains Disabled When Logging in with Email/Password on Langfuse Self-Hosted", - "href": "https://github.com/orgs/langfuse/discussions/3637", - "created_at": "2024-10-08T06:40:05Z", - "upvotes": 2, - "comment_count": 2, - "resolved": true, - "labels": [], - "author": { - "login": "tubone24", - "html_url": "https://github.com/tubone24" - }, - "category": "Support" - }, - { - "number": 3615, - "title": "Failing with internal server error when trying to add score to a trace", - "href": "https://github.com/orgs/langfuse/discussions/3615", - "created_at": "2024-10-07T06:15:14Z", - "upvotes": 1, + "number": 2797, + "title": "Enable list_prompts/search_prompts using client", + "href": "https://github.com/orgs/langfuse/discussions/2797", + "created_at": "2024-07-31T13:45:38Z", + "upvotes": 4, "comment_count": 2, - "resolved": true, - "labels": [], - "author": { - "login": "nithin1995", - "html_url": "https://github.com/nithin1995" - }, - "category": "Support" - }, - { - "number": 3592, - "title": "Set trace_id in Langchain CallbackHandler", - "href": "https://github.com/orgs/langfuse/discussions/3592", - "created_at": "2024-10-05T11:09:30Z", - "upvotes": 1, - "comment_count": 1, - "resolved": true, - "labels": [], + "resolved": false, + "labels": [ + "feat-prompt-management" + ], "author": { - "login": "michaelpoluektov", - "html_url": "https://github.com/michaelpoluektov" + "login": "krlng", + "html_url": "https://github.com/krlng" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3574, - "title": "Automated provisioning of default resources in self hosting", - "href": "https://github.com/orgs/langfuse/discussions/3574", - "created_at": "2024-10-04T06:44:45Z", + "number": 2781, + "title": "Add support for custom serialization of observation fields", + "href": "https://github.com/orgs/langfuse/discussions/2781", + "created_at": "2024-07-29T18:49:03Z", "upvotes": 1, "comment_count": 2, - "resolved": true, + "resolved": false, "labels": [ - "self-hosting" + "sdk-python" ], "author": { - "login": "Harinisri29", - "html_url": "https://github.com/Harinisri29" + "login": "ashamlian-roadway", + "html_url": "https://github.com/ashamlian-roadway" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3569, - "title": "UnauthorizedError: No authorization header After Switching to Headless Initialization", - "href": "https://github.com/orgs/langfuse/discussions/3569", - "created_at": "2024-10-03T08:52:35Z", - "upvotes": 2, - "comment_count": 2, + "number": 2770, + "title": "Add clickable link to the 'release' kwargs in a Trace - this will route to the documentations/change log of that release/version", + "href": "https://github.com/orgs/langfuse/discussions/2770", + "created_at": "2024-07-28T07:08:07Z", + "upvotes": 1, + "comment_count": 0, "resolved": false, "labels": [], "author": { - "login": "chandel-aman", - "html_url": "https://github.com/chandel-aman" + "login": "stepanogil", + "html_url": "https://github.com/stepanogil" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3559, - "title": "Token Cost using OpenRouter", - "href": "https://github.com/orgs/langfuse/discussions/3559", - "created_at": "2024-10-02T05:25:14Z", - "upvotes": 1, + "number": 2766, + "title": "Support Exporting LangSmith Run Traces into Langfuse!", + "href": "https://github.com/orgs/langfuse/discussions/2766", + "created_at": "2024-07-27T02:34:44Z", + "upvotes": 3, "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [], "author": { - "login": "austinm911", - "html_url": "https://github.com/austinm911" + "login": "p-barman", + "html_url": "https://github.com/p-barman" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3557, - "title": "Link 2 traces", - "href": "https://github.com/orgs/langfuse/discussions/3557", - "created_at": "2024-10-02T02:14:27Z", + "number": 2747, + "title": "A new configuration env variable for custom URL prefix", + "href": "https://github.com/orgs/langfuse/discussions/2747", + "created_at": "2024-07-25T17:00:57Z", "upvotes": 1, "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [], "author": { - "login": "saiprasath21", - "html_url": "https://github.com/saiprasath21" + "login": "abdullah-retorio", + "html_url": "https://github.com/abdullah-retorio" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3556, - "title": "Update a trace", - "href": "https://github.com/orgs/langfuse/discussions/3556", - "created_at": "2024-10-02T02:10:15Z", + "number": 2746, + "title": "Returning prompts from expired cache may be disabled using a boolean argument", + "href": "https://github.com/orgs/langfuse/discussions/2746", + "created_at": "2024-07-25T15:57:26Z", "upvotes": 1, "comment_count": 1, - "resolved": true, - "labels": [], + "resolved": false, + "labels": [ + "feat-prompt-management" + ], "author": { - "login": "saiprasath21", - "html_url": "https://github.com/saiprasath21" + "login": "ogunoz", + "html_url": "https://github.com/ogunoz" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3553, - "title": "How to track DSPy call within Langgraph", - "href": "https://github.com/orgs/langfuse/discussions/3553", - "created_at": "2024-10-01T20:00:11Z", + "number": 2745, + "title": "Lazy fallback for get_prompt", + "href": "https://github.com/orgs/langfuse/discussions/2745", + "created_at": "2024-07-25T15:50:32Z", "upvotes": 1, "comment_count": 1, "resolved": false, "labels": [ - "integration-langchain", - "integration-dspy" + "feat-prompt-management" ], "author": { - "login": "marcklingen", - "html_url": "https://github.com/marcklingen" + "login": "ogunoz", + "html_url": "https://github.com/ogunoz" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3552, - "title": "LlamaIndex traces grouping", - "href": "https://github.com/orgs/langfuse/discussions/3552", - "created_at": "2024-10-01T18:35:11Z", - "upvotes": 1, + "number": 2738, + "title": "Set variables in playground from dataset", + "href": "https://github.com/orgs/langfuse/discussions/2738", + "created_at": "2024-07-25T09:27:30Z", + "upvotes": 4, "comment_count": 2, - "resolved": true, + "resolved": false, "labels": [ - "integraton-llamaindex" + "feat-datasets", + "feat-playground" ], "author": { - "login": "ivanviragine", - "html_url": "https://github.com/ivanviragine" + "login": "hbenyamina", + "html_url": "https://github.com/hbenyamina" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3549, - "title": "create api keys pair using some method or api", - "href": "https://github.com/orgs/langfuse/discussions/3549", - "created_at": "2024-10-01T11:45:12Z", + "number": 2729, + "title": "Comment thread on Traces", + "href": "https://github.com/orgs/langfuse/discussions/2729", + "created_at": "2024-07-24T13:52:51Z", "upvotes": 1, - "comment_count": 2, - "resolved": true, + "comment_count": 3, + "resolved": false, "labels": [ - "self-hosting" + "✅ Done", + "feat-comments" ], "author": { - "login": "ryanrib14", - "html_url": "https://github.com/ryanrib14" + "login": "guptakvgaurav", + "html_url": "https://github.com/guptakvgaurav" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3545, - "title": "How to Set Custom Trace ID with a Decorator and Include langfuse_observation_id?", - "href": "https://github.com/orgs/langfuse/discussions/3545", - "created_at": "2024-10-01T02:04:03Z", - "upvotes": 1, - "comment_count": 2, - "resolved": true, + "number": 2728, + "title": "Session-level scores", + "href": "https://github.com/orgs/langfuse/discussions/2728", + "created_at": "2024-07-24T10:05:40Z", + "upvotes": 3, + "comment_count": 3, + "resolved": false, "labels": [ - "integration-python-decorator" + "feat-scores", + "feat-sessions" ], "author": { - "login": "octadion", - "html_url": "https://github.com/octadion" + "login": "felixsg", + "html_url": "https://github.com/felixsg" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3540, - "title": "error ❌ tRPC failed on public.checkUpdate: Failed to fetch or json parse the latest releases Failed to fetch or json parse the latest releases", - "href": "https://github.com/orgs/langfuse/discussions/3540", - "created_at": "2024-09-30T20:29:22Z", - "upvotes": 1, - "comment_count": 1, - "resolved": true, - "labels": [ - "self-hosting" + "number": 2721, + "title": "Add note on each prompt version", + "href": "https://github.com/orgs/langfuse/discussions/2721", + "created_at": "2024-07-23T14:48:02Z", + "upvotes": 2, + "comment_count": 1, + "resolved": false, + "labels": [ + "feat-prompt-management" ], "author": { - "login": "FaresKi", - "html_url": "https://github.com/FaresKi" + "login": "cubxxw", + "html_url": "https://github.com/cubxxw" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3531, - "title": "is it possible to assign a label to an existing prompt via API/SDK ?", - "href": "https://github.com/orgs/langfuse/discussions/3531", - "created_at": "2024-09-30T07:49:28Z", + "number": 2720, + "title": "Feature request [UI]: Remember column selection PER project in Traces view", + "href": "https://github.com/orgs/langfuse/discussions/2720", + "created_at": "2024-07-23T13:53:38Z", "upvotes": 1, "comment_count": 2, - "resolved": true, - "labels": [ - "feat-prompt-management" - ], + "resolved": false, + "labels": [], "author": { - "login": "simicvm", - "html_url": "https://github.com/simicvm" + "login": "justingodden", + "html_url": "https://github.com/justingodden" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3525, - "title": "Applying database migrations failed. This is mostly caused by the database being unavailable", - "href": "https://github.com/orgs/langfuse/discussions/3525", - "created_at": "2024-09-29T11:14:04Z", + "number": 2710, + "title": "Support JSON messages in prompt management", + "href": "https://github.com/orgs/langfuse/discussions/2710", + "created_at": "2024-07-23T01:59:12Z", "upvotes": 1, - "comment_count": 3, + "comment_count": 0, "resolved": false, - "labels": [ - "self-hosting" - ], + "labels": [], "author": { - "login": "NanthagopalEswaran", - "html_url": "https://github.com/NanthagopalEswaran" + "login": "jasonslyvia", + "html_url": "https://github.com/jasonslyvia" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3521, - "title": "is it open source or not?", - "href": "https://github.com/orgs/langfuse/discussions/3521", - "created_at": "2024-09-27T22:07:52Z", - "upvotes": 1, - "comment_count": 1, - "resolved": true, + "number": 2704, + "title": "Deleting user's traces via API to be GDPR compliant", + "href": "https://github.com/orgs/langfuse/discussions/2704", + "created_at": "2024-07-22T12:03:22Z", + "upvotes": 8, + "comment_count": 2, + "resolved": false, "labels": [], "author": { - "login": "severfire", - "html_url": "https://github.com/severfire" + "login": "Stormyy", + "html_url": "https://github.com/Stormyy" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3520, - "title": "Langfuse not logging costs on Vertex AI gemini-1.5-flash-002.", - "href": "https://github.com/orgs/langfuse/discussions/3520", - "created_at": "2024-09-27T18:51:08Z", + "number": 2699, + "title": "Schemad or structured configuration for prompt", + "href": "https://github.com/orgs/langfuse/discussions/2699", + "created_at": "2024-07-22T02:29:13Z", "upvotes": 1, "comment_count": 1, - "resolved": true, - "labels": [ - "integraton-llamaindex" - ], - "author": { - "login": "arthurbrenno", - "html_url": "https://github.com/arthurbrenno" - }, - "category": "Support" - }, - { - "number": 3503, - "title": "Not possible to delete prompts programmatically, (langfuse python library or api)", - "href": "https://github.com/orgs/langfuse/discussions/3503", - "created_at": "2024-09-27T12:33:52Z", - "upvotes": 2, - "comment_count": 2, - "resolved": true, + "resolved": false, "labels": [ "feat-prompt-management" ], "author": { - "login": "RealGammaNL", - "html_url": "https://github.com/RealGammaNL" + "login": "jasonslyvia", + "html_url": "https://github.com/jasonslyvia" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3496, - "title": "Unable to fetch prompts without production label", - "href": "https://github.com/orgs/langfuse/discussions/3496", - "created_at": "2024-09-27T03:27:52Z", + "number": 2697, + "title": "A transparent mode", + "href": "https://github.com/orgs/langfuse/discussions/2697", + "created_at": "2024-07-21T20:55:43Z", "upvotes": 1, "comment_count": 1, - "resolved": true, - "labels": [ - "feat-prompt-management" - ], + "resolved": false, + "labels": [], "author": { - "login": "chandel-aman", - "html_url": "https://github.com/chandel-aman" + "login": "emsi", + "html_url": "https://github.com/emsi" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3489, - "title": "Missing input/output on trace when using openai js integration", - "href": "https://github.com/orgs/langfuse/discussions/3489", - "created_at": "2024-09-26T15:36:06Z", - "upvotes": 1, - "comment_count": 2, + "number": 2684, + "title": "Langfuse batch prompts api should return prompt configs as well", + "href": "https://github.com/orgs/langfuse/discussions/2684", + "created_at": "2024-07-19T10:05:45Z", + "upvotes": 2, + "comment_count": 3, "resolved": false, "labels": [ - "integration-openai" + "feat-prompt-management", + "✅ Done" ], "author": { - "login": "dimitrydesilias", - "html_url": "https://github.com/dimitrydesilias" + "login": "ashutoshsaboo", + "html_url": "https://github.com/ashutoshsaboo" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3486, - "title": "Bind all multiple hierarchical call against session-id instead of opening multiple threads", - "href": "https://github.com/orgs/langfuse/discussions/3486", - "created_at": "2024-09-26T06:31:20Z", - "upvotes": 1, - "comment_count": 3, - "resolved": true, - "labels": [ - "integration-python-decorator" - ], + "number": 2669, + "title": "Visualisation of graph execution", + "href": "https://github.com/orgs/langfuse/discussions/2669", + "created_at": "2024-07-18T08:44:03Z", + "upvotes": 2, + "comment_count": 1, + "resolved": false, + "labels": [], "author": { - "login": "ajeet6261", - "html_url": "https://github.com/ajeet6261" + "login": "VMinB12", + "html_url": "https://github.com/VMinB12" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3485, - "title": "How to avoid memory leaks due to LangchainCallbackHandler while using userId and sessionId", - "href": "https://github.com/orgs/langfuse/discussions/3485", - "created_at": "2024-09-26T00:07:14Z", + "number": 2668, + "title": "I want to say something about user feedback", + "href": "https://github.com/orgs/langfuse/discussions/2668", + "created_at": "2024-07-18T07:57:50Z", "upvotes": 1, - "comment_count": 6, - "resolved": true, - "labels": [ - "integration-langchain", - "feat-users", - "feat-sessions" - ], + "comment_count": 1, + "resolved": false, + "labels": [], "author": { - "login": "Chengdyc", - "html_url": "https://github.com/Chengdyc" + "login": "cubxxw", + "html_url": "https://github.com/cubxxw" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3480, - "title": "How to provide a TLS Cert for PGSQL cloud connection in Langfuse docker container?", - "href": "https://github.com/orgs/langfuse/discussions/3480", - "created_at": "2024-09-25T20:44:17Z", + "number": 2664, + "title": "Prompts are supported for export", + "href": "https://github.com/orgs/langfuse/discussions/2664", + "created_at": "2024-07-18T00:43:12Z", "upvotes": 1, - "comment_count": 2, - "resolved": true, - "labels": [ - "self-hosting" - ], + "comment_count": 1, + "resolved": false, + "labels": [], "author": { - "login": "barvhaim", - "html_url": "https://github.com/barvhaim" + "login": "cubxxw", + "html_url": "https://github.com/cubxxw" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3477, - "title": "LangFuse Low Level SDK does not render images by passing the link", - "href": "https://github.com/orgs/langfuse/discussions/3477", - "created_at": "2024-09-25T15:15:54Z", + "number": 2653, + "title": "Web page request is a little slow, whether to consider using golang to reconstruct", + "href": "https://github.com/orgs/langfuse/discussions/2653", + "created_at": "2024-07-17T07:08:45Z", "upvotes": 1, "comment_count": 1, "resolved": false, - "labels": [ - "feat-multimodal" - ], + "labels": [], "author": { - "login": "VikramShenoy97", - "html_url": "https://github.com/VikramShenoy97" + "login": "cubxxw", + "html_url": "https://github.com/cubxxw" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3469, - "title": "raise exception when handle_span_events", - "href": "https://github.com/orgs/langfuse/discussions/3469", - "created_at": "2024-09-25T00:56:32Z", - "upvotes": 1, - "comment_count": 2, + "number": 2642, + "title": "Add ability to add name or label to a Langfuse API key", + "href": "https://github.com/orgs/langfuse/discussions/2642", + "created_at": "2024-07-16T17:08:42Z", + "upvotes": 5, + "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "nightosong", - "html_url": "https://github.com/nightosong" + "login": "agibralter", + "html_url": "https://github.com/agibralter" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3466, - "title": "How to get costs associated with an API call / user?", - "href": "https://github.com/orgs/langfuse/discussions/3466", - "created_at": "2024-09-24T19:33:56Z", - "upvotes": 1, - "comment_count": 1, - "resolved": true, + "number": 2625, + "title": "Track Openai Assistant API costs", + "href": "https://github.com/orgs/langfuse/discussions/2625", + "created_at": "2024-07-15T07:50:18Z", + "upvotes": 4, + "comment_count": 0, + "resolved": false, "labels": [ - "feat-users", - "feat-cost-tracking" + "integration-openai" ], "author": { - "login": "punkpeye", - "html_url": "https://github.com/punkpeye" + "login": "christos-bsq", + "html_url": "https://github.com/christos-bsq" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3465, - "title": "How to run langfuse locally while using a hosted database", - "href": "https://github.com/orgs/langfuse/discussions/3465", - "created_at": "2024-09-24T14:24:29Z", - "upvotes": 1, - "comment_count": 1, - "resolved": true, + "number": 2624, + "title": "Add tool / function calling and tool messages to Prompt Management", + "href": "https://github.com/orgs/langfuse/discussions/2624", + "created_at": "2024-07-15T06:49:50Z", + "upvotes": 3, + "comment_count": 0, + "resolved": false, "labels": [ - "self-hosting" + "feat-prompt-management" ], "author": { - "login": "wil0u", - "html_url": "https://github.com/wil0u" + "login": "eloko7", + "html_url": "https://github.com/eloko7" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3462, - "title": "how to set user_id or session_id in trace?", - "href": "https://github.com/orgs/langfuse/discussions/3462", - "created_at": "2024-09-24T08:34:59Z", + "number": 2622, + "title": "Inbuild langfuse tracing.", + "href": "https://github.com/orgs/langfuse/discussions/2622", + "created_at": "2024-07-13T10:39:13Z", "upvotes": 1, - "comment_count": 2, - "resolved": true, + "comment_count": 0, + "resolved": false, + "labels": [], + "author": { + "login": "rashid-globallogic", + "html_url": "https://github.com/rashid-globallogic" + }, + "category": "Ideas" + }, + { + "number": 2605, + "title": "DSPy tracing", + "href": "https://github.com/orgs/langfuse/discussions/2605", + "created_at": "2024-07-10T12:52:35Z", + "upvotes": 2, + "comment_count": 1, + "resolved": false, "labels": [ - "integration-python-decorator", - "feat-users", - "feat-sessions" + "integrations", + "✅ Done", + "integration-dspy" ], "author": { - "login": "yumc2573", - "html_url": "https://github.com/yumc2573" + "login": "paolotamag", + "html_url": "https://github.com/paolotamag" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3460, - "title": "Langfuse observation for openai embeddings method", - "href": "https://github.com/orgs/langfuse/discussions/3460", - "created_at": "2024-09-24T06:01:06Z", + "number": 2586, + "title": "Feat: Ability to change curreny for model usage costs.", + "href": "https://github.com/orgs/langfuse/discussions/2586", + "created_at": "2024-07-09T15:40:22Z", "upvotes": 2, - "comment_count": 2, - "resolved": true, + "comment_count": 1, + "resolved": false, "labels": [ - "integration-openai", - "integration-python-decorator", "feat-cost-tracking" ], "author": { - "login": "simrangulati-jktech", - "html_url": "https://github.com/simrangulati-jktech" + "login": "jannikstdl", + "html_url": "https://github.com/jannikstdl" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3446, - "title": "Right way to migrate langfuse deployed on K8s within an AWS account", - "href": "https://github.com/orgs/langfuse/discussions/3446", - "created_at": "2024-09-23T06:32:02Z", - "upvotes": 1, + "number": 2578, + "title": "Conditional Trace Content/Message submission", + "href": "https://github.com/orgs/langfuse/discussions/2578", + "created_at": "2024-07-09T09:57:26Z", + "upvotes": 3, "comment_count": 1, - "resolved": true, - "labels": [ - "self-hosting" - ], + "resolved": false, + "labels": [], "author": { - "login": "nithin1995", - "html_url": "https://github.com/nithin1995" + "login": "simonwh", + "html_url": "https://github.com/simonwh" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3435, - "title": "Langfuse is inconsistently generating span latencies table in traces greater than 36K entiries", - "href": "https://github.com/orgs/langfuse/discussions/3435", - "created_at": "2024-09-20T18:54:28Z", + "number": 2577, + "title": "Detailed and Interactive Plot Visualization like WandB", + "href": "https://github.com/orgs/langfuse/discussions/2577", + "created_at": "2024-07-09T09:19:38Z", "upvotes": 1, "comment_count": 3, - "resolved": true, + "resolved": false, "labels": [], "author": { - "login": "databloom", - "html_url": "https://github.com/databloom" + "login": "yusuke-intern", + "html_url": "https://github.com/yusuke-intern" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3429, - "title": "Async version of Langfuse.get_prompt", - "href": "https://github.com/orgs/langfuse/discussions/3429", - "created_at": "2024-09-20T14:26:51Z", + "number": 2576, + "title": "Log prob on Langfuse", + "href": "https://github.com/orgs/langfuse/discussions/2576", + "created_at": "2024-07-09T09:16:23Z", "upvotes": 1, "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [ - "feat-prompt-management" + "integration-openai" ], "author": { - "login": "antoniomdk", - "html_url": "https://github.com/antoniomdk" + "login": "yusuke-intern", + "html_url": "https://github.com/yusuke-intern" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3420, - "title": "Help setting up GCP host (cloudbuild or console)", - "href": "https://github.com/orgs/langfuse/discussions/3420", - "created_at": "2024-09-20T04:34:35Z", + "number": 2573, + "title": "Prompt Cataloguing and prompt github", + "href": "https://github.com/orgs/langfuse/discussions/2573", + "created_at": "2024-07-08T20:05:23Z", "upvotes": 1, - "comment_count": 3, + "comment_count": 1, "resolved": false, "labels": [ - "self-hosting" + "feat-prompt-management" ], "author": { - "login": "elliottower", - "html_url": "https://github.com/elliottower" + "login": "kunal2002", + "html_url": "https://github.com/kunal2002" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3410, - "title": "Configuring Evaluation with \"Correctness\" Template & Python Code Invocation", - "href": "https://github.com/orgs/langfuse/discussions/3410", - "created_at": "2024-09-19T09:44:42Z", + "number": 2571, + "title": "If Data/Metadata given to Langfuse SDK that exceeds Langfuse's limit, log/throw/emit Stack Trace", + "href": "https://github.com/orgs/langfuse/discussions/2571", + "created_at": "2024-07-08T15:17:52Z", "upvotes": 1, - "comment_count": 3, - "resolved": true, - "labels": [ - "feat-scores" - ], + "comment_count": 1, + "resolved": false, + "labels": [], "author": { - "login": "zoulou00", - "html_url": "https://github.com/zoulou00" + "login": "josiahbryan", + "html_url": "https://github.com/josiahbryan" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3406, - "title": "Module not found: Can't resolve '@langfuse'", - "href": "https://github.com/orgs/langfuse/discussions/3406", - "created_at": "2024-09-19T05:57:04Z", - "upvotes": 1, + "number": 2539, + "title": "Include request's `tools` configuration in OpenAI LLM calls", + "href": "https://github.com/orgs/langfuse/discussions/2539", + "created_at": "2024-07-04T11:39:43Z", + "upvotes": 2, "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [ - "self-hosting" + "integration-openai" ], "author": { - "login": "christosuster", - "html_url": "https://github.com/christosuster" + "login": "ricwo", + "html_url": "https://github.com/ricwo" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3397, - "title": "tokens and usage cost", - "href": "https://github.com/orgs/langfuse/discussions/3397", - "created_at": "2024-09-18T13:05:07Z", + "number": 2534, + "title": "Simple graphs and metrics for scores and evaluations", + "href": "https://github.com/orgs/langfuse/discussions/2534", + "created_at": "2024-07-03T17:14:42Z", + "upvotes": 2, + "comment_count": 1, + "resolved": false, + "labels": [], + "author": { + "login": "justinwiley", + "html_url": "https://github.com/justinwiley" + }, + "category": "Ideas" + }, + { + "number": 2529, + "title": "feat: Track Exceptions while using Decorators", + "href": "https://github.com/orgs/langfuse/discussions/2529", + "created_at": "2024-07-03T11:40:19Z", "upvotes": 1, - "comment_count": 2, - "resolved": true, + "comment_count": 1, + "resolved": false, "labels": [ - "feat-cost-tracking" + "integration-python-decorator" ], "author": { - "login": "Karanaiinfox", - "html_url": "https://github.com/Karanaiinfox" + "login": "Manonandan", + "html_url": "https://github.com/Manonandan" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3393, - "title": "Self-Host evaluation feature", - "href": "https://github.com/orgs/langfuse/discussions/3393", - "created_at": "2024-09-18T07:55:30Z", + "number": 2523, + "title": "Feature Request: Sidebar Display for Trace Details in Dataset Runs", + "href": "https://github.com/orgs/langfuse/discussions/2523", + "created_at": "2024-07-02T15:00:47Z", "upvotes": 1, - "comment_count": 2, - "resolved": true, + "comment_count": 3, + "resolved": false, "labels": [ - "feat-evals" + "feat-datasets" ], "author": { - "login": "MayankBitcot", - "html_url": "https://github.com/MayankBitcot" + "login": "tuan3w", + "html_url": "https://github.com/tuan3w" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3392, - "title": "not able to track entire request end to end in langchain + langfuse", - "href": "https://github.com/orgs/langfuse/discussions/3392", - "created_at": "2024-09-18T07:08:49Z", - "upvotes": 1, - "comment_count": 2, + "number": 2511, + "title": "Scoring dataset runs, e.g. precision, recall, f-value", + "href": "https://github.com/orgs/langfuse/discussions/2511", + "created_at": "2024-07-02T08:10:21Z", + "upvotes": 8, + "comment_count": 1, "resolved": false, "labels": [ - "integration-langchain" + "feat-datasets", + "feat-scores" ], "author": { - "login": "jaiswalvineet", - "html_url": "https://github.com/jaiswalvineet" + "login": "yusuke-intern", + "html_url": "https://github.com/yusuke-intern" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3379, - "title": "Feedback for “Langfuse Documentation”", - "href": "https://github.com/orgs/langfuse/discussions/3379", - "created_at": "2024-09-17T07:44:56Z", - "upvotes": 1, + "number": 2510, + "title": "How can we see traces of MULTIMODAL llms over langfuse ?", + "href": "https://github.com/orgs/langfuse/discussions/2510", + "created_at": "2024-07-02T05:15:59Z", + "upvotes": 4, "comment_count": 3, "resolved": false, - "labels": [], + "labels": [ + "✅ Done", + "feat-multimodal" + ], "author": { - "login": "Preet1234-ux", - "html_url": "https://github.com/Preet1234-ux" + "login": "Aaryaveerkrishna23", + "html_url": "https://github.com/Aaryaveerkrishna23" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3364, - "title": "Hey want to change the Eval Templates name, can we do it from UI", - "href": "https://github.com/orgs/langfuse/discussions/3364", - "created_at": "2024-09-16T08:07:30Z", - "upvotes": 1, - "comment_count": 3, - "resolved": true, + "number": 2509, + "title": "Support OpenTelemetry-based instrumentation (traceloop openllmetry and others)", + "href": "https://github.com/orgs/langfuse/discussions/2509", + "created_at": "2024-07-02T02:29:14Z", + "upvotes": 8, + "comment_count": 7, + "resolved": false, "labels": [ - "feat-evals" + "integrations" ], "author": { - "login": "divyanshubhuta", - "html_url": "https://github.com/divyanshubhuta" + "login": "gyliu513", + "html_url": "https://github.com/gyliu513" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3344, - "title": "How to use langfuse with LangGraph Studio", - "href": "https://github.com/orgs/langfuse/discussions/3344", - "created_at": "2024-09-13T11:35:53Z", - "upvotes": 1, - "comment_count": 2, + "number": 2508, + "title": "Enable Langfuse can expose metrics in Prometheus format", + "href": "https://github.com/orgs/langfuse/discussions/2508", + "created_at": "2024-07-02T02:25:24Z", + "upvotes": 7, + "comment_count": 1, "resolved": false, - "labels": [ - "integration-langchain" - ], + "labels": [], "author": { - "login": "debkanchan", - "html_url": "https://github.com/debkanchan" + "login": "gyliu513", + "html_url": "https://github.com/gyliu513" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3321, - "title": "Session ids for Langserve", - "href": "https://github.com/orgs/langfuse/discussions/3321", - "created_at": "2024-09-11T22:40:01Z", - "upvotes": 1, + "number": 2501, + "title": "Use Langchain LCEL + Langserve + run time user_id/session_id", + "href": "https://github.com/orgs/langfuse/discussions/2501", + "created_at": "2024-07-01T15:51:47Z", + "upvotes": 4, "comment_count": 1, "resolved": false, "labels": [ "integration-langchain", + "feat-users", "feat-sessions" ], "author": { - "login": "YaphetKG", - "html_url": "https://github.com/YaphetKG" + "login": "ravediamond", + "html_url": "https://github.com/ravediamond" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3313, - "title": "how to pass custom user managed model name to calculate the cost via langchain", - "href": "https://github.com/orgs/langfuse/discussions/3313", - "created_at": "2024-09-11T13:25:48Z", + "number": 2493, + "title": "Easy token price estimates for 400+ LLMs", + "href": "https://github.com/orgs/langfuse/discussions/2493", + "created_at": "2024-07-01T06:55:56Z", "upvotes": 1, - "comment_count": 3, - "resolved": true, + "comment_count": 1, + "resolved": false, "labels": [ - "integration-langchain", "feat-cost-tracking" ], "author": { - "login": "jaiswalvineet", - "html_url": "https://github.com/jaiswalvineet" + "login": "derevyan", + "html_url": "https://github.com/derevyan" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3308, - "title": "Automated Prompt Management across Environments", - "href": "https://github.com/orgs/langfuse/discussions/3308", - "created_at": "2024-09-11T09:31:26Z", - "upvotes": 1, - "comment_count": 1, - "resolved": true, + "number": 2488, + "title": "Add contextmanager support to python decorator", + "href": "https://github.com/orgs/langfuse/discussions/2488", + "created_at": "2024-06-29T20:43:50Z", + "upvotes": 6, + "comment_count": 2, + "resolved": false, "labels": [ - "feat-prompt-management" + "integration-python-decorator" ], "author": { - "login": "jonnyforsterMSG", - "html_url": "https://github.com/jonnyforsterMSG" + "login": "yaniv-aknin", + "html_url": "https://github.com/yaniv-aknin" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3307, - "title": "DataSet Scores are not being displayed", - "href": "https://github.com/orgs/langfuse/discussions/3307", - "created_at": "2024-09-11T08:46:31Z", - "upvotes": 1, + "number": 2469, + "title": "Adding userId / author to score (custom metadata)", + "href": "https://github.com/orgs/langfuse/discussions/2469", + "created_at": "2024-06-27T19:02:17Z", + "upvotes": 4, "comment_count": 3, - "resolved": true, + "resolved": false, "labels": [ - "feat-datasets" + "feat-scores", + "feat-users" ], "author": { - "login": "MaxYaz", - "html_url": "https://github.com/MaxYaz" + "login": "ivanviragine", + "html_url": "https://github.com/ivanviragine" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3305, - "title": "bug: cost usage are not getting captured automatically from llm response", - "href": "https://github.com/orgs/langfuse/discussions/3305", - "created_at": "2024-09-11T05:02:03Z", + "number": 2456, + "title": "Export to CSV feature in the Traces", + "href": "https://github.com/orgs/langfuse/discussions/2456", + "created_at": "2024-06-27T11:02:47Z", "upvotes": 1, - "comment_count": 2, + "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "ajeet6261", - "html_url": "https://github.com/ajeet6261" + "login": "Aniket3007", + "html_url": "https://github.com/Aniket3007" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3271, - "title": "Understanding pricing model (self-hosting vs cloud serving) from security perspective", - "href": "https://github.com/orgs/langfuse/discussions/3271", - "created_at": "2024-09-09T14:07:32Z", + "number": 2454, + "title": "Expand all json-views of Dataset items etc.", + "href": "https://github.com/orgs/langfuse/discussions/2454", + "created_at": "2024-06-27T08:18:23Z", "upvotes": 1, - "comment_count": 2, + "comment_count": 1, "resolved": false, - "labels": [], + "labels": [ + "✅ Done", + "feat-datasets" + ], "author": { - "login": "uahmad235", - "html_url": "https://github.com/uahmad235" + "login": "tkreuder", + "html_url": "https://github.com/tkreuder" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3267, - "title": "python decorator grouping in trace when using FastAPI Server Sent Events and Langraph + custom function", - "href": "https://github.com/orgs/langfuse/discussions/3267", - "created_at": "2024-09-09T11:10:00Z", + "number": 2438, + "title": "Bedrock provider when using llamaindex", + "href": "https://github.com/orgs/langfuse/discussions/2438", + "created_at": "2024-06-26T11:00:54Z", "upvotes": 1, - "comment_count": 4, + "comment_count": 1, "resolved": false, "labels": [ - "integration-langchain", - "integration-python-decorator" + "integraton-llamaindex", + "integration-amazon-bedrock" ], "author": { - "login": "lixxvsky", - "html_url": "https://github.com/lixxvsky" + "login": "mdciri", + "html_url": "https://github.com/mdciri" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3254, - "title": "Vercel AI SDK and Svelte. How to push traces intermittently back to langfuse", - "href": "https://github.com/orgs/langfuse/discussions/3254", - "created_at": "2024-09-06T13:37:17Z", - "upvotes": 1, + "number": 2437, + "title": "Project members management via public API", + "href": "https://github.com/orgs/langfuse/discussions/2437", + "created_at": "2024-06-26T10:03:50Z", + "upvotes": 3, "comment_count": 1, "resolved": false, "labels": [ - "integration-vercel-ai-sdk" + "feat-rbac" ], "author": { - "login": "oghaAI", - "html_url": "https://github.com/oghaAI" - }, - "category": "Support" - }, - { - "number": 3210, - "title": "When using callbacks, the langfuse_context.update_current_trace method does not function properly.", - "href": "https://github.com/orgs/langfuse/discussions/3210", - "created_at": "2024-09-03T10:29:29Z", - "upvotes": 1, - "comment_count": 4, - "resolved": false, - "labels": [], - "author": { - "login": "hgliyuhao", - "html_url": "https://github.com/hgliyuhao" + "login": "tmarenko", + "html_url": "https://github.com/tmarenko" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3207, - "title": "change of data region", - "href": "https://github.com/orgs/langfuse/discussions/3207", - "created_at": "2024-09-03T06:06:48Z", + "number": 2402, + "title": "Add string data type in score config", + "href": "https://github.com/orgs/langfuse/discussions/2402", + "created_at": "2024-06-24T11:12:54Z", "upvotes": 1, "comment_count": 1, - "resolved": true, - "labels": [], + "resolved": false, + "labels": [ + "feat-scores" + ], "author": { - "login": "divyanshubhuta", - "html_url": "https://github.com/divyanshubhuta" + "login": "emfhal", + "html_url": "https://github.com/emfhal" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3191, - "title": "Evaluation config setup related query", - "href": "https://github.com/orgs/langfuse/discussions/3191", - "created_at": "2024-09-02T14:48:01Z", - "upvotes": 1, - "comment_count": 2, + "number": 2400, + "title": "Support for Custom Base URL Prefix in Langfuse (nextjs basepath)", + "href": "https://github.com/orgs/langfuse/discussions/2400", + "created_at": "2024-06-24T09:57:57Z", + "upvotes": 21, + "comment_count": 9, "resolved": false, - "labels": [], + "labels": [ + "✅ Done", + "self-hosting" + ], "author": { - "login": "divyanshubhuta", - "html_url": "https://github.com/divyanshubhuta" + "login": "databill86", + "html_url": "https://github.com/databill86" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3182, - "title": "What does `version` means when ingesting trace?", - "href": "https://github.com/orgs/langfuse/discussions/3182", - "created_at": "2024-08-31T20:44:26Z", + "number": 2397, + "title": "Add ARM64 docker image", + "href": "https://github.com/orgs/langfuse/discussions/2397", + "created_at": "2024-06-21T13:35:24Z", "upvotes": 1, "comment_count": 2, - "resolved": true, - "labels": [], + "resolved": false, + "labels": [ + "✅ Done", + "self-hosting" + ], "author": { - "login": "STRRL", - "html_url": "https://github.com/STRRL" + "login": "lucasiscovici", + "html_url": "https://github.com/lucasiscovici" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3176, - "title": "Get all the generations, events, etc. under Trace", - "href": "https://github.com/orgs/langfuse/discussions/3176", - "created_at": "2024-08-31T02:10:28Z", + "number": 2390, + "title": "Implement Duplication Check for Prompt Versions in Langfuse", + "href": "https://github.com/orgs/langfuse/discussions/2390", + "created_at": "2024-06-21T08:03:39Z", "upvotes": 1, "comment_count": 1, - "resolved": true, - "labels": [], + "resolved": false, + "labels": [ + "feat-prompt-management" + ], "author": { - "login": "bytecod3r", - "html_url": "https://github.com/bytecod3r" + "login": "sapipoZZZ", + "html_url": "https://github.com/sapipoZZZ" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3168, - "title": "usage pattern for new llamaindex integration", - "href": "https://github.com/orgs/langfuse/discussions/3168", - "created_at": "2024-08-30T20:23:17Z", - "upvotes": 1, - "comment_count": 2, - "resolved": true, + "number": 2378, + "title": "Number of times a prompt was fetched", + "href": "https://github.com/orgs/langfuse/discussions/2378", + "created_at": "2024-06-20T07:37:12Z", + "upvotes": 3, + "comment_count": 0, + "resolved": false, "labels": [ - "integraton-llamaindex" + "feat-prompt-management" ], "author": { - "login": "erik-squared", - "html_url": "https://github.com/erik-squared" + "login": "subhampasari", + "html_url": "https://github.com/subhampasari" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3132, - "title": "Tracing ChatGoogleGenerativeAI calls in langchain doesn't return usage metadata", - "href": "https://github.com/orgs/langfuse/discussions/3132", - "created_at": "2024-08-29T13:09:13Z", + "number": 2376, + "title": "Allow for custom OAuth scopes when self-hosing", + "href": "https://github.com/orgs/langfuse/discussions/2376", + "created_at": "2024-06-19T22:23:59Z", "upvotes": 1, "comment_count": 1, "resolved": false, "labels": [ - "integration-langchain" + "feat-auth" ], "author": { - "login": "NeerajG03", - "html_url": "https://github.com/NeerajG03" + "login": "0x77dev", + "html_url": "https://github.com/0x77dev" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3124, - "title": "Generation does not come under @observe trace", - "href": "https://github.com/orgs/langfuse/discussions/3124", - "created_at": "2024-08-29T00:28:14Z", + "number": 2371, + "title": "SBS Markdown mode for dataset runs", + "href": "https://github.com/orgs/langfuse/discussions/2371", + "created_at": "2024-06-19T14:57:32Z", "upvotes": 1, - "comment_count": 2, - "resolved": true, - "labels": [], + "comment_count": 1, + "resolved": false, + "labels": [ + "feat-datasets" + ], "author": { - "login": "SatheeshJM", - "html_url": "https://github.com/SatheeshJM" + "login": "pfurovYnP", + "html_url": "https://github.com/pfurovYnP" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3120, - "title": "Langfuse 2.74.0 integration with Flowise 2.0.5", - "href": "https://github.com/orgs/langfuse/discussions/3120", - "created_at": "2024-08-28T20:18:19Z", + "number": 2358, + "title": "Add view mode to Settings", + "href": "https://github.com/orgs/langfuse/discussions/2358", + "created_at": "2024-06-17T12:48:04Z", "upvotes": 1, - "comment_count": 2, + "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "harshad-c1", - "html_url": "https://github.com/harshad-c1" + "login": "emfhal", + "html_url": "https://github.com/emfhal" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3110, - "title": "How to set SMTP_CONNECTION_URL and reset password?", - "href": "https://github.com/orgs/langfuse/discussions/3110", - "created_at": "2024-08-28T10:05:06Z", - "upvotes": 1, - "comment_count": 2, - "resolved": true, - "labels": [], + "number": 2352, + "title": "Support SAML login protocol", + "href": "https://github.com/orgs/langfuse/discussions/2352", + "created_at": "2024-06-17T07:14:14Z", + "upvotes": 4, + "comment_count": 1, + "resolved": false, + "labels": [ + "self-hosting" + ], "author": { - "login": "zs856", - "html_url": "https://github.com/zs856" + "login": "emfhal", + "html_url": "https://github.com/emfhal" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3105, - "title": "Dockerfile of langfuse/langfuse:2 image", - "href": "https://github.com/orgs/langfuse/discussions/3105", - "created_at": "2024-08-28T00:13:57Z", - "upvotes": 1, + "number": 2343, + "title": "Bring Langfuse to Cloud Marketplaces", + "href": "https://github.com/orgs/langfuse/discussions/2343", + "created_at": "2024-06-14T06:41:18Z", + "upvotes": 2, "comment_count": 2, - "resolved": true, + "resolved": false, "labels": [ "self-hosting" ], "author": { - "login": "pparreira", - "html_url": "https://github.com/pparreira" + "login": "aiakubovich", + "html_url": "https://github.com/aiakubovich" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3100, - "title": "Time to first token is not populating in trace detail or generations view", - "href": "https://github.com/orgs/langfuse/discussions/3100", - "created_at": "2024-08-27T20:12:14Z", + "number": 2336, + "title": "Saving a filter", + "href": "https://github.com/orgs/langfuse/discussions/2336", + "created_at": "2024-06-13T09:15:59Z", "upvotes": 1, - "comment_count": 2, - "resolved": true, + "comment_count": 0, + "resolved": false, "labels": [], "author": { - "login": "databloom", - "html_url": "https://github.com/databloom" + "login": "avinash361-devrev", + "html_url": "https://github.com/avinash361-devrev" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3099, - "title": "Pulling prompts by tag?", - "href": "https://github.com/orgs/langfuse/discussions/3099", - "created_at": "2024-08-27T20:01:45Z", + "number": 2331, + "title": "Pendo integration", + "href": "https://github.com/orgs/langfuse/discussions/2331", + "created_at": "2024-06-12T18:22:32Z", "upvotes": 1, "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "mayajosifo", - "html_url": "https://github.com/mayajosifo" + "login": "mrunaaaaaal", + "html_url": "https://github.com/mrunaaaaaal" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3092, - "title": "Deployment into Azure", - "href": "https://github.com/orgs/langfuse/discussions/3092", - "created_at": "2024-08-27T10:05:32Z", + "number": 2282, + "title": "[Dashboard] Update Scores Chart to include number of scores on secondary y axis", + "href": "https://github.com/orgs/langfuse/discussions/2282", + "created_at": "2024-06-10T08:41:41Z", "upvotes": 1, - "comment_count": 2, - "resolved": true, + "comment_count": 1, + "resolved": false, "labels": [ - "self-hosting" + "feat-dashboard" ], "author": { - "login": "GaryFail", - "html_url": "https://github.com/GaryFail" + "login": "charlieviettq", + "html_url": "https://github.com/charlieviettq" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3079, - "title": "How to change the Level to ERROR when there is an error in SPAN?", - "href": "https://github.com/orgs/langfuse/discussions/3079", - "created_at": "2024-08-26T15:46:23Z", + "number": 2278, + "title": "Type of input and output of each span visible in the UI", + "href": "https://github.com/orgs/langfuse/discussions/2278", + "created_at": "2024-06-08T21:17:48Z", "upvotes": 3, - "comment_count": 2, - "resolved": true, + "comment_count": 1, + "resolved": false, "labels": [ - "feat-log-levels" + "ui" ], "author": { - "login": "kftam1994", - "html_url": "https://github.com/kftam1994" + "login": "arthurGrigo", + "html_url": "https://github.com/arthurGrigo" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3056, - "title": "Support for configuring SMTP email at project level", - "href": "https://github.com/orgs/langfuse/discussions/3056", - "created_at": "2024-08-23T14:41:45Z", - "upvotes": 1, - "comment_count": 1, - "resolved": true, + "number": 2268, + "title": "Langfuse retention settings", + "href": "https://github.com/orgs/langfuse/discussions/2268", + "created_at": "2024-06-07T12:27:32Z", + "upvotes": 8, + "comment_count": 6, + "resolved": false, + "labels": [], + "author": { + "login": "sudhanshu746", + "html_url": "https://github.com/sudhanshu746" + }, + "category": "Ideas" + }, + { + "number": 2241, + "title": "Tracing integration with unify.ai", + "href": "https://github.com/orgs/langfuse/discussions/2241", + "created_at": "2024-06-05T15:17:00Z", + "upvotes": 5, + "comment_count": 3, + "resolved": false, "labels": [ - "self-hosting" + "integrations" ], "author": { - "login": "rvndbalaji", - "html_url": "https://github.com/rvndbalaji" + "login": "marcklingen", + "html_url": "https://github.com/marcklingen" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3003, - "title": "Example GenAI bot with guardrails", - "href": "https://github.com/orgs/langfuse/discussions/3003", - "created_at": "2024-08-22T06:37:29Z", - "upvotes": 1, + "number": 2237, + "title": "Add Langchain Support to Prompt Management", + "href": "https://github.com/orgs/langfuse/discussions/2237", + "created_at": "2024-06-05T10:05:13Z", + "upvotes": 34, + "comment_count": 5, + "resolved": false, + "labels": [ + "feat-prompt-management", + "integration-langchain", + "✅ Done" + ], + "author": { + "login": "guidev", + "html_url": "https://github.com/guidev" + }, + "category": "Ideas" + }, + { + "number": 2226, + "title": "Monitoring Costs and Traces generated by RAGAS", + "href": "https://github.com/orgs/langfuse/discussions/2226", + "created_at": "2024-06-04T09:35:25Z", + "upvotes": 4, "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "wangxj03", - "html_url": "https://github.com/wangxj03" + "login": "paolotamag", + "html_url": "https://github.com/paolotamag" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2990, - "title": "[Question] using langfuse with llama_index", - "href": "https://github.com/orgs/langfuse/discussions/2990", - "created_at": "2024-08-21T08:00:59Z", + "number": 2215, + "title": "new chart in dashboard for booleans metrics", + "href": "https://github.com/orgs/langfuse/discussions/2215", + "created_at": "2024-06-03T12:48:37Z", "upvotes": 1, - "comment_count": 2, - "resolved": true, - "labels": [ - "integraton-llamaindex" - ], + "comment_count": 1, + "resolved": false, + "labels": [], "author": { - "login": "nightosong", - "html_url": "https://github.com/nightosong" + "login": "paolotamag", + "html_url": "https://github.com/paolotamag" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2988, - "title": "Non-langchain generation nested within LangGraph execution", - "href": "https://github.com/orgs/langfuse/discussions/2988", - "created_at": "2024-08-21T05:13:51Z", - "upvotes": 1, + "number": 2210, + "title": "MessagesPlaceholder in \"Create New Prompt\" panel", + "href": "https://github.com/orgs/langfuse/discussions/2210", + "created_at": "2024-06-03T06:58:45Z", + "upvotes": 6, "comment_count": 2, - "resolved": true, + "resolved": false, "labels": [ - "integration-langchain" + "feat-prompt-management" ], "author": { - "login": "mrdrprofuroboros", - "html_url": "https://github.com/mrdrprofuroboros" + "login": "NIKsun", + "html_url": "https://github.com/NIKsun" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2983, - "title": "Tracing directly to queue instead of http api", - "href": "https://github.com/orgs/langfuse/discussions/2983", - "created_at": "2024-08-20T14:33:17Z", - "upvotes": 0, + "number": 2209, + "title": "Enhance data in daily metrics api endpoint", + "href": "https://github.com/orgs/langfuse/discussions/2209", + "created_at": "2024-06-02T14:38:15Z", + "upvotes": 1, "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [ - "self-hosting" + "✅ Done", + "feat-api" ], "author": { - "login": "exotikh3", - "html_url": "https://github.com/exotikh3" + "login": "matthiaslau", + "html_url": "https://github.com/matthiaslau" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3901, - "title": "How to resolve memory leak when integrating Langfuse with LangChain", - "href": "https://github.com/orgs/langfuse/discussions/3901", - "created_at": "2024-08-20T03:14:45Z", - "upvotes": 1, - "comment_count": 6, - "resolved": true, + "number": 2203, + "title": "Ability to add comments to versions of prompts (\"commit message\")", + "href": "https://github.com/orgs/langfuse/discussions/2203", + "created_at": "2024-06-01T13:13:27Z", + "upvotes": 4, + "comment_count": 4, + "resolved": false, "labels": [ - "integration-langchain" + "feat-prompt-management" ], "author": { - "login": "ivan-94", - "html_url": "https://github.com/ivan-94" + "login": "ajram23", + "html_url": "https://github.com/ajram23" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2959, - "title": "Duplicate usage data in observation api endpoint response", - "href": "https://github.com/orgs/langfuse/discussions/2959", - "created_at": "2024-08-16T10:57:00Z", - "upvotes": 1, - "comment_count": 2, - "resolved": true, - "labels": [], + "number": 2195, + "title": "Timeline/graph visualization for traces", + "href": "https://github.com/orgs/langfuse/discussions/2195", + "created_at": "2024-05-31T08:18:11Z", + "upvotes": 7, + "comment_count": 4, + "resolved": false, + "labels": [ + "✅ Done" + ], "author": { - "login": "jonnyforsterMSG", - "html_url": "https://github.com/jonnyforsterMSG" + "login": "david1542", + "html_url": "https://github.com/david1542" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2958, - "title": "Time to first token query", - "href": "https://github.com/orgs/langfuse/discussions/2958", - "created_at": "2024-08-16T10:08:42Z", - "upvotes": 1, - "comment_count": 2, + "number": 2194, + "title": "Terraform Provider for internal Langfuse configuration", + "href": "https://github.com/orgs/langfuse/discussions/2194", + "created_at": "2024-05-31T06:23:11Z", + "upvotes": 2, + "comment_count": 1, "resolved": false, - "labels": [], + "labels": [ + "self-hosting" + ], "author": { - "login": "GaryFail", - "html_url": "https://github.com/GaryFail" + "login": "mroedder-d7", + "html_url": "https://github.com/mroedder-d7" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2952, - "title": "Locally hosted PrivateGPT + pgpt_python + Langfuse", - "href": "https://github.com/orgs/langfuse/discussions/2952", - "created_at": "2024-08-15T15:12:16Z", + "number": 2184, + "title": "support query prompt via prompt id", + "href": "https://github.com/orgs/langfuse/discussions/2184", + "created_at": "2024-05-30T02:55:59Z", "upvotes": 1, "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "qdingle404", - "html_url": "https://github.com/qdingle404" + "login": "hu9029", + "html_url": "https://github.com/hu9029" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2945, - "title": "Unit of token count for cost analysis", - "href": "https://github.com/orgs/langfuse/discussions/2945", - "created_at": "2024-08-15T09:33:59Z", + "number": 2181, + "title": "Support for SDK entry-point wrapper around async REST API client", + "href": "https://github.com/orgs/langfuse/discussions/2181", + "created_at": "2024-05-29T17:50:22Z", "upvotes": 1, - "comment_count": 1, - "resolved": true, + "comment_count": 0, + "resolved": false, "labels": [], "author": { - "login": "thomasjv799", - "html_url": "https://github.com/thomasjv799" + "login": "blazing-gig", + "html_url": "https://github.com/blazing-gig" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2933, - "title": "how to return trace_id in openai completion response when using langfuse as a proxy in litellm?", - "href": "https://github.com/orgs/langfuse/discussions/2933", - "created_at": "2024-08-14T07:52:30Z", - "upvotes": 1, - "comment_count": 2, - "resolved": true, + "number": 2176, + "title": "Support querying Users (GET) to support analytics pipeline solutions", + "href": "https://github.com/orgs/langfuse/discussions/2176", + "created_at": "2024-05-29T02:42:13Z", + "upvotes": 2, + "comment_count": 1, + "resolved": false, "labels": [ - "integration-litellm" + "feat-users" ], "author": { - "login": "octadion", - "html_url": "https://github.com/octadion" + "login": "Tjmstudios", + "html_url": "https://github.com/Tjmstudios" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2927, - "title": "Span created with Langchain not showing up in traces.", - "href": "https://github.com/orgs/langfuse/discussions/2927", - "created_at": "2024-08-13T20:32:35Z", - "upvotes": 1, + "number": 2161, + "title": "Prompt version only create when different", + "href": "https://github.com/orgs/langfuse/discussions/2161", + "created_at": "2024-05-27T23:47:21Z", + "upvotes": 4, "comment_count": 2, - "resolved": true, + "resolved": false, "labels": [ - "integration-langchain" + "feat-prompt-management" ], "author": { - "login": "HardKothari", - "html_url": "https://github.com/HardKothari" + "login": "brightsparc", + "html_url": "https://github.com/brightsparc" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2909, - "title": "Change port database in file docker-compose.yml", - "href": "https://github.com/orgs/langfuse/discussions/2909", - "created_at": "2024-08-13T08:05:37Z", - "upvotes": 1, - "comment_count": 2, - "resolved": true, + "number": 2140, + "title": "clickhouse support", + "href": "https://github.com/orgs/langfuse/discussions/2140", + "created_at": "2024-05-24T15:21:14Z", + "upvotes": 2, + "comment_count": 1, + "resolved": false, "labels": [ - "self-hosting" + "work-in-progress", + "performance" ], "author": { - "login": "hungvipqt15", - "html_url": "https://github.com/hungvipqt15" + "login": "newcworld", + "html_url": "https://github.com/newcworld" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2907, - "title": "Change port connection in docker compose", - "href": "https://github.com/orgs/langfuse/discussions/2907", - "created_at": "2024-08-13T06:40:30Z", - "upvotes": 1, + "number": 2131, + "title": "Export to data warehouses (BigQuery etc)", + "href": "https://github.com/orgs/langfuse/discussions/2131", + "created_at": "2024-05-23T15:52:18Z", + "upvotes": 18, "comment_count": 1, "resolved": false, - "labels": [ - "self-hosting" - ], + "labels": [], "author": { - "login": "hungvipqt15", - "html_url": "https://github.com/hungvipqt15" + "login": "rohan-mehta", + "html_url": "https://github.com/rohan-mehta" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2904, - "title": "How to append current trace when calling function second time?", - "href": "https://github.com/orgs/langfuse/discussions/2904", - "created_at": "2024-08-12T15:12:22Z", - "upvotes": 2, - "comment_count": 2, - "resolved": true, + "number": 2124, + "title": "Proposal: Add Support for Uploading Dataset Items via UI", + "href": "https://github.com/orgs/langfuse/discussions/2124", + "created_at": "2024-05-22T10:58:04Z", + "upvotes": 5, + "comment_count": 1, + "resolved": false, "labels": [ - "integration-python-decorator" + "feat-datasets" ], "author": { - "login": "nathan-vo810", - "html_url": "https://github.com/nathan-vo810" + "login": "vaddenz", + "html_url": "https://github.com/vaddenz" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2895, - "title": "How to update an event", - "href": "https://github.com/orgs/langfuse/discussions/2895", - "created_at": "2024-08-11T16:51:18Z", + "number": 2119, + "title": "Phidata support", + "href": "https://github.com/orgs/langfuse/discussions/2119", + "created_at": "2024-05-21T14:20:09Z", "upvotes": 1, "comment_count": 1, - "resolved": true, - "labels": [], + "resolved": false, + "labels": [ + "integrations" + ], "author": { - "login": "bytecod3r", - "html_url": "https://github.com/bytecod3r" + "login": "michaelpoluektov", + "html_url": "https://github.com/michaelpoluektov" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2888, - "title": "How to change the level of a trace?", - "href": "https://github.com/orgs/langfuse/discussions/2888", - "created_at": "2024-08-09T14:35:34Z", - "upvotes": 3, - "comment_count": 2, - "resolved": true, + "number": 2104, + "title": "Feature Request: Tracing Sampling Rate Configuration for Langfuse", + "href": "https://github.com/orgs/langfuse/discussions/2104", + "created_at": "2024-05-20T16:23:05Z", + "upvotes": 2, + "comment_count": 1, + "resolved": false, "labels": [ - "feat-log-levels" + "✅ Done" ], "author": { - "login": "ldbolanos", - "html_url": "https://github.com/ldbolanos" + "login": "himansrivastava", + "html_url": "https://github.com/himansrivastava" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2879, - "title": "ERROR:langfuse:status_code: 404, body: {'message': 'Trace not found within authorized project', 'error': 'LangfuseNotFoundError'}", - "href": "https://github.com/orgs/langfuse/discussions/2879", - "created_at": "2024-08-09T09:31:33Z", + "number": 2101, + "title": "feat: Adding AWS Cognito Authentication", + "href": "https://github.com/orgs/langfuse/discussions/2101", + "created_at": "2024-05-20T14:30:32Z", "upvotes": 1, - "comment_count": 3, + "comment_count": 2, "resolved": false, - "labels": [], + "labels": [ + "✅ Done", + "feat-auth" + ], "author": { - "login": "nithin1995", - "html_url": "https://github.com/nithin1995" + "login": "Shekswess", + "html_url": "https://github.com/Shekswess" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2874, - "title": "Does langfuse trace parallel api calls? I tried a sample with parallel call but it didn't traced.", - "href": "https://github.com/orgs/langfuse/discussions/2874", - "created_at": "2024-08-09T05:09:26Z", - "upvotes": 1, + "number": 2097, + "title": "Markdown Rendering Option", + "href": "https://github.com/orgs/langfuse/discussions/2097", + "created_at": "2024-05-18T16:58:37Z", + "upvotes": 4, "comment_count": 4, "resolved": false, - "labels": [], + "labels": [ + "✅ Done" + ], "author": { - "login": "ksundarraj-c-rpx", - "html_url": "https://github.com/ksundarraj-c-rpx" + "login": "hburrichter", + "html_url": "https://github.com/hburrichter" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2871, - "title": "Self-hosted Langfuse running as a Google cloud service not showing traces", - "href": "https://github.com/orgs/langfuse/discussions/2871", - "created_at": "2024-08-08T13:40:34Z", + "number": 2081, + "title": "feat: inject langfuse info into langchain metadata", + "href": "https://github.com/orgs/langfuse/discussions/2081", + "created_at": "2024-05-16T20:43:41Z", "upvotes": 1, - "comment_count": 2, - "resolved": true, + "comment_count": 0, + "resolved": false, "labels": [ - "🐞❔ unconfirmed bug" + "integration-langchain" ], "author": { - "login": "SectumPsempra", - "html_url": "https://github.com/SectumPsempra" + "login": "benobytes", + "html_url": "https://github.com/benobytes" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2867, - "title": "Using the API to record traces from multiple platforms?", - "href": "https://github.com/orgs/langfuse/discussions/2867", - "created_at": "2024-08-08T13:15:49Z", - "upvotes": 1, - "comment_count": 1, + "number": 2072, + "title": "Adding prompt tags via Python SDK (or other code based interactions)", + "href": "https://github.com/orgs/langfuse/discussions/2072", + "created_at": "2024-05-16T09:46:20Z", + "upvotes": 5, + "comment_count": 2, "resolved": false, "labels": [], "author": { - "login": "appliraz", - "html_url": "https://github.com/appliraz" + "login": "simon-hiel", + "html_url": "https://github.com/simon-hiel" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2858, - "title": "Langfuse observeOpenAI not logging generations using new zodResponseFormat.", - "href": "https://github.com/orgs/langfuse/discussions/2858", - "created_at": "2024-08-07T21:45:41Z", - "upvotes": 1, - "comment_count": 3, - "resolved": true, - "labels": [], - "author": { - "login": "fabstu", - "html_url": "https://github.com/fabstu" - }, - "category": "Support" - }, - { - "number": 2852, - "title": "How run Langfuse evaluations over specifics spans?", - "href": "https://github.com/orgs/langfuse/discussions/2852", - "created_at": "2024-08-07T13:40:02Z", - "upvotes": 1, - "comment_count": 2, - "resolved": true, + "number": 2071, + "title": "Save playground conversation to a dataset", + "href": "https://github.com/orgs/langfuse/discussions/2071", + "created_at": "2024-05-16T09:24:29Z", + "upvotes": 3, + "comment_count": 0, + "resolved": false, "labels": [ - "integration-langchain", - "feat-evals" + "feat-datasets", + "feat-playground" ], "author": { - "login": "joaoCrulhas", - "html_url": "https://github.com/joaoCrulhas" + "login": "bderenzi", + "html_url": "https://github.com/bderenzi" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2844, - "title": "LangFuse not logging LlamaIndex events", - "href": "https://github.com/orgs/langfuse/discussions/2844", - "created_at": "2024-08-07T10:46:19Z", - "upvotes": 2, - "comment_count": 3, + "number": 2065, + "title": "Support multiple prompts attached to a generation.", + "href": "https://github.com/orgs/langfuse/discussions/2065", + "created_at": "2024-05-15T22:16:35Z", + "upvotes": 3, + "comment_count": 1, "resolved": false, - "labels": [ - "integraton-llamaindex" - ], + "labels": [], "author": { - "login": "adieyal", - "html_url": "https://github.com/adieyal" + "login": "jansenderr", + "html_url": "https://github.com/jansenderr" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2830, - "title": "UpdateRoot in the callback handler seems not work", - "href": "https://github.com/orgs/langfuse/discussions/2830", - "created_at": "2024-08-06T08:58:25Z", + "number": 2064, + "title": "Show explicit error when viewing a project that doesn't exist", + "href": "https://github.com/orgs/langfuse/discussions/2064", + "created_at": "2024-05-15T16:49:32Z", "upvotes": 1, - "comment_count": 1, - "resolved": true, + "comment_count": 0, + "resolved": false, "labels": [], "author": { - "login": "joaoCrulhas", - "html_url": "https://github.com/joaoCrulhas" + "login": "backmask", + "html_url": "https://github.com/backmask" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2828, - "title": "Issue: Integration of Langfuse with DSPy Framework - Zero Values for Cost and Token Usage", - "href": "https://github.com/orgs/langfuse/discussions/2828", - "created_at": "2024-08-06T05:55:30Z", - "upvotes": 1, - "comment_count": 3, - "resolved": true, + "number": 2045, + "title": "Requesting official support OpenAI's new gpt-4o model", + "href": "https://github.com/orgs/langfuse/discussions/2045", + "created_at": "2024-05-13T21:37:38Z", + "upvotes": 3, + "comment_count": 5, + "resolved": false, "labels": [ - "integration-dspy" + "integration-openai", + "✅ Done", + "feat-cost-tracking" ], "author": { - "login": "mahitha-29", - "html_url": "https://github.com/mahitha-29" + "login": "varenc", + "html_url": "https://github.com/varenc" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2817, - "title": "Praise for the Langfuse library! 🚀", - "href": "https://github.com/orgs/langfuse/discussions/2817", - "created_at": "2024-08-03T10:53:41Z", - "upvotes": 2, + "number": 2043, + "title": "Support instrumentation through openllmetry", + "href": "https://github.com/orgs/langfuse/discussions/2043", + "created_at": "2024-05-13T19:27:59Z", + "upvotes": 8, "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [], "author": { - "login": "ttamg", - "html_url": "https://github.com/ttamg" + "login": "baggiponte", + "html_url": "https://github.com/baggiponte" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2809, - "title": "No space left on device db error", - "href": "https://github.com/orgs/langfuse/discussions/2809", - "created_at": "2024-08-01T15:10:52Z", - "upvotes": 1, - "comment_count": 2, - "resolved": true, - "labels": [ - "self-hosting" - ], + "number": 2039, + "title": "Introduce the concept of \"sub-prompt\" to improve prompt reusability", + "href": "https://github.com/orgs/langfuse/discussions/2039", + "created_at": "2024-05-13T10:14:44Z", + "upvotes": 3, + "comment_count": 1, + "resolved": false, + "labels": [], "author": { - "login": "nithin1995", - "html_url": "https://github.com/nithin1995" + "login": "khaelys", + "html_url": "https://github.com/khaelys" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2808, - "title": "Dynamic prompt generation", - "href": "https://github.com/orgs/langfuse/discussions/2808", - "created_at": "2024-08-01T14:41:48Z", + "number": 2030, + "title": "Add number of 'successful request' to traces list view", + "href": "https://github.com/orgs/langfuse/discussions/2030", + "created_at": "2024-05-09T23:25:27Z", "upvotes": 1, - "comment_count": 2, - "resolved": true, - "labels": [ - "feat-prompt-management" - ], + "comment_count": 1, + "resolved": false, + "labels": [], "author": { - "login": "LLazzar", - "html_url": "https://github.com/LLazzar" + "login": "arthurGrigo", + "html_url": "https://github.com/arthurGrigo" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2801, - "title": "Unable to update generation span after LLM invocation", - "href": "https://github.com/orgs/langfuse/discussions/2801", - "created_at": "2024-08-01T03:23:15Z", + "number": 2021, + "title": "Ask for a import/export on prompt management page", + "href": "https://github.com/orgs/langfuse/discussions/2021", + "created_at": "2024-05-09T03:17:50Z", "upvotes": 1, "comment_count": 2, - "resolved": true, - "labels": [ - "integration-langchain" - ], + "resolved": false, + "labels": [], "author": { - "login": "Heucles", - "html_url": "https://github.com/Heucles" + "login": "ShaunDeng", + "html_url": "https://github.com/ShaunDeng" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2787, - "title": "Self-hosted (Railway) Authorization error (401) while connecting to host", - "href": "https://github.com/orgs/langfuse/discussions/2787", - "created_at": "2024-07-30T19:23:59Z", + "number": 2006, + "title": "Gitlab Auth Provider", + "href": "https://github.com/orgs/langfuse/discussions/2006", + "created_at": "2024-05-08T10:12:51Z", "upvotes": 1, - "comment_count": 3, + "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "vishnumallela", - "html_url": "https://github.com/vishnumallela" + "login": "jsirex", + "html_url": "https://github.com/jsirex" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2769, - "title": "Continue trace on Celery worker with observe decorator", - "href": "https://github.com/orgs/langfuse/discussions/2769", - "created_at": "2024-07-27T18:23:13Z", - "upvotes": 1, - "comment_count": 2, - "resolved": true, + "number": 1990, + "title": "Add batch actions to traces", + "href": "https://github.com/orgs/langfuse/discussions/1990", + "created_at": "2024-05-07T09:37:42Z", + "upvotes": 3, + "comment_count": 0, + "resolved": false, + "labels": [], + "author": { + "login": "nimbusaeta", + "html_url": "https://github.com/nimbusaeta" + }, + "category": "Ideas" + }, + { + "number": 1988, + "title": "Upload datasets via UI", + "href": "https://github.com/orgs/langfuse/discussions/1988", + "created_at": "2024-05-06T20:25:20Z", + "upvotes": 9, + "comment_count": 1, + "resolved": false, "labels": [ - "integration-python-decorator" + "feat-datasets" ], "author": { - "login": "artefactop", - "html_url": "https://github.com/artefactop" + "login": "assafweinberg", + "html_url": "https://github.com/assafweinberg" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2768, - "title": "How do i register the token count and cost for observe decorator", - "href": "https://github.com/orgs/langfuse/discussions/2768", - "created_at": "2024-07-27T14:47:58Z", - "upvotes": 1, + "number": 1987, + "title": "API/UI to delete dataset items and runs", + "href": "https://github.com/orgs/langfuse/discussions/1987", + "created_at": "2024-05-06T17:13:16Z", + "upvotes": 24, "comment_count": 2, - "resolved": true, + "resolved": false, "labels": [ - "integration-python-decorator", - "feat-cost-tracking" + "feat-datasets" ], "author": { - "login": "yevkim", - "html_url": "https://github.com/yevkim" + "login": "tomek82", + "html_url": "https://github.com/tomek82" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2767, - "title": "Missing evaluation metrics", - "href": "https://github.com/orgs/langfuse/discussions/2767", - "created_at": "2024-07-27T05:07:56Z", + "number": 1963, + "title": "Is it possible integrate Langfuse with Microsoft Copilot Studio?", + "href": "https://github.com/orgs/langfuse/discussions/1963", + "created_at": "2024-05-03T03:33:22Z", "upvotes": 1, - "comment_count": 2, - "resolved": true, + "comment_count": 0, + "resolved": false, "labels": [], "author": { - "login": "MayankBitcot", - "html_url": "https://github.com/MayankBitcot" + "login": "aiakubovich", + "html_url": "https://github.com/aiakubovich" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2736, - "title": "Ability to upload Cost and Usage metrics in Langfuse for Gemini Models from LlamaIndex", - "href": "https://github.com/orgs/langfuse/discussions/2736", - "created_at": "2024-07-25T06:17:14Z", - "upvotes": 2, - "comment_count": 1, + "number": 2055, + "title": "Openai: Support IO capture when streaming function / tool call", + "href": "https://github.com/orgs/langfuse/discussions/2055", + "created_at": "2024-05-01T15:25:15Z", + "upvotes": 15, + "comment_count": 7, "resolved": false, "labels": [ - "integraton-llamaindex", - "feat-cost-tracking" + "sdk-python", + "integration-openai", + "✅ Done" ], "author": { - "login": "ansu86d", - "html_url": "https://github.com/ansu86d" + "login": "DanrForetellix", + "html_url": "https://github.com/DanrForetellix" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2735, - "title": "Deployment on K8s", - "href": "https://github.com/orgs/langfuse/discussions/2735", - "created_at": "2024-07-25T04:38:19Z", + "number": 1941, + "title": "Looking into allowing more customization of the table", + "href": "https://github.com/orgs/langfuse/discussions/1941", + "created_at": "2024-05-01T14:47:32Z", "upvotes": 1, - "comment_count": 2, - "resolved": true, + "comment_count": 1, + "resolved": false, "labels": [], "author": { - "login": "nithin1995", - "html_url": "https://github.com/nithin1995" + "login": "Mohamed-Ayaan358", + "html_url": "https://github.com/Mohamed-Ayaan358" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2718, - "title": "How to ignore inputs when using LangChain?", - "href": "https://github.com/orgs/langfuse/discussions/2718", - "created_at": "2024-07-23T10:58:07Z", + "number": 1916, + "title": "Langchain integration Improvements", + "href": "https://github.com/orgs/langfuse/discussions/1916", + "created_at": "2024-04-30T13:23:19Z", "upvotes": 2, - "comment_count": 3, + "comment_count": 2, "resolved": false, "labels": [ - "integration-langchain" + "integration-langchain", + "✅ Done" ], "author": { - "login": "justingodden", - "html_url": "https://github.com/justingodden" + "login": "ajram23", + "html_url": "https://github.com/ajram23" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2716, - "title": "Langgraph with langfuse", - "href": "https://github.com/orgs/langfuse/discussions/2716", - "created_at": "2024-07-23T09:12:20Z", + "number": 1904, + "title": "Retrieve prompts based on versioning rather than times for caching", + "href": "https://github.com/orgs/langfuse/discussions/1904", + "created_at": "2024-04-29T14:04:27Z", "upvotes": 1, - "comment_count": 4, - "resolved": true, + "comment_count": 2, + "resolved": false, "labels": [ - "integration-langchain" + "feat-prompt-management" ], "author": { - "login": "MayankBitcot", - "html_url": "https://github.com/MayankBitcot" + "login": "ajram23", + "html_url": "https://github.com/ajram23" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2714, - "title": "Using langfuse without saving promps", - "href": "https://github.com/orgs/langfuse/discussions/2714", - "created_at": "2024-07-23T08:44:44Z", - "upvotes": 1, - "comment_count": 2, - "resolved": true, - "labels": [], + "number": 1896, + "title": "Delete Session", + "href": "https://github.com/orgs/langfuse/discussions/1896", + "created_at": "2024-04-29T08:01:05Z", + "upvotes": 15, + "comment_count": 0, + "resolved": false, + "labels": [ + "feat-sessions" + ], "author": { - "login": "molntamas", - "html_url": "https://github.com/molntamas" + "login": "rohan-gt", + "html_url": "https://github.com/rohan-gt" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2712, - "title": "cannot execute INSERT in a read-only transaction", - "href": "https://github.com/orgs/langfuse/discussions/2712", - "created_at": "2024-07-23T07:49:30Z", - "upvotes": 1, - "comment_count": 2, + "number": 1895, + "title": "linking prompts with tracing in langchain integration", + "href": "https://github.com/orgs/langfuse/discussions/1895", + "created_at": "2024-04-28T13:13:08Z", + "upvotes": 10, + "comment_count": 3, "resolved": false, "labels": [ - "self-hosting" + "feat-prompt-management", + "integration-langchain", + "✅ Done" ], "author": { - "login": "damianradowiecki", - "html_url": "https://github.com/damianradowiecki" + "login": "SatheeshJM", + "html_url": "https://github.com/SatheeshJM" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2706, - "title": "Disable tracing of input and output for nested elements with in a chain.", - "href": "https://github.com/orgs/langfuse/discussions/2706", - "created_at": "2024-07-22T16:17:53Z", - "upvotes": 2, + "number": 1867, + "title": "Add integration with evaluation frameworks", + "href": "https://github.com/orgs/langfuse/discussions/1867", + "created_at": "2024-04-25T23:09:03Z", + "upvotes": 1, "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "jaitd", - "html_url": "https://github.com/jaitd" + "login": "johnnydevriese", + "html_url": "https://github.com/johnnydevriese" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2705, - "title": "Support for adding traces/observations/sessions/events/spans/generations related logging to LF via API", - "href": "https://github.com/orgs/langfuse/discussions/2705", - "created_at": "2024-07-22T12:57:05Z", + "number": 1862, + "title": "Support Linking Execution Trace to DatasetItem without Fetching Entire Dataset", + "href": "https://github.com/orgs/langfuse/discussions/1862", + "created_at": "2024-04-25T18:57:08Z", "upvotes": 1, "comment_count": 1, - "resolved": true, - "labels": [], + "resolved": false, + "labels": [ + "feat-datasets" + ], "author": { - "login": "ashutoshsaboo", - "html_url": "https://github.com/ashutoshsaboo" + "login": "sfarthin", + "html_url": "https://github.com/sfarthin" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2671, - "title": "Cannot connect prompt to trace when using Langchain AzureChatOpenai", - "href": "https://github.com/orgs/langfuse/discussions/2671", - "created_at": "2024-07-18T13:30:14Z", + "number": 1858, + "title": "Platform User roles to allow or disable project creation", + "href": "https://github.com/orgs/langfuse/discussions/1858", + "created_at": "2024-04-25T16:00:12Z", "upvotes": 1, "comment_count": 2, "resolved": false, - "labels": [], - "author": { - "login": "nihadazimli", - "html_url": "https://github.com/nihadazimli" - }, - "category": "Support" - }, - { - "number": 2658, - "title": "how to customize trace id when using callback handler in langchain integration", - "href": "https://github.com/orgs/langfuse/discussions/2658", - "created_at": "2024-07-17T13:38:18Z", - "upvotes": 3, - "comment_count": 2, - "resolved": true, "labels": [ - "integration-langchain" + "✅ Done", + "feat-rbac" ], "author": { - "login": "shawnzhu", - "html_url": "https://github.com/shawnzhu" + "login": "JMcGenn", + "html_url": "https://github.com/JMcGenn" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2640, - "title": "Adding Scores to langfuse with dify", - "href": "https://github.com/orgs/langfuse/discussions/2640", - "created_at": "2024-07-16T16:00:11Z", - "upvotes": 2, + "number": 1851, + "title": "[oauth] Keycloak provider support", + "href": "https://github.com/orgs/langfuse/discussions/1851", + "created_at": "2024-04-25T12:39:26Z", + "upvotes": 7, "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [ - "integration-dify" + "self-hosting" ], "author": { - "login": "shaquelsamir", - "html_url": "https://github.com/shaquelsamir" + "login": "9teen90nine", + "html_url": "https://github.com/9teen90nine" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2619, - "title": "How to add a function to current trace instead of seperate since it's outside lcel chain?", - "href": "https://github.com/orgs/langfuse/discussions/2619", - "created_at": "2024-07-12T07:08:47Z", + "number": 1843, + "title": "Support GigaChat model from LangChain", + "href": "https://github.com/orgs/langfuse/discussions/1843", + "created_at": "2024-04-25T09:24:07Z", "upvotes": 1, - "comment_count": 1, - "resolved": true, + "comment_count": 0, + "resolved": false, "labels": [ "integration-langchain" ], "author": { - "login": "sarim2000", - "html_url": "https://github.com/sarim2000" + "login": "Rai220", + "html_url": "https://github.com/Rai220" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2616, - "title": "Weird Output for scores when using fetch_traces()", - "href": "https://github.com/orgs/langfuse/discussions/2616", - "created_at": "2024-07-11T12:46:23Z", + "number": 1830, + "title": "Decorator should also be able to return JSON or Dictionary object", + "href": "https://github.com/orgs/langfuse/discussions/1830", + "created_at": "2024-04-24T09:41:39Z", "upvotes": 1, "comment_count": 2, "resolved": false, "labels": [], "author": { - "login": "kevinpkaria", - "html_url": "https://github.com/kevinpkaria" + "login": "nathan-vo810", + "html_url": "https://github.com/nathan-vo810" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2600, - "title": "Add input Price and Output price for gemini-1.5-pro and gemini-1.5-flash in Models", - "href": "https://github.com/orgs/langfuse/discussions/2600", - "created_at": "2024-07-10T09:52:23Z", - "upvotes": 4, - "comment_count": 1, + "number": 1826, + "title": "Having a session_with_user client", + "href": "https://github.com/orgs/langfuse/discussions/1826", + "created_at": "2024-04-24T08:31:05Z", + "upvotes": 1, + "comment_count": 0, "resolved": false, "labels": [], "author": { - "login": "fjeanchar", - "html_url": "https://github.com/fjeanchar" - }, - "category": "Support" - }, - { - "number": 2599, - "title": "Overall projects dashboard?", - "href": "https://github.com/orgs/langfuse/discussions/2599", - "created_at": "2024-07-10T09:09:02Z", - "upvotes": 1, - "comment_count": 1, - "resolved": true, - "labels": [ - "feat-dashboard" - ], - "author": { - "login": "justingodden", - "html_url": "https://github.com/justingodden" + "login": "rtzy7", + "html_url": "https://github.com/rtzy7" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2597, - "title": "[Errno 111] Connection refused when connecting to langfuse within docker compose", - "href": "https://github.com/orgs/langfuse/discussions/2597", - "created_at": "2024-07-10T09:00:34Z", + "number": 1823, + "title": "Change `/api/chatCompletion` to be a standard OpenAI proxy on `/api/v1/chat/completions`?", + "href": "https://github.com/orgs/langfuse/discussions/1823", + "created_at": "2024-04-23T19:48:34Z", "upvotes": 1, "comment_count": 1, - "resolved": true, - "labels": [ - "self-hosting" - ], + "resolved": false, + "labels": [], "author": { - "login": "bspetrov", - "html_url": "https://github.com/bspetrov" + "login": "Manouchehri", + "html_url": "https://github.com/Manouchehri" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2595, - "title": "Migrate a local deployment of langfuse from one computer to another", - "href": "https://github.com/orgs/langfuse/discussions/2595", - "created_at": "2024-07-10T07:46:04Z", + "number": 1820, + "title": "Auth using Microsoft Entra ID", + "href": "https://github.com/orgs/langfuse/discussions/1820", + "created_at": "2024-04-23T18:32:42Z", "upvotes": 1, "comment_count": 2, - "resolved": true, + "resolved": false, "labels": [ + "✅ Done", "self-hosting" ], "author": { - "login": "nithin1995", - "html_url": "https://github.com/nithin1995" + "login": "Stadly", + "html_url": "https://github.com/Stadly" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2590, - "title": "Experiments running but inputs and outputs of LLM are not linked to dashboard", - "href": "https://github.com/orgs/langfuse/discussions/2590", - "created_at": "2024-07-09T18:29:22Z", - "upvotes": 1, - "comment_count": 1, + "number": 1816, + "title": "Add a metrics endpoint for Prometheus", + "href": "https://github.com/orgs/langfuse/discussions/1816", + "created_at": "2024-04-23T14:33:38Z", + "upvotes": 5, + "comment_count": 2, "resolved": false, "labels": [], "author": { - "login": "IbrahimAhmed03", - "html_url": "https://github.com/IbrahimAhmed03" + "login": "nolwennz", + "html_url": "https://github.com/nolwennz" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2574, - "title": "how to embed langfuse dashboard in other tool", - "href": "https://github.com/orgs/langfuse/discussions/2574", - "created_at": "2024-07-08T21:24:13Z", - "upvotes": 1, - "comment_count": 1, - "resolved": true, + "number": 1813, + "title": "Provide an integration with Matomo Analytics so as for Posthog", + "href": "https://github.com/orgs/langfuse/discussions/1813", + "created_at": "2024-04-23T12:24:41Z", + "upvotes": 12, + "comment_count": 4, + "resolved": false, "labels": [ - "feat-dashboard" + "integrations" ], "author": { - "login": "deepakdeore2004", - "html_url": "https://github.com/deepakdeore2004" + "login": "Chardonneaur", + "html_url": "https://github.com/Chardonneaur" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2567, - "title": "How to use prompt management with openai JS?", - "href": "https://github.com/orgs/langfuse/discussions/2567", - "created_at": "2024-07-08T08:22:49Z", - "upvotes": 1, + "number": 1800, + "title": "Add command r/command r plus via Azure Marketplace", + "href": "https://github.com/orgs/langfuse/discussions/1800", + "created_at": "2024-04-22T16:11:38Z", + "upvotes": 2, "comment_count": 2, "resolved": false, "labels": [ - "feat-prompt-management" + "bug", + "integration-langchain" ], "author": { - "login": "oscarmorrison", - "html_url": "https://github.com/oscarmorrison" + "login": "jayfk", + "html_url": "https://github.com/jayfk" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2564, - "title": "Update metadata when using OpenAI JS Integration", - "href": "https://github.com/orgs/langfuse/discussions/2564", - "created_at": "2024-07-08T07:37:38Z", + "number": 1794, + "title": "User-level dashboard", + "href": "https://github.com/orgs/langfuse/discussions/1794", + "created_at": "2024-04-22T01:56:15Z", "upvotes": 1, - "comment_count": 3, + "comment_count": 1, "resolved": false, - "labels": [], + "labels": [ + "feat-users" + ], "author": { - "login": "oscarmorrison", - "html_url": "https://github.com/oscarmorrison" + "login": "secsilm", + "html_url": "https://github.com/secsilm" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2527, - "title": "Can't set trace params e.g session_id when using with llhama_index", - "href": "https://github.com/orgs/langfuse/discussions/2527", - "created_at": "2024-07-02T20:41:53Z", + "number": 1793, + "title": "Request chart of min/avg/max input/output tokens", + "href": "https://github.com/orgs/langfuse/discussions/1793", + "created_at": "2024-04-21T13:33:39Z", "upvotes": 2, - "comment_count": 2, + "comment_count": 1, "resolved": false, - "labels": [ - "integraton-llamaindex" - ], + "labels": [], "author": { - "login": "famoraes", - "html_url": "https://github.com/famoraes" + "login": "secsilm", + "html_url": "https://github.com/secsilm" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2498, - "title": "Method to update prompt template for Langserve use case", - "href": "https://github.com/orgs/langfuse/discussions/2498", - "created_at": "2024-07-01T11:20:08Z", - "upvotes": 2, + "number": 1783, + "title": "Limit new user registration", + "href": "https://github.com/orgs/langfuse/discussions/1783", + "created_at": "2024-04-19T09:34:55Z", + "upvotes": 1, "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [ - "integration-langchain" + "self-hosting" ], "author": { - "login": "quadcube", - "html_url": "https://github.com/quadcube" + "login": "secsilm", + "html_url": "https://github.com/secsilm" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2486, - "title": "Cost of embedding in langfuse", - "href": "https://github.com/orgs/langfuse/discussions/2486", - "created_at": "2024-06-29T07:50:06Z", + "number": 1781, + "title": "feature for python client:get traces by score", + "href": "https://github.com/orgs/langfuse/discussions/1781", + "created_at": "2024-04-19T09:12:48Z", "upvotes": 1, - "comment_count": 2, - "resolved": true, + "comment_count": 1, + "resolved": false, "labels": [], "author": { - "login": "Amitt1412", - "html_url": "https://github.com/Amitt1412" + "login": "StarsSparkle", + "html_url": "https://github.com/StarsSparkle" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2481, - "title": "Getting all traces logged in a timerange for custom scoring", - "href": "https://github.com/orgs/langfuse/discussions/2481", - "created_at": "2024-06-28T12:09:14Z", - "upvotes": 1, + "number": 1780, + "title": "Log for Function Calling", + "href": "https://github.com/orgs/langfuse/discussions/1780", + "created_at": "2024-04-19T06:40:55Z", + "upvotes": 6, "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [ - "feat-scores" + "integration-openai" ], "author": { - "login": "sanandnarayan", - "html_url": "https://github.com/sanandnarayan" + "login": "jaindees", + "html_url": "https://github.com/jaindees" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2479, - "title": "Cost of embedding", - "href": "https://github.com/orgs/langfuse/discussions/2479", - "created_at": "2024-06-28T06:58:16Z", + "number": 1776, + "title": "SSO: Cognito", + "href": "https://github.com/orgs/langfuse/discussions/1776", + "created_at": "2024-04-18T20:40:43Z", "upvotes": 1, - "comment_count": 3, - "resolved": true, - "labels": [], + "comment_count": 2, + "resolved": false, + "labels": [ + "✅ Done", + "self-hosting" + ], "author": { - "login": "Amitt1412", - "html_url": "https://github.com/Amitt1412" + "login": "theluk", + "html_url": "https://github.com/theluk" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2455, - "title": "Getting issue with local setup", - "href": "https://github.com/orgs/langfuse/discussions/2455", - "created_at": "2024-06-27T10:23:02Z", + "number": 1774, + "title": "PromptClient: Support mustache type export to langchain", + "href": "https://github.com/orgs/langfuse/discussions/1774", + "created_at": "2024-04-18T18:52:40Z", "upvotes": 1, "comment_count": 1, - "resolved": true, - "labels": [ - "self-hosting" - ], - "author": { - "login": "kiranraut7709", - "html_url": "https://github.com/kiranraut7709" - }, - "category": "Support" - }, - { - "number": 2447, - "title": "Access observation id in langchain runnable", - "href": "https://github.com/orgs/langfuse/discussions/2447", - "created_at": "2024-06-26T21:03:07Z", - "upvotes": 4, - "comment_count": 1, - "resolved": false, - "labels": [ - "integration-langchain" - ], - "author": { - "login": "snikch", - "html_url": "https://github.com/snikch" - }, - "category": "Support" - }, - { - "number": 2431, - "title": "Trying to work with llama3 in Azure using AzureMLChatOnlineEndpoint but no cost showing up", - "href": "https://github.com/orgs/langfuse/discussions/2431", - "created_at": "2024-06-25T21:20:25Z", - "upvotes": 1, - "comment_count": 2, "resolved": false, "labels": [], "author": { - "login": "spacepirate0001", - "html_url": "https://github.com/spacepirate0001" + "login": "maxjacu", + "html_url": "https://github.com/maxjacu" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2416, - "title": "some tests failed for langfuse-js", - "href": "https://github.com/orgs/langfuse/discussions/2416", - "created_at": "2024-06-25T04:31:35Z", + "number": 1770, + "title": "New REST API endpoint to get all prompts", + "href": "https://github.com/orgs/langfuse/discussions/1770", + "created_at": "2024-04-18T02:40:14Z", "upvotes": 1, - "comment_count": 3, + "comment_count": 2, "resolved": false, "labels": [], "author": { - "login": "4t8dd", - "html_url": "https://github.com/4t8dd" + "login": "zoltan-fedor", + "html_url": "https://github.com/zoltan-fedor" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2415, - "title": "AUTH AZURE AD returns AADSTS9002325: Proof Key for Code Exchange is required for cross-origin authorization code redemption.", - "href": "https://github.com/orgs/langfuse/discussions/2415", - "created_at": "2024-06-24T18:00:45Z", + "number": 1769, + "title": "Request chart of the generation speed of tokens (tokens/s)", + "href": "https://github.com/orgs/langfuse/discussions/1769", + "created_at": "2024-04-18T02:14:37Z", "upvotes": 1, "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [], "author": { - "login": "spacepirate0001", - "html_url": "https://github.com/spacepirate0001" + "login": "secsilm", + "html_url": "https://github.com/secsilm" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2401, - "title": "Trying to understand why in Langfuse Trace under Stream Completion I get this output:", - "href": "https://github.com/orgs/langfuse/discussions/2401", - "created_at": "2024-06-21T12:22:38Z", - "upvotes": 1, - "comment_count": 1, + "number": 1760, + "title": "annotation of traces in langfuse console?", + "href": "https://github.com/orgs/langfuse/discussions/1760", + "created_at": "2024-04-17T17:51:47Z", + "upvotes": 3, + "comment_count": 2, "resolved": false, - "labels": [], + "labels": [ + "✅ Done", + "feat-annotation" + ], "author": { - "login": "howtodoml", - "html_url": "https://github.com/howtodoml" + "login": "erik-squared", + "html_url": "https://github.com/erik-squared" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2385, - "title": "Modify trace after getting response from OpenAI", - "href": "https://github.com/orgs/langfuse/discussions/2385", - "created_at": "2024-06-20T18:00:09Z", + "number": 1755, + "title": "feat: Prompt API Search (by tags)", + "href": "https://github.com/orgs/langfuse/discussions/1755", + "created_at": "2024-04-17T09:37:50Z", "upvotes": 2, - "comment_count": 3, + "comment_count": 2, "resolved": false, - "labels": [], + "labels": [ + "✅ Done" + ], "author": { - "login": "tylerlittlefield", - "html_url": "https://github.com/tylerlittlefield" + "login": "bryan-agicap", + "html_url": "https://github.com/bryan-agicap" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2381, - "title": "LangFuse UI doesn't show all traces despite debug logging saying that all are sent to the server", - "href": "https://github.com/orgs/langfuse/discussions/2381", - "created_at": "2024-06-20T14:02:12Z", - "upvotes": 3, - "comment_count": 1, + "number": 1744, + "title": "Is it possible to support Dify?", + "href": "https://github.com/orgs/langfuse/discussions/1744", + "created_at": "2024-04-16T20:55:11Z", + "upvotes": 2, + "comment_count": 2, "resolved": false, - "labels": [], + "labels": [ + "integrations", + "✅ Done", + "integration-dify" + ], "author": { - "login": "stokedout", - "html_url": "https://github.com/stokedout" + "login": "jtsang4", + "html_url": "https://github.com/jtsang4" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2379, - "title": "Langfuse was not able to parse the LLM model", - "href": "https://github.com/orgs/langfuse/discussions/2379", - "created_at": "2024-06-20T08:56:57Z", + "number": 1716, + "title": "feat: Add `TRACE_EVENTS` flag", + "href": "https://github.com/orgs/langfuse/discussions/1716", + "created_at": "2024-04-15T12:29:30Z", "upvotes": 1, "comment_count": 2, - "resolved": true, + "resolved": false, "labels": [ - "integration-langchain", - "integration-amazon-bedrock" + "✅ Done" ], "author": { - "login": "fdbvega", - "html_url": "https://github.com/fdbvega" + "login": "JorisAndrade", + "html_url": "https://github.com/JorisAndrade" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2377, - "title": "Can't see any traces or logs when running Langfuse locally.", - "href": "https://github.com/orgs/langfuse/discussions/2377", - "created_at": "2024-06-19T23:51:46Z", + "number": 1715, + "title": "Add support for ZITADEL OIDC", + "href": "https://github.com/orgs/langfuse/discussions/1715", + "created_at": "2024-04-15T12:27:54Z", "upvotes": 1, - "comment_count": 6, - "resolved": true, + "comment_count": 1, + "resolved": false, "labels": [ "self-hosting" ], "author": { - "login": "ibdafna", - "html_url": "https://github.com/ibdafna" + "login": "bitfactory-sem-denbroeder", + "html_url": "https://github.com/bitfactory-sem-denbroeder" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2373, - "title": "Not recording llamaindex response. Please help", - "href": "https://github.com/orgs/langfuse/discussions/2373", - "created_at": "2024-06-19T19:26:30Z", - "upvotes": 1, + "number": 1711, + "title": "Webhook to trigger CI/CD pipeline when new prompt version is created", + "href": "https://github.com/orgs/langfuse/discussions/1711", + "created_at": "2024-04-14T13:46:30Z", + "upvotes": 5, "comment_count": 1, "resolved": false, "labels": [ - "integraton-llamaindex" + "feat-prompt-management", + "feat-api" ], "author": { - "login": "mraguth", - "html_url": "https://github.com/mraguth" + "login": "tamdoEH", + "html_url": "https://github.com/tamdoEH" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2366, - "title": "Add label to prompt from Langfuse UI", - "href": "https://github.com/orgs/langfuse/discussions/2366", - "created_at": "2024-06-18T14:26:14Z", - "upvotes": 1, - "comment_count": 1, - "resolved": true, + "number": 1710, + "title": "Review feature for prompt deployment", + "href": "https://github.com/orgs/langfuse/discussions/1710", + "created_at": "2024-04-14T13:39:50Z", + "upvotes": 3, + "comment_count": 3, + "resolved": false, "labels": [ "feat-prompt-management" ], "author": { - "login": "charlieviettq", - "html_url": "https://github.com/charlieviettq" + "login": "tamdoEH", + "html_url": "https://github.com/tamdoEH" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2354, - "title": "Link Prompt & Trace with langchain CallbackHandler", - "href": "https://github.com/orgs/langfuse/discussions/2354", - "created_at": "2024-06-17T08:21:56Z", - "upvotes": 2, + "number": 1707, + "title": "API for custom model <> token usage pricing", + "href": "https://github.com/orgs/langfuse/discussions/1707", + "created_at": "2024-04-13T22:37:38Z", + "upvotes": 3, "comment_count": 2, - "resolved": true, - "labels": [], - "author": { - "login": "derevyan", - "html_url": "https://github.com/derevyan" - }, - "category": "Support" - }, - { - "number": 2353, - "title": "[Migration] Auto-migration DB error when upgrade langfuse version", - "href": "https://github.com/orgs/langfuse/discussions/2353", - "created_at": "2024-06-17T08:02:03Z", - "upvotes": 1, - "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [ - "self-hosting" + "✅ Done", + "feat-api" ], "author": { - "login": "charlieviettq", - "html_url": "https://github.com/charlieviettq" + "login": "rydamckinney", + "html_url": "https://github.com/rydamckinney" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2351, - "title": "Customize Langchain callback handler to add spans to existing traces created by separate thread/process", - "href": "https://github.com/orgs/langfuse/discussions/2351", - "created_at": "2024-06-17T03:41:57Z", - "upvotes": 1, - "comment_count": 2, + "number": 1696, + "title": "Export & import for prompts, copy between projects", + "href": "https://github.com/orgs/langfuse/discussions/1696", + "created_at": "2024-04-12T20:28:47Z", + "upvotes": 16, + "comment_count": 7, "resolved": false, "labels": [ - "integration-langchain" + "feat-prompt-management" ], "author": { - "login": "Chengdyc", - "html_url": "https://github.com/Chengdyc" + "login": "zoltan-fedor", + "html_url": "https://github.com/zoltan-fedor" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2348, - "title": "not serializable object of type: LangfuseResponseGeneratorSync", - "href": "https://github.com/orgs/langfuse/discussions/2348", - "created_at": "2024-06-14T22:33:09Z", - "upvotes": 1, - "comment_count": 1, + "number": 1692, + "title": "Read-only prompt keys?", + "href": "https://github.com/orgs/langfuse/discussions/1692", + "created_at": "2024-04-12T00:57:44Z", + "upvotes": 2, + "comment_count": 2, "resolved": false, "labels": [], "author": { - "login": "howtodoml", - "html_url": "https://github.com/howtodoml" + "login": "Manouchehri", + "html_url": "https://github.com/Manouchehri" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2346, - "title": "Chain two prompts", - "href": "https://github.com/orgs/langfuse/discussions/2346", - "created_at": "2024-06-14T08:20:48Z", + "number": 1671, + "title": "Ability to run langfuse in tests automatically without manual involvement", + "href": "https://github.com/orgs/langfuse/discussions/1671", + "created_at": "2024-04-11T05:29:44Z", "upvotes": 1, - "comment_count": 1, + "comment_count": 2, "resolved": false, "labels": [ - "feat-prompt-management", - "integration-langchain" + "✅ Done", + "self-hosting" ], "author": { - "login": "darkostanimirovic", - "html_url": "https://github.com/darkostanimirovic" - }, - "category": "Support" - }, - { - "number": 2344, - "title": "Can you use internal Kubernetes DNS to receive traffic from other Kubernetes workloads?", - "href": "https://github.com/orgs/langfuse/discussions/2344", - "created_at": "2024-06-14T08:15:36Z", - "upvotes": 1, - "comment_count": 1, - "resolved": true, - "labels": [], - "author": { - "login": "smeasures", - "html_url": "https://github.com/smeasures" + "login": "SinghCoder", + "html_url": "https://github.com/SinghCoder" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2342, - "title": "Getting trace id out of a langchain runnable", - "href": "https://github.com/orgs/langfuse/discussions/2342", - "created_at": "2024-06-14T01:15:26Z", - "upvotes": 1, + "number": 1664, + "title": "\"Task\" and \"Bot\" core abstractions", + "href": "https://github.com/orgs/langfuse/discussions/1664", + "created_at": "2024-04-10T20:24:53Z", + "upvotes": 2, "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [], "author": { - "login": "salmanmashayekh", - "html_url": "https://github.com/salmanmashayekh" + "login": "sfarthin", + "html_url": "https://github.com/sfarthin" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2338, - "title": "Can RBAC Role Assignment be done using Azure AD SSO token?", - "href": "https://github.com/orgs/langfuse/discussions/2338", - "created_at": "2024-06-13T11:29:59Z", - "upvotes": 4, - "comment_count": 2, + "number": 1660, + "title": "Prompt Composability", + "href": "https://github.com/orgs/langfuse/discussions/1660", + "created_at": "2024-04-10T15:25:05Z", + "upvotes": 10, + "comment_count": 5, "resolved": false, "labels": [ - "feat-rbac", - "self-hosting" + "feat-prompt-management" ], "author": { - "login": "joshwright10", - "html_url": "https://github.com/joshwright10" + "login": "meissnereric", + "html_url": "https://github.com/meissnereric" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2298, - "title": "llamaindex: function_call does not generate subspans for a custom AsyncBaseTool class", - "href": "https://github.com/orgs/langfuse/discussions/2298", - "created_at": "2024-06-11T09:28:33Z", - "upvotes": 1, - "comment_count": 3, + "number": 1633, + "title": "feat: Function Calling Under OpenAI Format", + "href": "https://github.com/orgs/langfuse/discussions/1633", + "created_at": "2024-04-09T08:49:58Z", + "upvotes": 2, + "comment_count": 1, "resolved": false, "labels": [ - "integraton-llamaindex" + "feat-playground" ], "author": { - "login": "ootkin", - "html_url": "https://github.com/ootkin" + "login": "anhphong22", + "html_url": "https://github.com/anhphong22" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2290, - "title": "There are no evaluation component in the 2.50 version", - "href": "https://github.com/orgs/langfuse/discussions/2290", - "created_at": "2024-06-10T19:36:30Z", + "number": 1630, + "title": "Groq - Mixtral", + "href": "https://github.com/orgs/langfuse/discussions/1630", + "created_at": "2024-04-09T05:11:12Z", "upvotes": 1, "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [], "author": { - "login": "yanlinchn", - "html_url": "https://github.com/yanlinchn" + "login": "mike4lyf", + "html_url": "https://github.com/mike4lyf" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2254, - "title": "Unable to get hello world program working due to incorrect public key / host", - "href": "https://github.com/orgs/langfuse/discussions/2254", - "created_at": "2024-06-06T09:13:53Z", + "number": 1627, + "title": "VertexAI support", + "href": "https://github.com/orgs/langfuse/discussions/1627", + "created_at": "2024-04-08T22:43:38Z", "upvotes": 3, "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [ - "self-hosting" + "integration-langchain" ], "author": { - "login": "mr-nano", - "html_url": "https://github.com/mr-nano" + "login": "eles13", + "html_url": "https://github.com/eles13" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2244, - "title": "2 traces generated instead of 1", - "href": "https://github.com/orgs/langfuse/discussions/2244", - "created_at": "2024-06-05T17:06:52Z", + "number": 1613, + "title": "[Feature] Add a score value filter", + "href": "https://github.com/orgs/langfuse/discussions/1613", + "created_at": "2024-04-08T07:58:58Z", "upvotes": 1, - "comment_count": 1, - "resolved": true, - "labels": [ - "integration-langchain", - "feat-datasets" - ], + "comment_count": 0, + "resolved": false, + "labels": [], "author": { - "login": "nithin1995", - "html_url": "https://github.com/nithin1995" + "login": "Hacky-DH", + "html_url": "https://github.com/Hacky-DH" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2211, - "title": "How to clean the langfuse cache data periodically?", - "href": "https://github.com/orgs/langfuse/discussions/2211", - "created_at": "2024-06-03T07:40:22Z", + "number": 1612, + "title": "DSPY integration", + "href": "https://github.com/orgs/langfuse/discussions/1612", + "created_at": "2024-04-07T18:54:32Z", "upvotes": 1, "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [], "author": { - "login": "He-Huang", - "html_url": "https://github.com/He-Huang" + "login": "wdhitchc", + "html_url": "https://github.com/wdhitchc" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2207, - "title": "Model Cost does not show up", - "href": "https://github.com/orgs/langfuse/discussions/2207", - "created_at": "2024-06-02T11:08:58Z", - "upvotes": 1, + "number": 1566, + "title": "LangchainCallbackHandler httpx_client not accessible", + "href": "https://github.com/orgs/langfuse/discussions/1566", + "created_at": "2024-04-03T09:18:12Z", + "upvotes": 2, "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [ - "feat-cost-tracking" + "integration-langchain" ], "author": { - "login": "jannikstdl", - "html_url": "https://github.com/jannikstdl" + "login": "dlmatt", + "html_url": "https://github.com/dlmatt" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2206, - "title": "Possibilities for auth", - "href": "https://github.com/orgs/langfuse/discussions/2206", - "created_at": "2024-06-01T23:38:39Z", - "upvotes": 1, - "comment_count": 1, - "resolved": true, + "number": 1541, + "title": "Disable events logging", + "href": "https://github.com/orgs/langfuse/discussions/1541", + "created_at": "2024-03-29T18:08:13Z", + "upvotes": 8, + "comment_count": 3, + "resolved": false, "labels": [ - "self-hosting" + "✅ Done" ], "author": { - "login": "Getty", - "html_url": "https://github.com/Getty" + "login": "omgovich", + "html_url": "https://github.com/omgovich" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2200, - "title": "How does one replace values for a ChatPromptTemplate for Langchain", - "href": "https://github.com/orgs/langfuse/discussions/2200", - "created_at": "2024-05-31T19:39:14Z", - "upvotes": 0, + "number": 1535, + "title": "Request for Integration of Mistral Models into Langfuse", + "href": "https://github.com/orgs/langfuse/discussions/1535", + "created_at": "2024-03-28T16:10:25Z", + "upvotes": 5, "comment_count": 2, "resolved": false, - "labels": [], + "labels": [ + "integrations", + "✅ Done" + ], "author": { - "login": "ajram23", - "html_url": "https://github.com/ajram23" + "login": "Zherdev1996", + "html_url": "https://github.com/Zherdev1996" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2188, - "title": "Time to first token?", - "href": "https://github.com/orgs/langfuse/discussions/2188", - "created_at": "2024-05-30T12:45:37Z", + "number": 1533, + "title": "Managing Embeddings", + "href": "https://github.com/orgs/langfuse/discussions/1533", + "created_at": "2024-03-28T15:36:21Z", "upvotes": 1, - "comment_count": 1, + "comment_count": 0, "resolved": false, "labels": [], "author": { - "login": "jrcapicua", - "html_url": "https://github.com/jrcapicua" + "login": "Botman-Hotman", + "html_url": "https://github.com/Botman-Hotman" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2172, - "title": "How to reuse callback handler in langchain integration?", - "href": "https://github.com/orgs/langfuse/discussions/2172", - "created_at": "2024-05-28T15:25:39Z", - "upvotes": 1, - "comment_count": 2, + "number": 1513, + "title": "Langfuse Trace with OpenAI Assistants", + "href": "https://github.com/orgs/langfuse/discussions/1513", + "created_at": "2024-03-27T11:47:19Z", + "upvotes": 10, + "comment_count": 5, "resolved": false, "labels": [ - "integration-langchain" + "integration-openai" ], "author": { - "login": "SebastianStehle", - "html_url": "https://github.com/SebastianStehle" + "login": "marco-introvigne", + "html_url": "https://github.com/marco-introvigne" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2165, - "title": "Auth0 not working", - "href": "https://github.com/orgs/langfuse/discussions/2165", - "created_at": "2024-05-28T11:38:43Z", - "upvotes": 2, - "comment_count": 3, + "number": 1500, + "title": "Comment column can have any name the user chooses, there could be multiple comment columns per metric", + "href": "https://github.com/orgs/langfuse/discussions/1500", + "created_at": "2024-03-26T08:42:45Z", + "upvotes": 1, + "comment_count": 1, "resolved": false, - "labels": [ - "self-hosting" - ], + "labels": [], "author": { - "login": "mforell", - "html_url": "https://github.com/mforell" + "login": "emailic", + "html_url": "https://github.com/emailic" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2162, - "title": "Connect Prompt ID to GENERATIONS when integrate Langfuse in LangChain.", - "href": "https://github.com/orgs/langfuse/discussions/2162", - "created_at": "2024-05-28T00:56:34Z", - "upvotes": 8, + "number": 1488, + "title": "Make Langfuse switchable", + "href": "https://github.com/orgs/langfuse/discussions/1488", + "created_at": "2024-03-25T21:05:17Z", + "upvotes": 2, "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [], "author": { - "login": "hdp173", - "html_url": "https://github.com/hdp173" + "login": "MrMojoR", + "html_url": "https://github.com/MrMojoR" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2154, - "title": "__root__ -> items -> 0 -> datasetName field required (type=value_error.missing)", - "href": "https://github.com/orgs/langfuse/discussions/2154", - "created_at": "2024-05-27T11:26:24Z", + "number": 1479, + "title": "Add total filtered Generations to UI", + "href": "https://github.com/orgs/langfuse/discussions/1479", + "created_at": "2024-03-24T17:19:51Z", "upvotes": 1, - "comment_count": 2, + "comment_count": 0, "resolved": false, "labels": [], "author": { - "login": "emailic", - "html_url": "https://github.com/emailic" + "login": "PhiBrandon", + "html_url": "https://github.com/PhiBrandon" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2152, - "title": "get_langchain_handler() alwasy start from trace root.", - "href": "https://github.com/orgs/langfuse/discussions/2152", - "created_at": "2024-05-27T10:47:42Z", + "number": 1461, + "title": "Loose prisma datasource db provider.", + "href": "https://github.com/orgs/langfuse/discussions/1461", + "created_at": "2024-03-21T13:09:15Z", "upvotes": 1, "comment_count": 1, "resolved": false, "labels": [ - "integration-langchain" + "self-hosting" ], "author": { - "login": "hdp173", - "html_url": "https://github.com/hdp173" + "login": "muazhari", + "html_url": "https://github.com/muazhari" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2146, - "title": "Customize LangChain Integration.", - "href": "https://github.com/orgs/langfuse/discussions/2146", - "created_at": "2024-05-27T06:12:41Z", + "number": 1460, + "title": "Langfuse images for arm64 (mac silicon, some cloud vms)", + "href": "https://github.com/orgs/langfuse/discussions/1460", + "created_at": "2024-03-21T05:48:56Z", "upvotes": 1, "comment_count": 1, - "resolved": true, - "labels": [ - "integration-langchain" - ], + "resolved": false, + "labels": [], "author": { - "login": "hdp173", - "html_url": "https://github.com/hdp173" + "login": "verdverm", + "html_url": "https://github.com/verdverm" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2145, - "title": "Need help on syntax for editing project roles", - "href": "https://github.com/orgs/langfuse/discussions/2145", - "created_at": "2024-05-26T18:50:59Z", - "upvotes": 1, + "number": 1454, + "title": "Add a time based filter option", + "href": "https://github.com/orgs/langfuse/discussions/1454", + "created_at": "2024-03-20T16:06:15Z", + "upvotes": 4, "comment_count": 2, "resolved": false, - "labels": [], + "labels": [ + "✅ Done" + ], "author": { - "login": "hrithik062", - "html_url": "https://github.com/hrithik062" + "login": "Kurumindla-Kranthivardhan", + "html_url": "https://github.com/Kurumindla-Kranthivardhan" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2142, - "title": "Unable to login with SSO", - "href": "https://github.com/orgs/langfuse/discussions/2142", - "created_at": "2024-05-24T18:40:35Z", + "number": 1431, + "title": "Integration with Langserve", + "href": "https://github.com/orgs/langfuse/discussions/1431", + "created_at": "2024-03-18T08:40:32Z", "upvotes": 1, - "comment_count": 1, - "resolved": true, + "comment_count": 2, + "resolved": false, "labels": [], "author": { - "login": "alecor191", - "html_url": "https://github.com/alecor191" + "login": "Haxeebraja", + "html_url": "https://github.com/Haxeebraja" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2137, - "title": "Latency (Avg) showing 0 for dataset runs", - "href": "https://github.com/orgs/langfuse/discussions/2137", - "created_at": "2024-05-24T07:33:51Z", + "number": 1428, + "title": "allow to delete sessions", + "href": "https://github.com/orgs/langfuse/discussions/1428", + "created_at": "2024-03-16T15:56:35Z", "upvotes": 4, - "comment_count": 1, - "resolved": true, - "labels": [], - "author": { - "login": "karthik-TLIT", - "html_url": "https://github.com/karthik-TLIT" - }, - "category": "Support" - }, - { - "number": 2130, - "title": "Evaluations Not Available in Self-Hosted Version?", - "href": "https://github.com/orgs/langfuse/discussions/2130", - "created_at": "2024-05-23T14:31:16Z", - "upvotes": 3, - "comment_count": 1, - "resolved": true, + "comment_count": 2, + "resolved": false, "labels": [ - "feat-evals" + "feat-sessions" ], "author": { - "login": "c0pper", - "html_url": "https://github.com/c0pper" + "login": "morganveyret", + "html_url": "https://github.com/morganveyret" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2114, - "title": "Careers link on HN is broken", - "href": "https://github.com/orgs/langfuse/discussions/2114", - "created_at": "2024-05-21T07:28:26Z", + "number": 1427, + "title": "Toggle collection of traces on a per-trace basis", + "href": "https://github.com/orgs/langfuse/discussions/1427", + "created_at": "2024-03-16T15:19:07Z", "upvotes": 1, "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [], "author": { - "login": "davherrmann", - "html_url": "https://github.com/davherrmann" + "login": "foragerr", + "html_url": "https://github.com/foragerr" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2111, - "title": "Token cost is counted even if langchains LLM cache is utilized", - "href": "https://github.com/orgs/langfuse/discussions/2111", - "created_at": "2024-05-20T23:23:44Z", - "upvotes": 5, - "comment_count": 1, - "resolved": true, - "labels": [ - "integration-langchain" - ], + "number": 1415, + "title": "Add a \"correction\" field on the user feedback info", + "href": "https://github.com/orgs/langfuse/discussions/1415", + "created_at": "2024-03-14T14:18:30Z", + "upvotes": 3, + "comment_count": 2, + "resolved": false, + "labels": [], "author": { - "login": "arthurGrigo", - "html_url": "https://github.com/arthurGrigo" + "login": "almirb", + "html_url": "https://github.com/almirb" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2106, - "title": "Hability to store pre defined initial message", - "href": "https://github.com/orgs/langfuse/discussions/2106", - "created_at": "2024-05-20T20:40:23Z", - "upvotes": 1, - "comment_count": 1, - "resolved": true, + "number": 1408, + "title": "Trace Latencies line chart please", + "href": "https://github.com/orgs/langfuse/discussions/1408", + "created_at": "2024-03-13T15:00:35Z", + "upvotes": 2, + "comment_count": 0, + "resolved": false, "labels": [], "author": { - "login": "Lunik", - "html_url": "https://github.com/Lunik" + "login": "Huarong", + "html_url": "https://github.com/Huarong" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2099, - "title": "Deleting Duplicate Items in a Dataset", - "href": "https://github.com/orgs/langfuse/discussions/2099", - "created_at": "2024-05-20T09:48:58Z", - "upvotes": 1, - "comment_count": 1, - "resolved": true, + "number": 1398, + "title": "What standardized dataset formats are people using?", + "href": "https://github.com/orgs/langfuse/discussions/1398", + "created_at": "2024-03-12T15:47:53Z", + "upvotes": 2, + "comment_count": 0, + "resolved": false, "labels": [ "feat-datasets" ], "author": { - "login": "emailic", - "html_url": "https://github.com/emailic" + "login": "norton120", + "html_url": "https://github.com/norton120" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2098, - "title": "Wrong model for billing", - "href": "https://github.com/orgs/langfuse/discussions/2098", - "created_at": "2024-05-20T09:29:33Z", + "number": 1397, + "title": "Reorder columns in tables", + "href": "https://github.com/orgs/langfuse/discussions/1397", + "created_at": "2024-03-12T14:45:37Z", + "upvotes": 3, + "comment_count": 2, + "resolved": false, + "labels": [ + "✅ Done" + ], + "author": { + "login": "marcklingen", + "html_url": "https://github.com/marcklingen" + }, + "category": "Ideas" + }, + { + "number": 1394, + "title": "Adding a \"Select all\" button to tables", + "href": "https://github.com/orgs/langfuse/discussions/1394", + "created_at": "2024-03-12T10:37:23Z", "upvotes": 2, "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [], "author": { - "login": "wdxwj", - "html_url": "https://github.com/wdxwj" + "login": "samyxdev", + "html_url": "https://github.com/samyxdev" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2077, - "title": "Error Encountered During Migration for Applying Newly Supported Models to Existing Data", - "href": "https://github.com/orgs/langfuse/discussions/2077", - "created_at": "2024-05-16T15:30:33Z", - "upvotes": 1, + "number": 1392, + "title": "Hide prompts/completions (privacy)", + "href": "https://github.com/orgs/langfuse/discussions/1392", + "created_at": "2024-03-12T07:48:22Z", + "upvotes": 10, "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "Zherdev1996", - "html_url": "https://github.com/Zherdev1996" + "login": "ziodave", + "html_url": "https://github.com/ziodave" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2073, - "title": "Will Playground be available for self-hosted?", - "href": "https://github.com/orgs/langfuse/discussions/2073", - "created_at": "2024-05-16T12:40:30Z", - "upvotes": 5, - "comment_count": 2, - "resolved": true, + "number": 1391, + "title": "Enhancements for Langfuse User Sign-Up Control", + "href": "https://github.com/orgs/langfuse/discussions/1391", + "created_at": "2024-03-11T23:38:18Z", + "upvotes": 7, + "comment_count": 0, + "resolved": false, "labels": [ - "feat-playground" + "self-hosting" ], "author": { - "login": "sabatesduran", - "html_url": "https://github.com/sabatesduran" + "login": "udit-001", + "html_url": "https://github.com/udit-001" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2070, - "title": "Error on Local Deployment: \"Evals available in cloud only\" when Adding LLM API Key", - "href": "https://github.com/orgs/langfuse/discussions/2070", - "created_at": "2024-05-16T09:02:43Z", - "upvotes": 1, - "comment_count": 1, + "number": 1385, + "title": "bug: Not allowing to limit Azure AD authentication for selected users in same tenent", + "href": "https://github.com/orgs/langfuse/discussions/1385", + "created_at": "2024-03-11T17:42:05Z", + "upvotes": 2, + "comment_count": 2, "resolved": false, - "labels": [], + "labels": [ + "self-hosting" + ], "author": { - "login": "youngsj951104", - "html_url": "https://github.com/youngsj951104" + "login": "SathinduGA", + "html_url": "https://github.com/SathinduGA" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2069, - "title": "Does langfuse uses any Postgres-only features?", - "href": "https://github.com/orgs/langfuse/discussions/2069", - "created_at": "2024-05-16T06:36:16Z", + "number": 1378, + "title": "Aggregate cost per span", + "href": "https://github.com/orgs/langfuse/discussions/1378", + "created_at": "2024-03-08T16:06:04Z", "upvotes": 2, "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [], "author": { - "login": "rohts-patil", - "html_url": "https://github.com/rohts-patil" + "login": "ladislasdellinger", + "html_url": "https://github.com/ladislasdellinger" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2063, - "title": "Exception(\"parent run not found\")", - "href": "https://github.com/orgs/langfuse/discussions/2063", - "created_at": "2024-05-15T14:45:00Z", + "number": 1376, + "title": "Support parsing LLM model for ChatOllama", + "href": "https://github.com/orgs/langfuse/discussions/1376", + "created_at": "2024-03-08T14:13:58Z", "upvotes": 1, "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "emailic", - "html_url": "https://github.com/emailic" + "login": "kleebaum", + "html_url": "https://github.com/kleebaum" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2042, - "title": "Availability of evals when self-hosting", - "href": "https://github.com/orgs/langfuse/discussions/2042", - "created_at": "2024-05-13T14:06:11Z", - "upvotes": 2, + "number": 1374, + "title": "Add LLamaIndexTS example", + "href": "https://github.com/orgs/langfuse/discussions/1374", + "created_at": "2024-03-08T00:42:30Z", + "upvotes": 1, "comment_count": 1, - "resolved": true, - "labels": [ - "feat-evals" - ], + "resolved": false, + "labels": [], "author": { - "login": "derevyan", - "html_url": "https://github.com/derevyan" + "login": "luandro", + "html_url": "https://github.com/luandro" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2031, - "title": "Starting a demo from JS SDK and local running Langfuse, but cannot create init trace currently", - "href": "https://github.com/orgs/langfuse/discussions/2031", - "created_at": "2024-05-10T08:49:40Z", + "number": 1361, + "title": "Add a retention window for unnecessary data", + "href": "https://github.com/orgs/langfuse/discussions/1361", + "created_at": "2024-03-07T14:42:07Z", "upvotes": 1, "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "JamieLee0510", - "html_url": "https://github.com/JamieLee0510" + "login": "albertoforcato", + "html_url": "https://github.com/albertoforcato" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2009, - "title": "Custom name of Span when using Langchain handler instead of RunnableSequence", - "href": "https://github.com/orgs/langfuse/discussions/2009", - "created_at": "2024-05-08T12:23:08Z", - "upvotes": 1, + "number": 1337, + "title": "Support for Langchain ChatAnthropic", + "href": "https://github.com/orgs/langfuse/discussions/1337", + "created_at": "2024-03-06T10:42:36Z", + "upvotes": 2, "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [ "integration-langchain" ], "author": { - "login": "nathan-vo810", - "html_url": "https://github.com/nathan-vo810" + "login": "dotrunghieu96", + "html_url": "https://github.com/dotrunghieu96" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2008, - "title": "Not able to add dataset item", - "href": "https://github.com/orgs/langfuse/discussions/2008", - "created_at": "2024-05-08T12:11:04Z", + "number": 1331, + "title": "Adding cost to the datasets tables", + "href": "https://github.com/orgs/langfuse/discussions/1331", + "created_at": "2024-03-05T18:53:25Z", "upvotes": 1, "comment_count": 1, "resolved": false, - "labels": [], + "labels": [ + "✅ Done" + ], "author": { - "login": "nithin1995", - "html_url": "https://github.com/nithin1995" + "login": "ladislasdellinger", + "html_url": "https://github.com/ladislasdellinger" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2007, - "title": "Langfuse in PHP. Which are the minimum functions needed to implement?", - "href": "https://github.com/orgs/langfuse/discussions/2007", - "created_at": "2024-05-08T10:55:07Z", - "upvotes": 1, - "comment_count": 1, + "number": 1321, + "title": "More prompt environments/tags instead of just `active`", + "href": "https://github.com/orgs/langfuse/discussions/1321", + "created_at": "2024-03-05T11:05:17Z", + "upvotes": 3, + "comment_count": 2, "resolved": false, - "labels": [], + "labels": [ + "feat-prompt-management", + "✅ Done" + ], "author": { - "login": "phpia", - "html_url": "https://github.com/phpia" + "login": "ladislasdellinger", + "html_url": "https://github.com/ladislasdellinger" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2005, - "title": "How to get trace data with langfuse-langchain in JS/TS?", - "href": "https://github.com/orgs/langfuse/discussions/2005", - "created_at": "2024-05-08T08:08:42Z", - "upvotes": 1, + "number": 1309, + "title": "Log used prompt on generations when using Langchain", + "href": "https://github.com/orgs/langfuse/discussions/1309", + "created_at": "2024-03-04T09:03:35Z", + "upvotes": 5, "comment_count": 2, - "resolved": true, + "resolved": false, "labels": [ - "integration-langchain" + "integration-langchain", + "✅ Done" ], "author": { - "login": "AdiletBekmuratov", - "html_url": "https://github.com/AdiletBekmuratov" + "login": "TobinShaw", + "html_url": "https://github.com/TobinShaw" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1982, - "title": "trace doesn't work with .batch handler on langserve", - "href": "https://github.com/orgs/langfuse/discussions/1982", - "created_at": "2024-05-06T02:32:30Z", - "upvotes": 2, - "comment_count": 0, + "number": 1306, + "title": "[TS] Generating through OpenAI SDK directly", + "href": "https://github.com/orgs/langfuse/discussions/1306", + "created_at": "2024-03-02T10:56:07Z", + "upvotes": 1, + "comment_count": 2, "resolved": false, - "labels": [], + "labels": [ + "integrations", + "integration-openai", + "✅ Done" + ], "author": { - "login": "restuprajna", - "html_url": "https://github.com/restuprajna" + "login": "louis030195", + "html_url": "https://github.com/louis030195" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1979, - "title": "get_prompt function failed in langfuse-python 2.28.3", - "href": "https://github.com/orgs/langfuse/discussions/1979", - "created_at": "2024-05-05T19:57:40Z", + "number": 1305, + "title": "Allow Project-Specific Default Time Ranges", + "href": "https://github.com/orgs/langfuse/discussions/1305", + "created_at": "2024-03-02T03:42:42Z", "upvotes": 1, "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [], "author": { - "login": "nathan-vo810", - "html_url": "https://github.com/nathan-vo810" + "login": "dkindlund", + "html_url": "https://github.com/dkindlund" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1969, - "title": "How to utilize a dataset w/ typescript and langchain integration", - "href": "https://github.com/orgs/langfuse/discussions/1969", - "created_at": "2024-05-03T15:22:21Z", + "number": 1300, + "title": "Consider adding support for DSPy", + "href": "https://github.com/orgs/langfuse/discussions/1300", + "created_at": "2024-03-01T15:42:23Z", "upvotes": 1, "comment_count": 2, "resolved": false, - "labels": [ - "✅ Done", - "feat-datasets" - ], + "labels": [], "author": { - "login": "sahellebusch", - "html_url": "https://github.com/sahellebusch" + "login": "sutyum", + "html_url": "https://github.com/sutyum" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1957, - "title": "DevOps: What is the best way to create separate Langfuse instances in different environments: Dev, Test, QA, Prod?", - "href": "https://github.com/orgs/langfuse/discussions/1957", - "created_at": "2024-05-02T21:28:07Z", - "upvotes": 2, - "comment_count": 2, - "resolved": true, + "number": 1295, + "title": "Support DSPy", + "href": "https://github.com/orgs/langfuse/discussions/1295", + "created_at": "2024-03-01T11:34:05Z", + "upvotes": 19, + "comment_count": 9, + "resolved": false, "labels": [ - "self-hosting" + "integrations", + "✅ Done", + "integration-dspy" ], "author": { - "login": "aiakubovich", - "html_url": "https://github.com/aiakubovich" + "login": "sandangel", + "html_url": "https://github.com/sandangel" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1952, - "title": "How to communicate trace-id between backend and frontend ? (langchain+langserve integration)", - "href": "https://github.com/orgs/langfuse/discussions/1952", - "created_at": "2024-05-02T13:48:20Z", - "upvotes": 1, + "number": 1291, + "title": "Integration: LlamaIndex JS/TS", + "href": "https://github.com/orgs/langfuse/discussions/1291", + "created_at": "2024-02-29T11:56:42Z", + "upvotes": 33, "comment_count": 3, "resolved": false, "labels": [ - "integration-langchain" + "sdk-js", + "integrations", + "integraton-llamaindex" ], "author": { - "login": "Sinnaeve", - "html_url": "https://github.com/Sinnaeve" + "login": "marcklingen", + "html_url": "https://github.com/marcklingen" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1946, - "title": "Not able to build docker image from web/Dockerfile", - "href": "https://github.com/orgs/langfuse/discussions/1946", - "created_at": "2024-05-02T09:41:18Z", - "upvotes": 2, - "comment_count": 1, - "resolved": true, + "number": 1287, + "title": "Add filtering by errors", + "href": "https://github.com/orgs/langfuse/discussions/1287", + "created_at": "2024-02-28T22:52:59Z", + "upvotes": 3, + "comment_count": 2, + "resolved": false, "labels": [ - "self-hosting" + "ui" ], "author": { - "login": "Subham0793", - "html_url": "https://github.com/Subham0793" + "login": "ankerbachryhl", + "html_url": "https://github.com/ankerbachryhl" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1940, - "title": "Simple Prompt -> LLM error with Usage Object?", - "href": "https://github.com/orgs/langfuse/discussions/1940", - "created_at": "2024-05-01T13:47:14Z", - "upvotes": 2, - "comment_count": 1, - "resolved": true, + "number": 1277, + "title": "Add Audit Logging System to Worker Tasks", + "href": "https://github.com/orgs/langfuse/discussions/1277", + "created_at": "2024-02-28T11:53:15Z", + "upvotes": 1, + "comment_count": 3, + "resolved": false, "labels": [], "author": { - "login": "tzilkha", - "html_url": "https://github.com/tzilkha" + "login": "khareyash05", + "html_url": "https://github.com/khareyash05" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1864, - "title": "Can't see traces in the webUI if callback_handler passed to LLM init constructor", - "href": "https://github.com/orgs/langfuse/discussions/1864", - "created_at": "2024-04-25T21:01:54Z", - "upvotes": 2, + "number": 1268, + "title": "Possible with different units for input and output", + "href": "https://github.com/orgs/langfuse/discussions/1268", + "created_at": "2024-02-27T13:45:21Z", + "upvotes": 1, "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "gabrielfior", - "html_url": "https://github.com/gabrielfior" + "login": "Stadly", + "html_url": "https://github.com/Stadly" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1860, - "title": "Alter generation names with LangChain integration", - "href": "https://github.com/orgs/langfuse/discussions/1860", - "created_at": "2024-04-25T18:12:35Z", - "upvotes": 1, - "comment_count": 1, - "resolved": true, + "number": 1264, + "title": "ChatML/ChatMessage Prompt Templates", + "href": "https://github.com/orgs/langfuse/discussions/1264", + "created_at": "2024-02-27T01:59:05Z", + "upvotes": 4, + "comment_count": 3, + "resolved": false, "labels": [ - "integration-langchain" + "feat-prompt-management", + "✅ Done" ], "author": { - "login": "nic-asnes-klaviyo", - "html_url": "https://github.com/nic-asnes-klaviyo" + "login": "tuan3w", + "html_url": "https://github.com/tuan3w" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1831, - "title": "how to check only output tokens and models costs related to only output tokens?", - "href": "https://github.com/orgs/langfuse/discussions/1831", - "created_at": "2024-04-24T12:27:17Z", - "upvotes": 2, - "comment_count": 1, + "number": 1258, + "title": "Dashboard for all projects of an organization", + "href": "https://github.com/orgs/langfuse/discussions/1258", + "created_at": "2024-02-26T20:12:22Z", + "upvotes": 11, + "comment_count": 2, "resolved": false, - "labels": [], + "labels": [ + "feat-dashboard" + ], "author": { - "login": "manishiitg", - "html_url": "https://github.com/manishiitg" + "login": "aiakubovich", + "html_url": "https://github.com/aiakubovich" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1814, - "title": "Deploy to heroku", - "href": "https://github.com/orgs/langfuse/discussions/1814", - "created_at": "2024-04-23T13:56:27Z", - "upvotes": 1, + "number": 1221, + "title": "Add Haystack integration", + "href": "https://github.com/orgs/langfuse/discussions/1221", + "created_at": "2024-02-21T13:06:06Z", + "upvotes": 9, "comment_count": 2, - "resolved": true, + "resolved": false, "labels": [ - "self-hosting" + "integrations", + "✅ Done", + "integration-haystack" ], "author": { - "login": "MarcoSteinke", - "html_url": "https://github.com/MarcoSteinke" + "login": "marcklingen", + "html_url": "https://github.com/marcklingen" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1788, - "title": "Need help with resolving long runtimes when Langfuse tracing is enabled", - "href": "https://github.com/orgs/langfuse/discussions/1788", - "created_at": "2024-04-19T17:46:05Z", - "upvotes": 2, - "comment_count": 1, - "resolved": false, - "labels": [], - "author": { - "login": "pooja1423", - "html_url": "https://github.com/pooja1423" + "number": 1220, + "title": "Export to S3", + "href": "https://github.com/orgs/langfuse/discussions/1220", + "created_at": "2024-02-21T12:46:58Z", + "upvotes": 1, + "comment_count": 0, + "resolved": false, + "labels": [ + "integrations" + ], + "author": { + "login": "marcklingen", + "html_url": "https://github.com/marcklingen" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1785, - "title": "How to limit the number of traces", - "href": "https://github.com/orgs/langfuse/discussions/1785", - "created_at": "2024-04-19T10:29:17Z", - "upvotes": 1, - "comment_count": 1, + "number": 1219, + "title": "Export to BigQuery", + "href": "https://github.com/orgs/langfuse/discussions/1219", + "created_at": "2024-02-21T12:46:26Z", + "upvotes": 4, + "comment_count": 0, "resolved": false, - "labels": [], + "labels": [ + "integrations" + ], "author": { - "login": "secsilm", - "html_url": "https://github.com/secsilm" + "login": "marcklingen", + "html_url": "https://github.com/marcklingen" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1773, - "title": "Flowise 1.6.5 can not Trace", - "href": "https://github.com/orgs/langfuse/discussions/1773", - "created_at": "2024-04-18T11:55:32Z", - "upvotes": 1, - "comment_count": 1, + "number": 1212, + "title": "Adding support for async Langchain methods", + "href": "https://github.com/orgs/langfuse/discussions/1212", + "created_at": "2024-02-20T13:09:19Z", + "upvotes": 24, + "comment_count": 5, "resolved": false, - "labels": [], + "labels": [ + "integration-langchain", + "✅ Done" + ], "author": { - "login": "lknbv5", - "html_url": "https://github.com/lknbv5" + "login": "marcklingen", + "html_url": "https://github.com/marcklingen" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1759, - "title": "How to get generations and scores in the same trace when using OpenAI sdk or other tools", - "href": "https://github.com/orgs/langfuse/discussions/1759", - "created_at": "2024-04-17T15:56:51Z", - "upvotes": 1, - "comment_count": 1, + "number": 1208, + "title": "Add Images in Tracing", + "href": "https://github.com/orgs/langfuse/discussions/1208", + "created_at": "2024-02-20T00:41:41Z", + "upvotes": 11, + "comment_count": 2, "resolved": false, - "labels": [], + "labels": [ + "✅ Done", + "feat-multimodal" + ], "author": { - "login": "databill86", - "html_url": "https://github.com/databill86" + "login": "aiakubovich", + "html_url": "https://github.com/aiakubovich" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1712, - "title": "Invalid public key", - "href": "https://github.com/orgs/langfuse/discussions/1712", - "created_at": "2024-04-14T18:11:51Z", + "number": 1190, + "title": "Request to add 75 percentile under Model latency section as shown in image below", + "href": "https://github.com/orgs/langfuse/discussions/1190", + "created_at": "2024-02-16T21:41:29Z", "upvotes": 1, "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "taaha3244", - "html_url": "https://github.com/taaha3244" + "login": "ssubburaj85", + "html_url": "https://github.com/ssubburaj85" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1672, - "title": "Cookies not allowed", - "href": "https://github.com/orgs/langfuse/discussions/1672", - "created_at": "2024-04-11T07:43:53Z", - "upvotes": 1, - "comment_count": 3, + "number": 1170, + "title": "LLM Playground", + "href": "https://github.com/orgs/langfuse/discussions/1170", + "created_at": "2024-02-15T17:44:42Z", + "upvotes": 7, + "comment_count": 6, "resolved": false, - "labels": [], + "labels": [ + "feat-prompt-management", + "✅ Done", + "feat-playground" + ], "author": { - "login": "danielpirs", - "html_url": "https://github.com/danielpirs" + "login": "reza-mohideen", + "html_url": "https://github.com/reza-mohideen" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1649, - "title": "Run Langchain Evaluations on data in Langfuse , Why is the prompt not considered, and could this lead to evaluation flaws?", - "href": "https://github.com/orgs/langfuse/discussions/1649", - "created_at": "2024-04-10T05:25:28Z", - "upvotes": 1, + "number": 1159, + "title": "Looking for users (that are migrating off of something) to co-build Langfuse integration with", + "href": "https://github.com/orgs/langfuse/discussions/1159", + "created_at": "2024-02-14T19:05:27Z", + "upvotes": 2, "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "pengpengIlove", - "html_url": "https://github.com/pengpengIlove" + "login": "skrawcz", + "html_url": "https://github.com/skrawcz" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1610, - "title": "Scoring a trace after the LLM chain returns", - "href": "https://github.com/orgs/langfuse/discussions/1610", - "created_at": "2024-04-07T15:12:34Z", + "number": 1156, + "title": "Possible to set timestamp when creating trace", + "href": "https://github.com/orgs/langfuse/discussions/1156", + "created_at": "2024-02-14T14:26:22Z", "upvotes": 1, "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [ - "feat-scores" + "sdk-js" ], "author": { - "login": "pooja1423", - "html_url": "https://github.com/pooja1423" + "login": "Stadly", + "html_url": "https://github.com/Stadly" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1601, - "title": "Okta auth got `read ECONNRESET`", - "href": "https://github.com/orgs/langfuse/discussions/1601", - "created_at": "2024-04-04T03:46:08Z", - "upvotes": 1, - "comment_count": 2, + "number": 1154, + "title": "Dedicated user object which can include groups/teams and other attributes", + "href": "https://github.com/orgs/langfuse/discussions/1154", + "created_at": "2024-02-14T09:45:40Z", + "upvotes": 6, + "comment_count": 5, "resolved": false, - "labels": [], + "labels": [ + "feat-users" + ], "author": { - "login": "tmwatchanan", - "html_url": "https://github.com/tmwatchanan" + "login": "bryan-agicap", + "html_url": "https://github.com/bryan-agicap" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1538, - "title": "Trace input is null when passing in nodes, or Documents with transformations to VectorStoreIndex constructor", - "href": "https://github.com/orgs/langfuse/discussions/1538", - "created_at": "2024-03-29T00:30:49Z", - "upvotes": 1, + "number": 1133, + "title": "API to delete scores", + "href": "https://github.com/orgs/langfuse/discussions/1133", + "created_at": "2024-02-12T11:19:59Z", + "upvotes": 2, "comment_count": 1, "resolved": false, - "labels": [], + "labels": [ + "feat-api", + "feat-scores" + ], "author": { - "login": "mwertheim-zco", - "html_url": "https://github.com/mwertheim-zco" + "login": "Jason-CKY", + "html_url": "https://github.com/Jason-CKY" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1536, - "title": "Tracing and Session support on Integrations like LiteLLM Proxy and others and Is LangFuse logging a background process?", - "href": "https://github.com/orgs/langfuse/discussions/1536", - "created_at": "2024-03-28T20:22:49Z", - "upvotes": 1, + "number": 1128, + "title": "Display all traces within a session", + "href": "https://github.com/orgs/langfuse/discussions/1128", + "created_at": "2024-02-10T17:36:48Z", + "upvotes": 2, "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [ - "integration-litellm", + "ui", "feat-sessions" ], "author": { - "login": "Harryalways317", - "html_url": "https://github.com/Harryalways317" + "login": "benm5678", + "html_url": "https://github.com/benm5678" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1528, - "title": "Aggregated project from multiple langfuse servers", - "href": "https://github.com/orgs/langfuse/discussions/1528", - "created_at": "2024-03-28T09:01:37Z", + "number": 1118, + "title": "[Simple Feature/WebUI] Adding a button to hide the sidebar", + "href": "https://github.com/orgs/langfuse/discussions/1118", + "created_at": "2024-02-09T09:43:34Z", "upvotes": 3, "comment_count": 1, "resolved": false, - "labels": [], + "labels": [ + "ui" + ], "author": { - "login": "juan-abia", - "html_url": "https://github.com/juan-abia" + "login": "samyxdev", + "html_url": "https://github.com/samyxdev" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1524, - "title": "How to add default user and project to self-hosted docker?", - "href": "https://github.com/orgs/langfuse/discussions/1524", - "created_at": "2024-03-28T08:00:07Z", - "upvotes": 1, - "comment_count": 2, - "resolved": true, + "number": 1115, + "title": "Prioritize traces captured from LangGraph by relevance", + "href": "https://github.com/orgs/langfuse/discussions/1115", + "created_at": "2024-02-08T06:44:34Z", + "upvotes": 8, + "comment_count": 3, + "resolved": false, "labels": [ - "self-hosting" + "ui", + "integration-langchain" ], "author": { - "login": "tzsombor95", - "html_url": "https://github.com/tzsombor95" + "login": "litagent", + "html_url": "https://github.com/litagent" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1512, - "title": "[Alerts] Connect to Slack", - "href": "https://github.com/orgs/langfuse/discussions/1512", - "created_at": "2024-03-27T08:04:49Z", - "upvotes": 4, + "number": 1114, + "title": "Pulling prompt/completions via API", + "href": "https://github.com/orgs/langfuse/discussions/1114", + "created_at": "2024-02-08T00:52:10Z", + "upvotes": 1, "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [], "author": { - "login": "hypernovas", - "html_url": "https://github.com/hypernovas" + "login": "mukundt", + "html_url": "https://github.com/mukundt" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1486, - "title": "Update/delete score using python sdk", - "href": "https://github.com/orgs/langfuse/discussions/1486", - "created_at": "2024-03-25T20:13:55Z", + "number": 1106, + "title": "Prompt version comments", + "href": "https://github.com/orgs/langfuse/discussions/1106", + "created_at": "2024-02-07T15:38:07Z", "upvotes": 5, - "comment_count": 1, - "resolved": true, + "comment_count": 2, + "resolved": false, "labels": [ - "feat-scores" + "ui", + "feat-prompt-management", + "✅ Done" ], "author": { - "login": "msanand", - "html_url": "https://github.com/msanand" + "login": "mukundt", + "html_url": "https://github.com/mukundt" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1481, - "title": "502-Bad Request", - "href": "https://github.com/orgs/langfuse/discussions/1481", - "created_at": "2024-03-22T13:06:18Z", - "upvotes": 1, - "comment_count": 3, - "resolved": true, + "number": 1105, + "title": "\"Git diff\" view between two prompt versions", + "href": "https://github.com/orgs/langfuse/discussions/1105", + "created_at": "2024-02-07T15:37:18Z", + "upvotes": 13, + "comment_count": 1, + "resolved": false, "labels": [ - "self-hosting" + "ui", + "feat-prompt-management" ], "author": { - "login": "tbarbito", - "html_url": "https://github.com/tbarbito" + "login": "mukundt", + "html_url": "https://github.com/mukundt" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1466, - "title": "bug: Potential bug with AzureAD auth setup", - "href": "https://github.com/orgs/langfuse/discussions/1466", - "created_at": "2024-03-22T07:12:43Z", - "upvotes": 1, + "number": 1097, + "title": "Ability to post-process generation data", + "href": "https://github.com/orgs/langfuse/discussions/1097", + "created_at": "2024-02-06T17:45:58Z", + "upvotes": 2, "comment_count": 1, "resolved": false, + "labels": [], + "author": { + "login": "denisergashbaev", + "html_url": "https://github.com/denisergashbaev" + }, + "category": "Ideas" + }, + { + "number": 1096, + "title": "[Python SDK] Link prompt to OpenAI Chat Completion directly", + "href": "https://github.com/orgs/langfuse/discussions/1096", + "created_at": "2024-02-06T17:19:29Z", + "upvotes": 2, + "comment_count": 2, + "resolved": false, "labels": [ - "self-hosting" + "sdk-python", + "feat-prompt-management", + "integration-openai" ], "author": { - "login": "mprudra", - "html_url": "https://github.com/mprudra" + "login": "fancyweb", + "html_url": "https://github.com/fancyweb" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1449, - "title": "Langfuse session ID when using Chainlit", - "href": "https://github.com/orgs/langfuse/discussions/1449", - "created_at": "2024-03-20T00:57:09Z", + "number": 1089, + "title": "Use JWTs for API private key", + "href": "https://github.com/orgs/langfuse/discussions/1089", + "created_at": "2024-02-06T02:11:39Z", "upvotes": 1, "comment_count": 2, "resolved": false, "labels": [], "author": { - "login": "tituslhy", - "html_url": "https://github.com/tituslhy" + "login": "Manouchehri", + "html_url": "https://github.com/Manouchehri" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1445, - "title": "Linking dataset run items with existing callback handler", - "href": "https://github.com/orgs/langfuse/discussions/1445", - "created_at": "2024-03-19T16:54:54Z", + "number": 1082, + "title": "Add LLM call duration on session and trace table", + "href": "https://github.com/orgs/langfuse/discussions/1082", + "created_at": "2024-02-05T20:52:23Z", "upvotes": 1, "comment_count": 1, "resolved": false, "labels": [ - "feat-datasets" + "ui" ], "author": { - "login": "subandwho", - "html_url": "https://github.com/subandwho" + "login": "Manouchehri", + "html_url": "https://github.com/Manouchehri" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1434, - "title": "Add UserID and Feedback when using LlamaIndex Integration", - "href": "https://github.com/orgs/langfuse/discussions/1434", - "created_at": "2024-03-18T20:24:29Z", - "upvotes": 1, - "comment_count": 1, - "resolved": true, + "number": 1077, + "title": "Flowise: Allow adding metadata in API call to populate Langfuse trace metadata", + "href": "https://github.com/orgs/langfuse/discussions/1077", + "created_at": "2024-02-05T15:55:07Z", + "upvotes": 2, + "comment_count": 0, + "resolved": false, "labels": [ - "integraton-llamaindex" + "integration-flowise" ], "author": { - "login": "skelleex", - "html_url": "https://github.com/skelleex" + "login": "jpmin7", + "html_url": "https://github.com/jpmin7" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1432, - "title": "langfuse.api.resources.commons.errors.not_found_error.NotFoundError: status_code: 404, body: {'message': 'Observation not found'}", - "href": "https://github.com/orgs/langfuse/discussions/1432", - "created_at": "2024-03-18T13:29:05Z", + "number": 1076, + "title": "Flowise: Allow Langfuse traceId to be set or passed on with API response", + "href": "https://github.com/orgs/langfuse/discussions/1076", + "created_at": "2024-02-05T14:58:23Z", "upvotes": 1, "comment_count": 1, "resolved": false, - "labels": [], + "labels": [ + "sdk-js", + "integration-flowise" + ], "author": { - "login": "emailic", - "html_url": "https://github.com/emailic" + "login": "jpmin7", + "html_url": "https://github.com/jpmin7" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1429, - "title": "Hybrid usage Langfuse among OpenAI calls as well Langchain", - "href": "https://github.com/orgs/langfuse/discussions/1429", - "created_at": "2024-03-17T14:09:57Z", + "number": 1074, + "title": "Model costs in terms of energy for self hosted models (or cloud hosted)", + "href": "https://github.com/orgs/langfuse/discussions/1074", + "created_at": "2024-02-05T10:15:27Z", "upvotes": 1, "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [], "author": { - "login": "mikeon", - "html_url": "https://github.com/mikeon" + "login": "vquilon", + "html_url": "https://github.com/vquilon" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1420, - "title": "Datasets list / by id", - "href": "https://github.com/orgs/langfuse/discussions/1420", - "created_at": "2024-03-15T02:22:27Z", - "upvotes": 2, - "comment_count": 2, - "resolved": true, + "number": 1073, + "title": "Use proper logger for backend API to make it configurable", + "href": "https://github.com/orgs/langfuse/discussions/1073", + "created_at": "2024-02-05T09:19:01Z", + "upvotes": 3, + "comment_count": 5, + "resolved": false, "labels": [ - "feat-datasets" + "✅ Done", + "self-hosting" ], "author": { - "login": "norton120", - "html_url": "https://github.com/norton120" + "login": "code-haven", + "html_url": "https://github.com/code-haven" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1417, - "title": "Running Langfuse in Kubernetes", - "href": "https://github.com/orgs/langfuse/discussions/1417", - "created_at": "2024-03-14T19:59:42Z", - "upvotes": 1, - "comment_count": 2, - "resolved": true, + "number": 1049, + "title": "API Examples for Generations", + "href": "https://github.com/orgs/langfuse/discussions/1049", + "created_at": "2024-02-02T07:02:08Z", + "upvotes": 2, + "comment_count": 1, + "resolved": false, "labels": [], "author": { - "login": "mikeon", - "html_url": "https://github.com/mikeon" + "login": "Manouchehri", + "html_url": "https://github.com/Manouchehri" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1382, - "title": "Match LLMs from AWS Bedrock to added model definition", - "href": "https://github.com/orgs/langfuse/discussions/1382", - "created_at": "2024-03-09T08:28:53Z", + "number": 1048, + "title": "Allow sharing traces as a self contained HTML file via presigned S3 URL", + "href": "https://github.com/orgs/langfuse/discussions/1048", + "created_at": "2024-02-02T06:05:47Z", "upvotes": 2, "comment_count": 0, "resolved": false, "labels": [], "author": { - "login": "DominikNeumaier", - "html_url": "https://github.com/DominikNeumaier" + "login": "Manouchehri", + "html_url": "https://github.com/Manouchehri" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1380, - "title": "Langfuse flush() taking a long time and hangs", - "href": "https://github.com/orgs/langfuse/discussions/1380", - "created_at": "2024-03-09T00:09:55Z", - "upvotes": 1, - "comment_count": 2, - "resolved": true, - "labels": [], - "author": { - "login": "venu-shapley", - "html_url": "https://github.com/venu-shapley" - }, - "category": "Support" - }, - { - "number": 1373, - "title": "How to fix error when running docs app demo chat", - "href": "https://github.com/orgs/langfuse/discussions/1373", - "created_at": "2024-03-08T00:08:46Z", - "upvotes": 1, - "comment_count": 1, - "resolved": true, - "labels": [], + "number": 1043, + "title": "Ability to query entities from SDK", + "href": "https://github.com/orgs/langfuse/discussions/1043", + "created_at": "2024-02-01T23:51:00Z", + "upvotes": 4, + "comment_count": 2, + "resolved": false, + "labels": [ + "feat-api" + ], "author": { - "login": "luandro", - "html_url": "https://github.com/luandro" + "login": "Pranov1", + "html_url": "https://github.com/Pranov1" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1357, - "title": "Run items not appearing when linking to a trace and not a span or a generation", - "href": "https://github.com/orgs/langfuse/discussions/1357", - "created_at": "2024-03-07T10:17:34Z", - "upvotes": 1, - "comment_count": 2, - "resolved": true, - "labels": [ - "feat-datasets" - ], + "number": 1033, + "title": "Subscribe to Langfuse Events via Webhooks", + "href": "https://github.com/orgs/langfuse/discussions/1033", + "created_at": "2024-02-01T18:59:56Z", + "upvotes": 34, + "comment_count": 6, + "resolved": false, + "labels": [], "author": { - "login": "ladislasdellinger", - "html_url": "https://github.com/ladislasdellinger" + "login": "marcklingen", + "html_url": "https://github.com/marcklingen" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1353, - "title": "How do I add custom LLM APIs to the Langfuse UI?", - "href": "https://github.com/orgs/langfuse/discussions/1353", - "created_at": "2024-03-07T06:33:23Z", - "upvotes": 0, + "number": 1032, + "title": "Periodic reports (email or slack)", + "href": "https://github.com/orgs/langfuse/discussions/1032", + "created_at": "2024-02-01T18:57:42Z", + "upvotes": 12, "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "yudhiesh", - "html_url": "https://github.com/yudhiesh" + "login": "marcklingen", + "html_url": "https://github.com/marcklingen" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1336, - "title": "Applying database migrations failed. This is mostly caused by the database being unavailable.", - "href": "https://github.com/orgs/langfuse/discussions/1336", - "created_at": "2024-03-06T09:10:19Z", - "upvotes": 1, + "number": 1021, + "title": "Add `Embedding` observation type", + "href": "https://github.com/orgs/langfuse/discussions/1021", + "created_at": "2024-02-01T03:15:17Z", + "upvotes": 55, "comment_count": 2, "resolved": false, "labels": [], "author": { - "login": "everyfin-in", - "html_url": "https://github.com/everyfin-in" + "login": "marcklingen", + "html_url": "https://github.com/marcklingen" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1335, - "title": "Openai and null traces for input/output/metadata", - "href": "https://github.com/orgs/langfuse/discussions/1335", - "created_at": "2024-03-06T02:02:46Z", - "upvotes": 2, + "number": 1020, + "title": "Leveraging Azure OpenAI Diagnostic Settings?", + "href": "https://github.com/orgs/langfuse/discussions/1020", + "created_at": "2024-02-01T02:58:54Z", + "upvotes": 1, "comment_count": 0, "resolved": false, - "labels": [], + "labels": [ + "integration-openai", + "integration-litellm" + ], "author": { - "login": "aiakubovich", - "html_url": "https://github.com/aiakubovich" + "login": "Manouchehri", + "html_url": "https://github.com/Manouchehri" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1328, - "title": "Incompatibility between openllmetry and langfuse OpenAI wrapper", - "href": "https://github.com/orgs/langfuse/discussions/1328", - "created_at": "2024-03-05T17:03:34Z", - "upvotes": 1, - "comment_count": 1, + "number": 1011, + "title": "Configurable dashboards", + "href": "https://github.com/orgs/langfuse/discussions/1011", + "created_at": "2024-01-31T13:40:59Z", + "upvotes": 17, + "comment_count": 2, "resolved": false, - "labels": [], + "labels": [ + "ui", + "feat-dashboard" + ], "author": { - "login": "pamelafox", - "html_url": "https://github.com/pamelafox" + "login": "marcklingen", + "html_url": "https://github.com/marcklingen" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1326, - "title": "Does Langfuse integrate with LiteLLM Proxy Server?", - "href": "https://github.com/orgs/langfuse/discussions/1326", - "created_at": "2024-03-05T15:25:37Z", - "upvotes": 1, + "number": 1010, + "title": "Add new integration: LLM Proxy", + "href": "https://github.com/orgs/langfuse/discussions/1010", + "created_at": "2024-01-31T12:40:35Z", + "upvotes": 2, "comment_count": 1, - "resolved": true, - "labels": [], + "resolved": false, + "labels": [ + "integrations" + ], "author": { - "login": "alphanome", - "html_url": "https://github.com/alphanome" + "login": "marcklingen", + "html_url": "https://github.com/marcklingen" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1325, - "title": "Do you need a helm chart of langfuse?", - "href": "https://github.com/orgs/langfuse/discussions/1325", - "created_at": "2024-03-05T15:02:42Z", - "upvotes": 1, - "comment_count": 1, + "number": 1009, + "title": "Decorator-based integration with Langfuse", + "href": "https://github.com/orgs/langfuse/discussions/1009", + "created_at": "2024-01-31T12:19:26Z", + "upvotes": 7, + "comment_count": 3, "resolved": false, - "labels": [], + "labels": [ + "sdk-python", + "integrations", + "✅ Done", + "integration-python-decorator" + ], "author": { - "login": "artemus717", - "html_url": "https://github.com/artemus717" + "login": "marcklingen", + "html_url": "https://github.com/marcklingen" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1323, - "title": "When referencing the local langfuse in the langserve code, an error occurs:“ImportError: cannot import name 'ChatDeepInfra' from 'langchain_community.chat_models...”", - "href": "https://github.com/orgs/langfuse/discussions/1323", - "created_at": "2024-03-05T13:03:49Z", + "number": 1004, + "title": "should work with OpenAI-compatible self-hosted endpoints", + "href": "https://github.com/orgs/langfuse/discussions/1004", + "created_at": "2024-01-31T09:04:28Z", "upvotes": 2, "comment_count": 2, - "resolved": true, - "labels": [], + "resolved": false, + "labels": [ + "sdk-python", + "integration-openai" + ], "author": { - "login": "zhenlong-zhu", - "html_url": "https://github.com/zhenlong-zhu" + "login": "7flash", + "html_url": "https://github.com/7flash" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1225, - "title": "Can Langfuse be used to record the records of ConversationChain in LangChain?", - "href": "https://github.com/orgs/langfuse/discussions/1225", - "created_at": "2024-02-22T09:24:34Z", - "upvotes": 1, + "number": 999, + "title": "Users should be able to pass metadata and tags via `overrideConfig` when using the Flowise integration", + "href": "https://github.com/orgs/langfuse/discussions/999", + "created_at": "2024-01-30T19:52:41Z", + "upvotes": 2, "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [ - "integration-langchain" + "sdk-js", + "integration-flowise", + "✅ Done" ], "author": { - "login": "lyzltysgithub", - "html_url": "https://github.com/lyzltysgithub" + "login": "giorgosera", + "html_url": "https://github.com/giorgosera" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1193, - "title": "What is the shadow database needed for?", - "href": "https://github.com/orgs/langfuse/discussions/1193", - "created_at": "2024-02-17T08:23:33Z", + "number": 991, + "title": "Inferring cost of trace from metadata field if optionally provided", + "href": "https://github.com/orgs/langfuse/discussions/991", + "created_at": "2024-01-30T07:38:56Z", "upvotes": 1, "comment_count": 2, - "resolved": true, + "resolved": false, "labels": [], "author": { - "login": "Stadly", - "html_url": "https://github.com/Stadly" + "login": "sumba101", + "html_url": "https://github.com/sumba101" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1184, - "title": "Unable to set session id or other CallbackHandler parameters when passing trace client in langchain sdk", - "href": "https://github.com/orgs/langfuse/discussions/1184", - "created_at": "2024-02-16T08:01:51Z", - "upvotes": 1, - "comment_count": 1, - "resolved": true, + "number": 990, + "title": "filtering sessions with metadata", + "href": "https://github.com/orgs/langfuse/discussions/990", + "created_at": "2024-01-30T06:21:42Z", + "upvotes": 7, + "comment_count": 2, + "resolved": false, "labels": [ - "integration-langchain" + "ui", + "feat-sessions", + "feat-metadata" ], "author": { - "login": "sasidevtool", - "html_url": "https://github.com/sasidevtool" + "login": "litagent", + "html_url": "https://github.com/litagent" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1186, - "title": "How to set tags when using the Langchain Callback handler", - "href": "https://github.com/orgs/langfuse/discussions/1186", - "created_at": "2024-02-16T05:47:31Z", - "upvotes": 2, + "number": 989, + "title": "Enable Collaboration Platforms for Project Members", + "href": "https://github.com/orgs/langfuse/discussions/989", + "created_at": "2024-01-30T04:00:26Z", + "upvotes": 1, + "comment_count": 1, + "resolved": false, + "labels": [], + "author": { + "login": "khareyash05", + "html_url": "https://github.com/khareyash05" + }, + "category": "Ideas" + }, + { + "number": 982, + "title": "Supporting OpenAI Vision", + "href": "https://github.com/orgs/langfuse/discussions/982", + "created_at": "2024-01-29T19:06:44Z", + "upvotes": 7, "comment_count": 2, - "resolved": true, + "resolved": false, "labels": [ - "sdk-python", - "integration-langchain", - "feat-tags" + "integration-openai", + "✅ Done", + "feat-multimodal" ], "author": { - "login": "reza-mohideen", - "html_url": "https://github.com/reza-mohideen" + "login": "pj747", + "html_url": "https://github.com/pj747" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1179, - "title": "Ollama token counts", - "href": "https://github.com/orgs/langfuse/discussions/1179", - "created_at": "2024-02-15T23:38:39Z", - "upvotes": 2, - "comment_count": 2, - "resolved": true, + "number": 980, + "title": "Comments on objects across the Langfuse UI", + "href": "https://github.com/orgs/langfuse/discussions/980", + "created_at": "2024-01-29T18:21:03Z", + "upvotes": 3, + "comment_count": 3, + "resolved": false, "labels": [ - "feat-cost-tracking" + "ui", + "✅ Done" ], "author": { - "login": "aiseei", - "html_url": "https://github.com/aiseei" + "login": "marcklingen", + "html_url": "https://github.com/marcklingen" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1310, - "title": "Trace of custom classes gives nondescriptive info", - "href": "https://github.com/orgs/langfuse/discussions/1310", - "created_at": "2024-02-06T14:13:26Z", - "upvotes": 1, - "comment_count": 0, + "number": 976, + "title": "Support alternative databases next to Postgres, e.g. MySQL", + "href": "https://github.com/orgs/langfuse/discussions/976", + "created_at": "2024-01-28T21:44:11Z", + "upvotes": 3, + "comment_count": 6, "resolved": false, - "labels": [], + "labels": [ + "self-hosting" + ], "author": { - "login": "mjungiewicz-exadel", - "html_url": "https://github.com/mjungiewicz-exadel" + "login": "zoltan-fedor", + "html_url": "https://github.com/zoltan-fedor" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1091, - "title": "How to pass span id to OpenAI `chat.completions.create`", - "href": "https://github.com/orgs/langfuse/discussions/1091", - "created_at": "2024-02-06T09:33:30Z", - "upvotes": 1, - "comment_count": 1, - "resolved": true, + "number": 969, + "title": "Flowise - OpenAI Assistant cost tracking", + "href": "https://github.com/orgs/langfuse/discussions/969", + "created_at": "2024-01-26T18:04:07Z", + "upvotes": 2, + "comment_count": 0, + "resolved": false, "labels": [ - "integration-openai" + "integration-flowise" ], "author": { - "login": "techytushar", - "html_url": "https://github.com/techytushar" + "login": "jozsef-gereby", + "html_url": "https://github.com/jozsef-gereby" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1081, - "title": "Sessions vs Traces?", - "href": "https://github.com/orgs/langfuse/discussions/1081", - "created_at": "2024-02-05T21:06:03Z", - "upvotes": 1, - "comment_count": 2, - "resolved": true, + "number": 964, + "title": "Latency metrics - Time to first token, Tokens per second", + "href": "https://github.com/orgs/langfuse/discussions/964", + "created_at": "2024-01-26T15:37:01Z", + "upvotes": 8, + "comment_count": 3, + "resolved": false, "labels": [ - "feat-sessions" + "✅ Done" ], "author": { - "login": "Manouchehri", - "html_url": "https://github.com/Manouchehri" + "login": "nikcaryo-super", + "html_url": "https://github.com/nikcaryo-super" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1071, - "title": "feat: support for custom httpx.client", - "href": "https://github.com/orgs/langfuse/discussions/1071", - "created_at": "2024-02-05T06:35:23Z", - "upvotes": 1, + "number": 958, + "title": "LLM calls captured via Langchain integration should match what’s sent to the LLM", + "href": "https://github.com/orgs/langfuse/discussions/958", + "created_at": "2024-01-25T16:45:38Z", + "upvotes": 3, "comment_count": 2, "resolved": false, "labels": [], "author": { - "login": "brandonkzw", - "html_url": "https://github.com/brandonkzw" + "login": "benm5678", + "html_url": "https://github.com/benm5678" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1070, - "title": "Where to log request and response headers of generations? (litellm)", - "href": "https://github.com/orgs/langfuse/discussions/1070", - "created_at": "2024-02-05T02:40:38Z", + "number": 953, + "title": "Improve integration with flowise", + "href": "https://github.com/orgs/langfuse/discussions/953", + "created_at": "2024-01-24T19:57:06Z", "upvotes": 1, "comment_count": 2, - "resolved": true, + "resolved": false, "labels": [ - "integration-litellm" + "sdk-js", + "integration-flowise" ], "author": { - "login": "Manouchehri", - "html_url": "https://github.com/Manouchehri" + "login": "tsiougkosn", + "html_url": "https://github.com/tsiougkosn" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1055, - "title": "Best way to flush LF in Next.js?", - "href": "https://github.com/orgs/langfuse/discussions/1055", - "created_at": "2024-02-02T17:50:58Z", - "upvotes": 1, - "comment_count": 1, - "resolved": true, + "number": 941, + "title": "Dark mode", + "href": "https://github.com/orgs/langfuse/discussions/941", + "created_at": "2024-01-24T05:52:30Z", + "upvotes": 9, + "comment_count": 5, + "resolved": false, + "labels": [ + "✅ Done" + ], + "author": { + "login": "archywillhe", + "html_url": "https://github.com/archywillhe" + }, + "category": "Ideas" + }, + { + "number": 939, + "title": "Full-text search on trace/observation/generation input/output", + "href": "https://github.com/orgs/langfuse/discussions/939", + "created_at": "2024-01-23T23:47:11Z", + "upvotes": 27, + "comment_count": 9, + "resolved": false, + "labels": [ + "ui" + ], + "author": { + "login": "marcklingen", + "html_url": "https://github.com/marcklingen" + }, + "category": "Ideas" + }, + { + "number": 917, + "title": "Download dashboard details", + "href": "https://github.com/orgs/langfuse/discussions/917", + "created_at": "2024-01-21T16:35:24Z", + "upvotes": 8, + "comment_count": 3, + "resolved": false, "labels": [], "author": { - "login": "gullerg", - "html_url": "https://github.com/gullerg" + "login": "kerenaba", + "html_url": "https://github.com/kerenaba" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1054, - "title": "Sentry for self-hosted?", - "href": "https://github.com/orgs/langfuse/discussions/1054", - "created_at": "2024-02-02T17:21:06Z", - "upvotes": 1, + "number": 902, + "title": "Support secret in docker compose", + "href": "https://github.com/orgs/langfuse/discussions/902", + "created_at": "2024-01-17T14:03:26Z", + "upvotes": 2, "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [], "author": { - "login": "Manouchehri", - "html_url": "https://github.com/Manouchehri" + "login": "shuther", + "html_url": "https://github.com/shuther" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1051, - "title": "How can I get the trace_id in langfuse.openai.OpenAI?", - "href": "https://github.com/orgs/langfuse/discussions/1051", - "created_at": "2024-02-02T09:39:55Z", + "number": 896, + "title": "generation usage should accept a list of dict for async generation", + "href": "https://github.com/orgs/langfuse/discussions/896", + "created_at": "2024-01-17T05:59:24Z", "upvotes": 1, "comment_count": 1, - "resolved": true, - "labels": [ - "integration-openai" - ], + "resolved": false, + "labels": [], "author": { - "login": "yangge2333", - "html_url": "https://github.com/yangge2333" + "login": "dove-young", + "html_url": "https://github.com/dove-young" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1044, - "title": "AWS SES IAM Policy", - "href": "https://github.com/orgs/langfuse/discussions/1044", - "created_at": "2024-02-02T01:58:26Z", - "upvotes": 2, - "comment_count": 1, + "number": 874, + "title": "Improve exception handling and type safety in python SDK", + "href": "https://github.com/orgs/langfuse/discussions/874", + "created_at": "2024-01-12T17:01:58Z", + "upvotes": 5, + "comment_count": 3, "resolved": false, "labels": [], "author": { - "login": "Manouchehri", - "html_url": "https://github.com/Manouchehri" + "login": "hubert-springbok", + "html_url": "https://github.com/hubert-springbok" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1019, - "title": "WAF Rules for self-hosted", - "href": "https://github.com/orgs/langfuse/discussions/1019", - "created_at": "2024-02-01T01:41:51Z", - "upvotes": 3, + "number": 854, + "title": "Feature: API should give User-Tokens", + "href": "https://github.com/orgs/langfuse/discussions/854", + "created_at": "2024-01-09T14:26:47Z", + "upvotes": 6, "comment_count": 0, "resolved": false, "labels": [], "author": { - "login": "Manouchehri", - "html_url": "https://github.com/Manouchehri" + "login": "droggta", + "html_url": "https://github.com/droggta" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1016, - "title": "Scaling / Parallelism / Concurrency safe?", - "href": "https://github.com/orgs/langfuse/discussions/1016", - "created_at": "2024-01-31T22:33:36Z", - "upvotes": 1, + "number": 852, + "title": "Add prompt.to_langchain() to get a Langchain Prompt Template", + "href": "https://github.com/orgs/langfuse/discussions/852", + "created_at": "2024-01-09T13:20:55Z", + "upvotes": 7, + "comment_count": 2, + "resolved": false, + "labels": [ + "integrations", + "feat-prompt-management", + "✅ Done" + ], + "author": { + "login": "marcklingen", + "html_url": "https://github.com/marcklingen" + }, + "category": "Ideas" + }, + { + "number": 853, + "title": "feat(ui): Dashboard filter and highlight", + "href": "https://github.com/orgs/langfuse/discussions/853", + "created_at": "2024-01-09T05:37:34Z", + "upvotes": 2, "comment_count": 1, - "resolved": true, - "labels": [], + "resolved": false, + "labels": [ + "ui", + "Dashboard" + ], "author": { - "login": "Manouchehri", - "html_url": "https://github.com/Manouchehri" + "login": "lkNGAT", + "html_url": "https://github.com/lkNGAT" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1013, - "title": "Building Docker container without database connection?", - "href": "https://github.com/orgs/langfuse/discussions/1013", - "created_at": "2024-01-31T19:32:47Z", - "upvotes": 1, + "number": 844, + "title": "Integration: Node.js/Typescript OpenAI SDK", + "href": "https://github.com/orgs/langfuse/discussions/844", + "created_at": "2024-01-08T22:39:27Z", + "upvotes": 8, "comment_count": 2, - "resolved": true, - "labels": [], + "resolved": false, + "labels": [ + "sdk-js", + "integrations", + "✅ Done" + ], "author": { - "login": "Manouchehri", - "html_url": "https://github.com/Manouchehri" + "login": "marcklingen", + "html_url": "https://github.com/marcklingen" }, - "category": "Support" + "category": "Ideas" }, { - "number": 973, - "title": "If we use cloud services, when we migrate to our own host later, do all the above data support export?", - "href": "https://github.com/orgs/langfuse/discussions/973", - "created_at": "2024-01-27T09:55:41Z", + "number": 828, + "title": "LlamaIndex integration (Python)", + "href": "https://github.com/orgs/langfuse/discussions/828", + "created_at": "2024-01-06T18:21:02Z", + "upvotes": 20, + "comment_count": 7, + "resolved": false, + "labels": [ + "sdk-python", + "integrations", + "✅ Done", + "integraton-llamaindex" + ], + "author": { + "login": "marcklingen", + "html_url": "https://github.com/marcklingen" + }, + "category": "Ideas" + }, + { + "number": 1007, + "title": "Admin API: projects, api keys, user management", + "href": "https://github.com/orgs/langfuse/discussions/1007", + "created_at": "2023-12-21T13:22:28Z", + "upvotes": 23, + "comment_count": 13, + "resolved": false, + "labels": [ + "feat-api", + "self-hosting" + ], + "author": { + "login": "maxxte", + "html_url": "https://github.com/maxxte" + }, + "category": "Ideas" + }, + { + "number": 1006, + "title": "Versioning of docs", + "href": "https://github.com/orgs/langfuse/discussions/1006", + "created_at": "2023-12-18T01:27:09Z", "upvotes": 1, "comment_count": 1, - "resolved": true, - "labels": [], + "resolved": false, + "labels": [ + "docs" + ], "author": { - "login": "wsdo", - "html_url": "https://github.com/wsdo" + "login": "flxwu", + "html_url": "https://github.com/flxwu" }, - "category": "Support" + "category": "Ideas" }, { - "number": 866, - "title": "Cannot see Add to Dataset button in the UI", - "href": "https://github.com/orgs/langfuse/discussions/866", - "created_at": "2024-01-11T09:12:16Z", - "upvotes": 1, - "comment_count": 2, - "resolved": true, + "number": 1008, + "title": "Datasets: Diff of output and expected output", + "href": "https://github.com/orgs/langfuse/discussions/1008", + "created_at": "2023-11-29T00:35:13Z", + "upvotes": 6, + "comment_count": 3, + "resolved": false, "labels": [ + "ui", "feat-datasets" ], "author": { - "login": "SinghCoder", - "html_url": "https://github.com/SinghCoder" + "login": "marcklingen", + "html_url": "https://github.com/marcklingen" }, - "category": "Support" + "category": "Ideas" + }, + { + "number": 1066, + "title": "feat: Publish arm64 compatible docker images", + "href": "https://github.com/orgs/langfuse/discussions/1066", + "created_at": "2023-11-08T16:06:08Z", + "upvotes": 1, + "comment_count": 10, + "resolved": false, + "labels": [ + "✅ Done", + "self-hosting" + ], + "author": { + "login": "code-haven", + "html_url": "https://github.com/code-haven" + }, + "category": "Ideas" + }, + { + "number": 1065, + "title": "OpenAI SDK wrapper for JS", + "href": "https://github.com/orgs/langfuse/discussions/1065", + "created_at": "2023-09-15T10:55:35Z", + "upvotes": 1, + "comment_count": 3, + "resolved": false, + "labels": [ + "sdk-js", + "integrations", + "integration-openai", + "✅ Done" + ], + "author": { + "login": "marcklingen", + "html_url": "https://github.com/marcklingen" + }, + "category": "Ideas" } ] }, From d27b2d39ce193946af7d5347308ae1f11a99d51b Mon Sep 17 00:00:00 2001 From: GitHub Action Date: Tue, 26 Nov 2024 06:05:55 +0000 Subject: [PATCH 05/21] chore: update langfuse_github_discussions.json --- src/langfuse_github_discussions.json | 23 +++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/src/langfuse_github_discussions.json b/src/langfuse_github_discussions.json index b4ea5b43a..6d9a7e957 100644 --- a/src/langfuse_github_discussions.json +++ b/src/langfuse_github_discussions.json @@ -1,9 +1,24 @@ { - "updated_at": "2024-11-26T00:18:07.180056+00:00", + "updated_at": "2024-11-26T06:05:54.837115+00:00", "categories": [ { "category": "Support", "discussions": [ + { + "number": 4429, + "title": "Is there a way to rotate traces and generations?", + "href": "https://github.com/orgs/langfuse/discussions/4429", + "created_at": "2024-11-26T03:17:35Z", + "upvotes": 1, + "comment_count": 0, + "resolved": false, + "labels": [], + "author": { + "login": "woung717", + "html_url": "https://github.com/woung717" + }, + "category": "Support" + }, { "number": 4418, "title": "Cannot use prompt experiments \"No dataset item contains any variables\"", @@ -42,7 +57,7 @@ "href": "https://github.com/orgs/langfuse/discussions/4413", "created_at": "2024-11-25T15:30:23Z", "upvotes": 1, - "comment_count": 2, + "comment_count": 3, "resolved": false, "labels": [ "feat-auth", @@ -5835,7 +5850,7 @@ "title": "Prompt Management: Metadata for Prompt Versions", "href": "https://github.com/orgs/langfuse/discussions/4304", "created_at": "2024-11-19T08:39:27Z", - "upvotes": 6, + "upvotes": 7, "comment_count": 2, "resolved": false, "labels": [ @@ -10278,7 +10293,7 @@ "title": "Openai: Support IO capture when streaming function / tool call", "href": "https://github.com/orgs/langfuse/discussions/2055", "created_at": "2024-05-01T15:25:15Z", - "upvotes": 15, + "upvotes": 16, "comment_count": 7, "resolved": false, "labels": [ From b5f2ad53d8bb628dcc8f63f6cf37e1c6704b4a04 Mon Sep 17 00:00:00 2001 From: Marc Klingen Date: Tue, 26 Nov 2024 10:37:02 +0100 Subject: [PATCH 06/21] feat: add gh discussion to prompt experiments --- pages/docs/datasets/prompt-experiments.mdx | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/pages/docs/datasets/prompt-experiments.mdx b/pages/docs/datasets/prompt-experiments.mdx index 2dc540478..05d125bd2 100644 --- a/pages/docs/datasets/prompt-experiments.mdx +++ b/pages/docs/datasets/prompt-experiments.mdx @@ -144,3 +144,9 @@ When viewing the prompt details or a dataset, use the following button to run a Select the prompt version, dataset, and model configuration that you want to test. Before running the experiment, you will see whether the prompt variables match the dataset variables. + +## GitHub Discussions + +import { GhDiscussionsPreview } from "@/components/gh-discussions/GhDiscussionsPreview"; + + From 021c61cee5763e63e11fafe34bab72c301851239 Mon Sep 17 00:00:00 2001 From: Hassieb Pakzad <68423100+hassiebp@users.noreply.github.com> Date: Tue, 26 Nov 2024 10:38:06 +0100 Subject: [PATCH 07/21] docs: update media self-host env vars --- pages/docs/deployment/self-host.mdx | 50 ++++++++++++++--------------- 1 file changed, 25 insertions(+), 25 deletions(-) diff --git a/pages/docs/deployment/self-host.mdx b/pages/docs/deployment/self-host.mdx index 3a5ff36b4..58eb32843 100644 --- a/pages/docs/deployment/self-host.mdx +++ b/pages/docs/deployment/self-host.mdx @@ -76,31 +76,31 @@ For production environments, we suggest using a configuration of 2 CPU cores and Langfuse can be configured using environment variables ([.env.prod.example](https://github.com/langfuse/langfuse/blob/main/.env.prod.example)). Some are mandatory as defined in the table below: -| Variable | Required / Default | Description | -| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `DATABASE_URL` | Required | Connection string of your Postgres database. Instead of `DATABASE_URL`, you can also use `DATABASE_HOST`, `DATABASE_USERNAME`, `DATABASE_PASSWORD` and `DATABASE_NAME`. | -| `DIRECT_URL` | `DATABASE_URL` | Connection string of your Postgres database used for database migrations. Use this if you want to use a different user for migrations or use connection pooling on `DATABASE_URL`. **For large deployments**, configure the database user with long timeouts as migrations might need a while to complete. | -| `SHADOW_DATABASE_URL` | | If your database user lacks the `CREATE DATABASE` permission, you must create a shadow database and configure the "SHADOW_DATABASE_URL". This is often the case if you use a Cloud database. Refer to the [Prisma docs](https://www.prisma.io/docs/orm/prisma-migrate/understanding-prisma-migrate/shadow-database#cloud-hosted-shadow-databases-must-be-created-manually) for detailed instructions. | -| `NEXTAUTH_URL` | Required | URL of your deployment, e.g. `https://yourdomain.com` or `http://localhost:3000`. Required for successful authentication via OAUTH. | -| `NEXTAUTH_SECRET` | Required | Used to validate login session cookies, generate secret with at least 256 entropy using `openssl rand -base64 32`. | -| `SALT` | Required | Used to salt hashed API keys, generate secret with at least 256 entropy using `openssl rand -base64 32`. | -| `ENCRYPTION_KEY` | Required | Used to encrypt sensitive data. Must be 256 bits, 64 string characters in hex format, generate via: `openssl rand -hex 32`. | -| `LANGFUSE_CSP_ENFORCE_HTTPS` | `false` | Set to `true` to set CSP headers to only allow HTTPS connections. | -| `PORT` | `3000` | Port the server listens on. | -| `HOSTNAME` | `localhost` | In some environments it needs to be set to `0.0.0.0` to be accessible from outside the container (e.g. Google Cloud Run). | -| `LANGFUSE_DEFAULT_ORG_ID` | | Configure optional default organization for new users. When users create an account they will be automatically added to this organization. | -| `LANGFUSE_DEFAULT_ORG_ROLE` | `VIEWER` | Role of the user in the default organization (if set). Possible values are `OWNER`, `ADMIN`, `MEMBER`, `VIEWER`. See [roles](/docs/rbac) for details. | -| `LANGFUSE_DEFAULT_PROJECT_ID` | | Configure optional default project for new users. When users create an account they will be automatically added to this project. | -| `LANGFUSE_DEFAULT_PROJECT_ROLE` | `VIEWER` | Role of the user in the default project (if set). Possible values are `OWNER`, `ADMIN`, `MEMBER`, `VIEWER`. See [roles](/docs/rbac) for details. | -| `SMTP_CONNECTION_URL` | | Configure optional SMTP server connection for transactional email. Connection URL is passed to Nodemailer ([docs](https://nodemailer.com/smtp)). | -| `EMAIL_FROM_ADDRESS` | | Configure from address for transactional email. Required if `SMTP_CONNECTION_URL` is set. | -| `S3_ENDPOINT`
`S3_ACCESS_KEY_ID`
`S3_SECRET_ACCESS_KEY`
`S3_BUCKET_NAME`
`S3_REGION` | | Optional S3 configuration for enabling large exports from the UI. `S3_BUCKET_NAME` is required to enable exports. The other variables are optional and will use the default provider credential chain if not specified. | -| `LANGFUSE_S3_MEDIA_UPLOAD_ENABLED`
`LANGFUSE_S3_MEDIA_UPLOAD_BUCKET`
`LANGFUSE_S3_MEDIA_UPLOAD_REGION`
`LANGFUSE_S3_MEDIA_UPLOAD_ACCESS_KEY_ID`
`LANGFUSE_S3_MEDIA_UPLOAD_SECRET_ACCESS_KEY`
`LANGFUSE_S3_MEDIA_UPLOAD_ENDPOINT`
`LANGFUSE_S3_MEDIA_UPLOAD_FORCE_PATH_STYLE`
`LANGFUSE_S3_MEDIA_UPLOAD_PREFIX` | `true`
`langfuse`
`us-east-1`
`minio`
`miniosecret`
`http://minio:9000`
`true`
`media/` | S3 configuration for enabling [multi-modal attachments](/docs/tracing-features/multi-modality). All variables are optional and will use the default values shown if not specified. Set `LANGFUSE_S3_MEDIA_UPLOAD_ENABLED=false` to disable multi-modal attachments. | -| `DB_EXPORT_PAGE_SIZE` | `1000` | Optional page size for streaming exports to S3 to avoid memory issues. The page size can be adjusted if needed to optimize performance. | -| `LANGFUSE_AUTO_POSTGRES_MIGRATION_DISABLED` | `false` | Set to `true` to disable automatic database migrations on docker startup. | -| `LANGFUSE_LOG_LEVEL` | `info` | Set the log level for the application. Possible values are `trace`, `debug`, `info`, `warn`, `error`, `fatal`. | -| `LANGFUSE_LOG_FORMAT` | `text` | Set the log format for the application. Possible values are `text`, `json`. | -| `NEXT_PUBLIC_BASE_PATH` | | Set the base path for the application. This is useful if you want to deploy Langfuse on a subpath, especially when integrating Langfuse into existing infrastructure. Refer to the [section](#custom-base-path) below for details. | +| Variable | Required / Default | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | --------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `DATABASE_URL` | Required | Connection string of your Postgres database. Instead of `DATABASE_URL`, you can also use `DATABASE_HOST`, `DATABASE_USERNAME`, `DATABASE_PASSWORD` and `DATABASE_NAME`. | +| `DIRECT_URL` | `DATABASE_URL` | Connection string of your Postgres database used for database migrations. Use this if you want to use a different user for migrations or use connection pooling on `DATABASE_URL`. **For large deployments**, configure the database user with long timeouts as migrations might need a while to complete. | +| `SHADOW_DATABASE_URL` | | If your database user lacks the `CREATE DATABASE` permission, you must create a shadow database and configure the "SHADOW_DATABASE_URL". This is often the case if you use a Cloud database. Refer to the [Prisma docs](https://www.prisma.io/docs/orm/prisma-migrate/understanding-prisma-migrate/shadow-database#cloud-hosted-shadow-databases-must-be-created-manually) for detailed instructions. | +| `NEXTAUTH_URL` | Required | URL of your deployment, e.g. `https://yourdomain.com` or `http://localhost:3000`. Required for successful authentication via OAUTH. | +| `NEXTAUTH_SECRET` | Required | Used to validate login session cookies, generate secret with at least 256 entropy using `openssl rand -base64 32`. | +| `SALT` | Required | Used to salt hashed API keys, generate secret with at least 256 entropy using `openssl rand -base64 32`. | +| `ENCRYPTION_KEY` | Required | Used to encrypt sensitive data. Must be 256 bits, 64 string characters in hex format, generate via: `openssl rand -hex 32`. | +| `LANGFUSE_CSP_ENFORCE_HTTPS` | `false` | Set to `true` to set CSP headers to only allow HTTPS connections. | +| `PORT` | `3000` | Port the server listens on. | +| `HOSTNAME` | `localhost` | In some environments it needs to be set to `0.0.0.0` to be accessible from outside the container (e.g. Google Cloud Run). | +| `LANGFUSE_DEFAULT_ORG_ID` | | Configure optional default organization for new users. When users create an account they will be automatically added to this organization. | +| `LANGFUSE_DEFAULT_ORG_ROLE` | `VIEWER` | Role of the user in the default organization (if set). Possible values are `OWNER`, `ADMIN`, `MEMBER`, `VIEWER`. See [roles](/docs/rbac) for details. | +| `LANGFUSE_DEFAULT_PROJECT_ID` | | Configure optional default project for new users. When users create an account they will be automatically added to this project. | +| `LANGFUSE_DEFAULT_PROJECT_ROLE` | `VIEWER` | Role of the user in the default project (if set). Possible values are `OWNER`, `ADMIN`, `MEMBER`, `VIEWER`. See [roles](/docs/rbac) for details. | +| `SMTP_CONNECTION_URL` | | Configure optional SMTP server connection for transactional email. Connection URL is passed to Nodemailer ([docs](https://nodemailer.com/smtp)). | +| `EMAIL_FROM_ADDRESS` | | Configure from address for transactional email. Required if `SMTP_CONNECTION_URL` is set. | +| `S3_ENDPOINT`
`S3_ACCESS_KEY_ID`
`S3_SECRET_ACCESS_KEY`
`S3_BUCKET_NAME`
`S3_REGION` | | Optional S3 configuration for enabling large exports from the UI. `S3_BUCKET_NAME` is required to enable exports. The other variables are optional and will use the default provider credential chain if not specified. | +| `LANGFUSE_S3_MEDIA_UPLOAD_ENABLED`
`LANGFUSE_S3_MEDIA_UPLOAD_BUCKET`
`LANGFUSE_S3_MEDIA_UPLOAD_REGION`
`LANGFUSE_S3_MEDIA_UPLOAD_ACCESS_KEY_ID`
`LANGFUSE_S3_MEDIA_UPLOAD_SECRET_ACCESS_KEY`
`LANGFUSE_S3_MEDIA_UPLOAD_ENDPOINT`
`LANGFUSE_S3_MEDIA_UPLOAD_FORCE_PATH_STYLE`
`LANGFUSE_S3_MEDIA_UPLOAD_PREFIX` | `false`
``
` `
` `
` `
` `
` `
` ` | S3 configuration for enabling [multi-modal attachments](/docs/tracing-features/multi-modality). All variables are optional and will use the default values shown if not specified. Set `LANGFUSE_S3_MEDIA_UPLOAD_ENABLED=true` to enable multi-modal attachments. | +| `DB_EXPORT_PAGE_SIZE` | `1000` | Optional page size for streaming exports to S3 to avoid memory issues. The page size can be adjusted if needed to optimize performance. | +| `LANGFUSE_AUTO_POSTGRES_MIGRATION_DISABLED` | `false` | Set to `true` to disable automatic database migrations on docker startup. | +| `LANGFUSE_LOG_LEVEL` | `info` | Set the log level for the application. Possible values are `trace`, `debug`, `info`, `warn`, `error`, `fatal`. | +| `LANGFUSE_LOG_FORMAT` | `text` | Set the log format for the application. Possible values are `text`, `json`. | +| `NEXT_PUBLIC_BASE_PATH` | | Set the base path for the application. This is useful if you want to deploy Langfuse on a subpath, especially when integrating Langfuse into existing infrastructure. Refer to the [section](#custom-base-path) below for details. | ### Authentication From 421ea8f7e480485998fa5380e99c19ac99a4e9d4 Mon Sep 17 00:00:00 2001 From: GitHub Action Date: Tue, 26 Nov 2024 12:07:19 +0000 Subject: [PATCH 08/21] chore: update langfuse_github_discussions.json --- src/langfuse_github_discussions.json | 15847 +++++++++++++------------ 1 file changed, 7932 insertions(+), 7915 deletions(-) diff --git a/src/langfuse_github_discussions.json b/src/langfuse_github_discussions.json index 6d9a7e957..f287b7faa 100644 --- a/src/langfuse_github_discussions.json +++ b/src/langfuse_github_discussions.json @@ -1,6504 +1,6566 @@ { - "updated_at": "2024-11-26T06:05:54.837115+00:00", + "updated_at": "2024-11-26T12:07:18.942518+00:00", "categories": [ { - "category": "Support", + "category": "Ideas", "discussions": [ { - "number": 4429, - "title": "Is there a way to rotate traces and generations?", - "href": "https://github.com/orgs/langfuse/discussions/4429", - "created_at": "2024-11-26T03:17:35Z", + "number": 4430, + "title": "Feature request: CRUD for Prompt API", + "href": "https://github.com/orgs/langfuse/discussions/4430", + "created_at": "2024-11-26T08:42:39Z", "upvotes": 1, "comment_count": 0, "resolved": false, "labels": [], "author": { - "login": "woung717", - "html_url": "https://github.com/woung717" + "login": "barseghyanartur", + "html_url": "https://github.com/barseghyanartur" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4418, - "title": "Cannot use prompt experiments \"No dataset item contains any variables\"", - "href": "https://github.com/orgs/langfuse/discussions/4418", - "created_at": "2024-11-25T20:32:59Z", + "number": 4414, + "title": "langfuse-python: simple static method listing prompt template var names", + "href": "https://github.com/orgs/langfuse/discussions/4414", + "created_at": "2024-11-25T16:28:05Z", "upvotes": 1, - "comment_count": 2, + "comment_count": 1, "resolved": false, - "labels": [], + "labels": [ + "feat-prompt-management" + ], "author": { - "login": "j10sanders", - "html_url": "https://github.com/j10sanders" + "login": "rhighs", + "html_url": "https://github.com/rhighs" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4417, - "title": "does token & cost counting take into consideration prompt caching, eg openai prompt caching?", - "href": "https://github.com/orgs/langfuse/discussions/4417", - "created_at": "2024-11-25T19:59:13Z", - "upvotes": 2, - "comment_count": 2, + "number": 4397, + "title": "n8n Integration", + "href": "https://github.com/orgs/langfuse/discussions/4397", + "created_at": "2024-11-24T09:43:01Z", + "upvotes": 1, + "comment_count": 0, "resolved": false, - "labels": [ - "feat-cost-tracking" - ], + "labels": [], "author": { - "login": "dwstevens", - "html_url": "https://github.com/dwstevens" + "login": "aibucketmail", + "html_url": "https://github.com/aibucketmail" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4413, - "title": "Help needed with CustomSSOProvider Configuration for GitHub Enterprise", - "href": "https://github.com/orgs/langfuse/discussions/4413", - "created_at": "2024-11-25T15:30:23Z", + "number": 4381, + "title": "Feature Request: Add Tagging Pipelines for Evaluation-Based Tagging", + "href": "https://github.com/orgs/langfuse/discussions/4381", + "created_at": "2024-11-22T03:44:17Z", "upvotes": 1, - "comment_count": 3, + "comment_count": 0, "resolved": false, - "labels": [ - "feat-auth", - "self-hosting" - ], + "labels": [], "author": { - "login": "jay0129", - "html_url": "https://github.com/jay0129" + "login": "wesleyearlstander", + "html_url": "https://github.com/wesleyearlstander" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4393, - "title": "Openai JS: Tracing for multiple iterations and tool calling", - "href": "https://github.com/orgs/langfuse/discussions/4393", - "created_at": "2024-11-23T06:57:40Z", + "number": 4380, + "title": "Adding types for evals in Langfuse", + "href": "https://github.com/orgs/langfuse/discussions/4380", + "created_at": "2024-11-22T03:35:26Z", "upvotes": 1, "comment_count": 1, - "resolved": true, - "labels": [ - "integration-openai" - ], + "resolved": false, + "labels": [], "author": { - "login": "uhhfeef", - "html_url": "https://github.com/uhhfeef" + "login": "wesleyearlstander", + "html_url": "https://github.com/wesleyearlstander" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4389, - "title": "Does Langfuse tracing work in Vercel edge functions?", - "href": "https://github.com/orgs/langfuse/discussions/4389", - "created_at": "2024-11-22T22:41:52Z", + "number": 4372, + "title": "LaTex Rendering", + "href": "https://github.com/orgs/langfuse/discussions/4372", + "created_at": "2024-11-21T22:06:07Z", "upvotes": 1, "comment_count": 0, "resolved": false, "labels": [], "author": { - "login": "holdenmatt", - "html_url": "https://github.com/holdenmatt" + "login": "wesleyearlstander", + "html_url": "https://github.com/wesleyearlstander" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4388, - "title": "How to completely discard image with new multi-modal system?", - "href": "https://github.com/orgs/langfuse/discussions/4388", - "created_at": "2024-11-22T18:56:07Z", + "number": 4353, + "title": "Datasets: Add selection of traces to a dataset", + "href": "https://github.com/orgs/langfuse/discussions/4353", + "created_at": "2024-11-21T08:56:15Z", "upvotes": 1, - "comment_count": 2, + "comment_count": 0, "resolved": false, - "labels": [], + "labels": [ + "feat-datasets" + ], "author": { - "login": "bioshazard", - "html_url": "https://github.com/bioshazard" + "login": "jannikmaierhoefer", + "html_url": "https://github.com/jannikmaierhoefer" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4374, - "title": "Error while migrating schema", - "href": "https://github.com/orgs/langfuse/discussions/4374", - "created_at": "2024-11-21T22:39:36Z", + "number": 4348, + "title": "Multi-user annotation capability in Score Configs", + "href": "https://github.com/orgs/langfuse/discussions/4348", + "created_at": "2024-11-20T19:16:38Z", "upvotes": 1, "comment_count": 2, - "resolved": true, - "labels": [], + "resolved": false, + "labels": [ + "feat-annotation" + ], "author": { - "login": "geek1s42", - "html_url": "https://github.com/geek1s42" + "login": "juanmleng", + "html_url": "https://github.com/juanmleng" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4373, - "title": "Silent failure when attempting adding scores to trace", - "href": "https://github.com/orgs/langfuse/discussions/4373", - "created_at": "2024-11-21T22:18:26Z", + "number": 4342, + "title": "Feature request: Lifecycle hooks in LangFuse", + "href": "https://github.com/orgs/langfuse/discussions/4342", + "created_at": "2024-11-20T14:23:44Z", "upvotes": 1, - "comment_count": 2, - "resolved": true, + "comment_count": 1, + "resolved": false, "labels": [], "author": { - "login": "bioshazard", - "html_url": "https://github.com/bioshazard" + "login": "barseghyanartur", + "html_url": "https://github.com/barseghyanartur" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4365, - "title": "Not able to see traces", - "href": "https://github.com/orgs/langfuse/discussions/4365", - "created_at": "2024-11-21T16:56:26Z", - "upvotes": 1, - "comment_count": 2, - "resolved": true, + "number": 4340, + "title": "RBAC: Restriction based on trace tags/metadata", + "href": "https://github.com/orgs/langfuse/discussions/4340", + "created_at": "2024-11-20T12:32:40Z", + "upvotes": 2, + "comment_count": 0, + "resolved": false, "labels": [], "author": { - "login": "uhhfeef", - "html_url": "https://github.com/uhhfeef" + "login": "jannikmaierhoefer", + "html_url": "https://github.com/jannikmaierhoefer" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4363, - "title": "Langchain with ChatVertexAI: Image/Audio Input Not Displayed in Dashboard with Multi-Modal Traces", - "href": "https://github.com/orgs/langfuse/discussions/4363", - "created_at": "2024-11-21T16:41:35Z", - "upvotes": 1, - "comment_count": 2, - "resolved": true, + "number": 4332, + "title": "Trace Table: Ability to sort table by score", + "href": "https://github.com/orgs/langfuse/discussions/4332", + "created_at": "2024-11-20T10:27:38Z", + "upvotes": 2, + "comment_count": 0, + "resolved": false, "labels": [], "author": { - "login": "pleomax0730", - "html_url": "https://github.com/pleomax0730" + "login": "jannikmaierhoefer", + "html_url": "https://github.com/jannikmaierhoefer" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4361, - "title": "Is downgrade available for self-hosted version?", - "href": "https://github.com/orgs/langfuse/discussions/4361", - "created_at": "2024-11-21T15:52:18Z", - "upvotes": 1, - "comment_count": 1, - "resolved": true, + "number": 4322, + "title": "Add the ability to remove tags from traces via the SDK/API", + "href": "https://github.com/orgs/langfuse/discussions/4322", + "created_at": "2024-11-19T20:09:18Z", + "upvotes": 2, + "comment_count": 0, + "resolved": false, "labels": [], "author": { - "login": "skabbit", - "html_url": "https://github.com/skabbit" + "login": "justinwiley", + "html_url": "https://github.com/justinwiley" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4359, - "title": "Unexpected error occurred", - "href": "https://github.com/orgs/langfuse/discussions/4359", - "created_at": "2024-11-21T14:21:11Z", - "upvotes": 1, - "comment_count": 1, - "resolved": true, - "labels": [ - "self-hosting" - ], + "number": 4316, + "title": "Prompt Changelog Management", + "href": "https://github.com/orgs/langfuse/discussions/4316", + "created_at": "2024-11-19T14:32:33Z", + "upvotes": 3, + "comment_count": 0, + "resolved": false, + "labels": [], "author": { - "login": "jguokion", - "html_url": "https://github.com/jguokion" + "login": "alexander-abramovich", + "html_url": "https://github.com/alexander-abramovich" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4358, - "title": "Tracing of Async Tasks in Agentic Workflow", - "href": "https://github.com/orgs/langfuse/discussions/4358", - "created_at": "2024-11-21T10:46:31Z", - "upvotes": 1, - "comment_count": 2, + "number": 4315, + "title": "Smartly integrate with prompt templating tools (like Jinja templating engine)", + "href": "https://github.com/orgs/langfuse/discussions/4315", + "created_at": "2024-11-19T14:30:42Z", + "upvotes": 2, + "comment_count": 0, "resolved": false, "labels": [], "author": { - "login": "ashish-vwo", - "html_url": "https://github.com/ashish-vwo" + "login": "alexander-abramovich", + "html_url": "https://github.com/alexander-abramovich" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4352, - "title": "Send metrics to ELK", - "href": "https://github.com/orgs/langfuse/discussions/4352", - "created_at": "2024-11-21T05:57:10Z", - "upvotes": 1, - "comment_count": 1, + "number": 4314, + "title": "Making prompt editing eye-pleasing and less error-prown", + "href": "https://github.com/orgs/langfuse/discussions/4314", + "created_at": "2024-11-19T14:24:29Z", + "upvotes": 2, + "comment_count": 0, "resolved": false, "labels": [], "author": { - "login": "Kratemis", - "html_url": "https://github.com/Kratemis" + "login": "alexander-abramovich", + "html_url": "https://github.com/alexander-abramovich" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4330, - "title": "Request for Simplified Custom `trace_id` Implementation in `CallbackHandler` for LangServe", - "href": "https://github.com/orgs/langfuse/discussions/4330", - "created_at": "2024-11-20T07:55:51Z", - "upvotes": 1, - "comment_count": 1, + "number": 4304, + "title": "Prompt Management: Metadata for Prompt Versions", + "href": "https://github.com/orgs/langfuse/discussions/4304", + "created_at": "2024-11-19T08:39:27Z", + "upvotes": 7, + "comment_count": 2, "resolved": false, "labels": [ - "integration-langchain" + "feat-prompt-management" ], "author": { - "login": "wertycn", - "html_url": "https://github.com/wertycn" + "login": "jannikmaierhoefer", + "html_url": "https://github.com/jannikmaierhoefer" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4309, - "title": "Langchain//Langgraph prompt link", - "href": "https://github.com/orgs/langfuse/discussions/4309", - "created_at": "2024-11-19T11:18:16Z", + "number": 4303, + "title": "Exporting comments", + "href": "https://github.com/orgs/langfuse/discussions/4303", + "created_at": "2024-11-19T06:59:31Z", "upvotes": 1, - "comment_count": 3, - "resolved": true, - "labels": [ - "feat-prompt-management", - "integration-langchain" - ], + "comment_count": 1, + "resolved": false, + "labels": [], "author": { - "login": "BuragaIonut", - "html_url": "https://github.com/BuragaIonut" + "login": "jamesyu", + "html_url": "https://github.com/jamesyu" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4293, - "title": "slower than expected langfuse_context.update_current_observation operation?", - "href": "https://github.com/orgs/langfuse/discussions/4293", - "created_at": "2024-11-18T17:00:12Z", + "number": 4301, + "title": "[Feature Request] API to Remove or Update Trace Tags", + "href": "https://github.com/orgs/langfuse/discussions/4301", + "created_at": "2024-11-19T02:41:13Z", "upvotes": 1, - "comment_count": 2, - "resolved": true, + "comment_count": 0, + "resolved": false, "labels": [], "author": { - "login": "nikcaryo-super", - "html_url": "https://github.com/nikcaryo-super" + "login": "0xcodedead", + "html_url": "https://github.com/0xcodedead" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4286, - "title": "Langfuse returning a internal server error message sometimes", - "href": "https://github.com/orgs/langfuse/discussions/4286", - "created_at": "2024-11-18T13:37:41Z", + "number": 4299, + "title": "Add XML/tree viewer to playground and trace viewer", + "href": "https://github.com/orgs/langfuse/discussions/4299", + "created_at": "2024-11-19T01:12:03Z", "upvotes": 1, - "comment_count": 2, + "comment_count": 0, "resolved": false, "labels": [], "author": { - "login": "nithin1995", - "html_url": "https://github.com/nithin1995" + "login": "jeff-an", + "html_url": "https://github.com/jeff-an" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4284, - "title": "Update prompt label programatically", - "href": "https://github.com/orgs/langfuse/discussions/4284", - "created_at": "2024-11-18T13:18:06Z", + "number": 4280, + "title": "Increase character limit of comments in Langfuse", + "href": "https://github.com/orgs/langfuse/discussions/4280", + "created_at": "2024-11-18T11:20:06Z", "upvotes": 1, - "comment_count": 1, - "resolved": true, - "labels": [ - "feat-prompt-management" - ], + "comment_count": 0, + "resolved": false, + "labels": [], "author": { - "login": "nikitagupta5566", - "html_url": "https://github.com/nikitagupta5566" + "login": "jannikmaierhoefer", + "html_url": "https://github.com/jannikmaierhoefer" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4281, - "title": "Preventing Input and Output Capture for GENERATION span in Langfuse", - "href": "https://github.com/orgs/langfuse/discussions/4281", - "created_at": "2024-11-18T11:23:08Z", + "number": 4276, + "title": "Enh prompt management system", + "href": "https://github.com/orgs/langfuse/discussions/4276", + "created_at": "2024-11-17T21:50:06Z", "upvotes": 1, - "comment_count": 2, - "resolved": true, + "comment_count": 1, + "resolved": false, "labels": [], "author": { - "login": "ootkin", - "html_url": "https://github.com/ootkin" + "login": "flefevre", + "html_url": "https://github.com/flefevre" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4262, - "title": "why setup trace is showing SETUP Tracing Pending always and Trace doesn't show in dashboard", - "href": "https://github.com/orgs/langfuse/discussions/4262", - "created_at": "2024-11-15T23:49:20Z", + "number": 4268, + "title": "Support image messages in the playground", + "href": "https://github.com/orgs/langfuse/discussions/4268", + "created_at": "2024-11-17T01:02:48Z", "upvotes": 1, "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [], "author": { - "login": "msgateway", - "html_url": "https://github.com/msgateway" + "login": "jeff-an", + "html_url": "https://github.com/jeff-an" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4261, - "title": "Disable tracing for certain calls", - "href": "https://github.com/orgs/langfuse/discussions/4261", - "created_at": "2024-11-15T22:54:27Z", + "number": 4263, + "title": "Extend RBAC to Include Teams and Refine Permissions for Prompt Management", + "href": "https://github.com/orgs/langfuse/discussions/4263", + "created_at": "2024-11-16T04:22:27Z", "upvotes": 1, - "comment_count": 1, - "resolved": true, + "comment_count": 0, + "resolved": false, "labels": [], "author": { - "login": "yliuaaron", - "html_url": "https://github.com/yliuaaron" + "login": "flefevre", + "html_url": "https://github.com/flefevre" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4259, - "title": "Custom trace properties in AsyncOpenAI", - "href": "https://github.com/orgs/langfuse/discussions/4259", - "created_at": "2024-11-15T19:50:10Z", + "number": 4258, + "title": "Automatically Trace from Playground", + "href": "https://github.com/orgs/langfuse/discussions/4258", + "created_at": "2024-11-15T18:58:05Z", "upvotes": 1, - "comment_count": 2, + "comment_count": 0, "resolved": false, "labels": [], "author": { - "login": "yliuaaron", - "html_url": "https://github.com/yliuaaron" + "login": "Chinoman10", + "html_url": "https://github.com/Chinoman10" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4231, - "title": "Langfuse overwriting ingested usage for gpt-4o-mini models & incorrect inferred usage for low-detail image data", - "href": "https://github.com/orgs/langfuse/discussions/4231", - "created_at": "2024-11-14T12:29:51Z", - "upvotes": 1, - "comment_count": 2, + "number": 4247, + "title": "Reset LangfuseDecorator context to allow nested traces", + "href": "https://github.com/orgs/langfuse/discussions/4247", + "created_at": "2024-11-15T09:59:28Z", + "upvotes": 2, + "comment_count": 0, "resolved": false, - "labels": [ - "integration-openai", - "feat-cost-tracking" - ], + "labels": [], "author": { - "login": "LastRemote", - "html_url": "https://github.com/LastRemote" + "login": "vitalii-diachkov-sumup", + "html_url": "https://github.com/vitalii-diachkov-sumup" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4228, - "title": "Why my langgrpahjs agent can't show token", - "href": "https://github.com/orgs/langfuse/discussions/4228", - "created_at": "2024-11-14T08:46:36Z", - "upvotes": 1, - "comment_count": 2, - "resolved": true, + "number": 4212, + "title": "Disable authentication in self-hosted deployments", + "href": "https://github.com/orgs/langfuse/discussions/4212", + "created_at": "2024-11-13T13:32:11Z", + "upvotes": 2, + "comment_count": 1, + "resolved": false, "labels": [ - "integration-langchain" + "feat-auth", + "self-hosting" ], "author": { - "login": "VittorioYan", - "html_url": "https://github.com/VittorioYan" + "login": "mariusp12", + "html_url": "https://github.com/mariusp12" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4223, - "title": "How/which environment var do I need to set to get OAuth2.0 authentication flow?", - "href": "https://github.com/orgs/langfuse/discussions/4223", - "created_at": "2024-11-13T19:57:27Z", + "number": 4208, + "title": "Multi-turn / session experiments in datasets", + "href": "https://github.com/orgs/langfuse/discussions/4208", + "created_at": "2024-11-13T11:43:31Z", "upvotes": 1, - "comment_count": 3, + "comment_count": 1, "resolved": false, "labels": [ - "self-hosting" + "feat-datasets" ], "author": { - "login": "itay-moav", - "html_url": "https://github.com/itay-moav" + "login": "bartsimo", + "html_url": "https://github.com/bartsimo" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4213, - "title": "Is there a way to keep database connections open longer?", - "href": "https://github.com/orgs/langfuse/discussions/4213", - "created_at": "2024-11-13T13:53:25Z", + "number": 4189, + "title": "feat: add support for SSR to allow runtime BASE_PATH", + "href": "https://github.com/orgs/langfuse/discussions/4189", + "created_at": "2024-11-12T12:39:25Z", + "upvotes": 2, + "comment_count": 1, + "resolved": false, + "labels": [ + "self-hosting" + ], + "author": { + "login": "sinux-l5d", + "html_url": "https://github.com/sinux-l5d" + }, + "category": "Ideas" + }, + { + "number": 4168, + "title": "Centralized API Key Management with Secret Store Integration (e.g. HashiCorp Vault)", + "href": "https://github.com/orgs/langfuse/discussions/4168", + "created_at": "2024-11-11T11:11:10Z", "upvotes": 1, "comment_count": 2, "resolved": false, "labels": [ + "security", "self-hosting" ], "author": { - "login": "tomi-bigpi", - "html_url": "https://github.com/tomi-bigpi" + "login": "bikram42", + "html_url": "https://github.com/bikram42" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4205, - "title": "Tokenizer config for Qwen 2.5 models", - "href": "https://github.com/orgs/langfuse/discussions/4205", - "created_at": "2024-11-13T08:05:03Z", + "number": 4166, + "title": "Allow sending events to multiple LF projects within one client app", + "href": "https://github.com/orgs/langfuse/discussions/4166", + "created_at": "2024-11-11T10:51:01Z", "upvotes": 1, "comment_count": 2, "resolved": false, "labels": [], "author": { - "login": "mediumsizeworkingdog", - "html_url": "https://github.com/mediumsizeworkingdog" + "login": "snopoke", + "html_url": "https://github.com/snopoke" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4197, - "title": "[Generations]: Support n parameter", - "href": "https://github.com/orgs/langfuse/discussions/4197", - "created_at": "2024-11-12T18:58:32Z", + "number": 4165, + "title": "Another glimpse into prompt management in LangFuse", + "href": "https://github.com/orgs/langfuse/discussions/4165", + "created_at": "2024-11-11T10:20:18Z", "upvotes": 1, "comment_count": 1, "resolved": false, "labels": [ - "integration-openai" + "feat-prompt-management" ], "author": { - "login": "ngamolsky", - "html_url": "https://github.com/ngamolsky" + "login": "barseghyanartur", + "html_url": "https://github.com/barseghyanartur" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4179, - "title": "Is there a way to get process to exit on DB connection errors when rotating database passwords?", - "href": "https://github.com/orgs/langfuse/discussions/4179", - "created_at": "2024-11-11T21:55:56Z", - "upvotes": 1, - "comment_count": 3, - "resolved": true, + "number": 4154, + "title": "Feature Request: Enable Invites with `AUTH_DISABLE_SIGNUP` (or/and GitHub OAuth for a given organization)", + "href": "https://github.com/orgs/langfuse/discussions/4154", + "created_at": "2024-11-10T15:04:41Z", + "upvotes": 3, + "comment_count": 1, + "resolved": false, "labels": [ + "feat-auth", "self-hosting" ], "author": { - "login": "tomi-bigpi", - "html_url": "https://github.com/tomi-bigpi" + "login": "shner-elmo", + "html_url": "https://github.com/shner-elmo" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4178, - "title": "How to update a score?", - "href": "https://github.com/orgs/langfuse/discussions/4178", - "created_at": "2024-11-11T21:48:51Z", + "number": 4143, + "title": "Getting prompts using LiteLLM syntax", + "href": "https://github.com/orgs/langfuse/discussions/4143", + "created_at": "2024-11-09T17:01:10Z", "upvotes": 1, - "comment_count": 1, - "resolved": true, - "labels": [ - "feat-scores" - ], + "comment_count": 0, + "resolved": false, + "labels": [], "author": { - "login": "leichx", - "html_url": "https://github.com/leichx" + "login": "doasfrancisco", + "html_url": "https://github.com/doasfrancisco" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4172, - "title": "TypeError: LangfuseTracer.trace() got an unexpected keyword argument 'parent_span'", - "href": "https://github.com/orgs/langfuse/discussions/4172", - "created_at": "2024-11-11T13:31:14Z", + "number": 4129, + "title": "Annotation Queue: Display trace id", + "href": "https://github.com/orgs/langfuse/discussions/4129", + "created_at": "2024-11-08T16:14:00Z", "upvotes": 1, - "comment_count": 2, - "resolved": true, - "labels": [ - "integration-haystack" - ], + "comment_count": 0, + "resolved": false, + "labels": [], "author": { - "login": "schwasa", - "html_url": "https://github.com/schwasa" + "login": "jannikmaierhoefer", + "html_url": "https://github.com/jannikmaierhoefer" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4169, - "title": "Tenant based prompt management ?", - "href": "https://github.com/orgs/langfuse/discussions/4169", - "created_at": "2024-11-11T11:22:21Z", - "upvotes": 1, - "comment_count": 2, - "resolved": true, + "number": 4121, + "title": "Enable to use variable of prompt on evaluator.", + "href": "https://github.com/orgs/langfuse/discussions/4121", + "created_at": "2024-11-08T09:16:28Z", + "upvotes": 3, + "comment_count": 1, + "resolved": false, "labels": [ - "feat-prompt-management" + "feat-evals" ], "author": { - "login": "PreetamGKatakali", - "html_url": "https://github.com/PreetamGKatakali" + "login": "takryo00", + "html_url": "https://github.com/takryo00" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4134, - "title": "LangGraph traces cause self-hosted instance to hang", - "href": "https://github.com/orgs/langfuse/discussions/4134", - "created_at": "2024-11-08T22:54:34Z", - "upvotes": 1, - "comment_count": 2, + "number": 4120, + "title": "Sessions Table: Scores Column", + "href": "https://github.com/orgs/langfuse/discussions/4120", + "created_at": "2024-11-08T08:58:10Z", + "upvotes": 5, + "comment_count": 0, "resolved": false, "labels": [ - "integration-langchain" + "feat-sessions" ], "author": { - "login": "rishimo", - "html_url": "https://github.com/rishimo" + "login": "jannikmaierhoefer", + "html_url": "https://github.com/jannikmaierhoefer" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4123, - "title": "Block strangers from signing in to your app", - "href": "https://github.com/orgs/langfuse/discussions/4123", - "created_at": "2024-11-08T10:14:08Z", + "number": 4110, + "title": "Sort functionality in Users page", + "href": "https://github.com/orgs/langfuse/discussions/4110", + "created_at": "2024-11-07T19:43:07Z", "upvotes": 1, - "comment_count": 2, - "resolved": true, + "comment_count": 0, + "resolved": false, "labels": [], "author": { - "login": "shner-elmo", - "html_url": "https://github.com/shner-elmo" + "login": "sal-dti", + "html_url": "https://github.com/sal-dti" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4119, - "title": "Can we use Langfuse without any Authentication enabled?", - "href": "https://github.com/orgs/langfuse/discussions/4119", - "created_at": "2024-11-08T08:32:30Z", + "number": 4106, + "title": "Add new filters for the LLM as a Judge Evaluation (other scores and cost)", + "href": "https://github.com/orgs/langfuse/discussions/4106", + "created_at": "2024-11-07T14:44:31Z", "upvotes": 1, "comment_count": 1, - "resolved": true, - "labels": [], + "resolved": false, + "labels": [ + "feat-evals" + ], "author": { - "login": "SudhaGarimella", - "html_url": "https://github.com/SudhaGarimella" + "login": "laisalvescw", + "html_url": "https://github.com/laisalvescw" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4118, - "title": "Can I evaluate Span using the External Evaluation Pipeline?", - "href": "https://github.com/orgs/langfuse/discussions/4118", - "created_at": "2024-11-08T08:04:55Z", - "upvotes": 1, + "number": 4103, + "title": "Prompt Management: Deployment level view", + "href": "https://github.com/orgs/langfuse/discussions/4103", + "created_at": "2024-11-07T12:40:07Z", + "upvotes": 2, "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [ - "feat-evals" + "feat-prompt-management" ], "author": { - "login": "ygt1qa8", - "html_url": "https://github.com/ygt1qa8" + "login": "jannikmaierhoefer", + "html_url": "https://github.com/jannikmaierhoefer" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4117, - "title": "ERROR - An error occurred: 'function' object is not subscriptable", - "href": "https://github.com/orgs/langfuse/discussions/4117", - "created_at": "2024-11-08T04:51:09Z", - "upvotes": 1, - "comment_count": 1, + "number": 4102, + "title": "Prompt Management: labels in prompt table", + "href": "https://github.com/orgs/langfuse/discussions/4102", + "created_at": "2024-11-07T12:38:00Z", + "upvotes": 2, + "comment_count": 0, "resolved": false, "labels": [], "author": { - "login": "MazarSayed", - "html_url": "https://github.com/MazarSayed" + "login": "jannikmaierhoefer", + "html_url": "https://github.com/jannikmaierhoefer" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4116, - "title": "How can I implement a knowledge base and multi-turn file dialogue with pip deployment?! How does this “history” work?", - "href": "https://github.com/orgs/langfuse/discussions/4116", - "created_at": "2024-11-08T03:05:40Z", - "upvotes": 1, - "comment_count": 2, - "resolved": true, + "number": 4099, + "title": "Does LangFuse support a (declarative) plugin architecture?", + "href": "https://github.com/orgs/langfuse/discussions/4099", + "created_at": "2024-11-07T11:27:39Z", + "upvotes": 1, + "comment_count": 1, + "resolved": false, "labels": [], "author": { - "login": "SKKKKYLAR", - "html_url": "https://github.com/SKKKKYLAR" + "login": "barseghyanartur", + "html_url": "https://github.com/barseghyanartur" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4115, - "title": "Configure LangFuse Project within CallbackHandler", - "href": "https://github.com/orgs/langfuse/discussions/4115", - "created_at": "2024-11-07T23:19:13Z", + "number": 4097, + "title": "More Granular Target Objects for Langfuse Evaluators", + "href": "https://github.com/orgs/langfuse/discussions/4097", + "created_at": "2024-11-07T10:00:11Z", "upvotes": 1, - "comment_count": 2, - "resolved": true, - "labels": [ - "integration-langchain" - ], + "comment_count": 0, + "resolved": false, + "labels": [], "author": { - "login": "krlng", - "html_url": "https://github.com/krlng" + "login": "qrosseel", + "html_url": "https://github.com/qrosseel" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4091, - "title": "Openwebui and langfuse", - "href": "https://github.com/orgs/langfuse/discussions/4091", - "created_at": "2024-11-06T22:21:43Z", + "number": 4096, + "title": "Evaluator CRUD in UI and API", + "href": "https://github.com/orgs/langfuse/discussions/4096", + "created_at": "2024-11-07T09:46:01Z", "upvotes": 1, "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [], "author": { - "login": "flefevre", - "html_url": "https://github.com/flefevre" + "login": "qrosseel", + "html_url": "https://github.com/qrosseel" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4090, - "title": "Configuring logging", - "href": "https://github.com/orgs/langfuse/discussions/4090", - "created_at": "2024-11-06T21:39:03Z", + "number": 4078, + "title": "Specify data masking on decorator itself", + "href": "https://github.com/orgs/langfuse/discussions/4078", + "created_at": "2024-11-06T14:00:47Z", "upvotes": 1, - "comment_count": 5, + "comment_count": 0, "resolved": false, - "labels": [], + "labels": [ + "integration-python-decorator", + "feat-data-masking" + ], "author": { - "login": "pcoccoli", - "html_url": "https://github.com/pcoccoli" + "login": "marcklingen", + "html_url": "https://github.com/marcklingen" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4080, - "title": "Langfuse User Management with Custom Oauth", - "href": "https://github.com/orgs/langfuse/discussions/4080", - "created_at": "2024-11-06T14:21:39Z", - "upvotes": 1, - "comment_count": 3, + "number": 4077, + "title": "Export dataset run table", + "href": "https://github.com/orgs/langfuse/discussions/4077", + "created_at": "2024-11-06T13:58:30Z", + "upvotes": 4, + "comment_count": 0, "resolved": false, "labels": [ - "feat-auth", - "self-hosting" + "feat-datasets" ], "author": { - "login": "bziolkowski", - "html_url": "https://github.com/bziolkowski" + "login": "marcklingen", + "html_url": "https://github.com/marcklingen" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4079, - "title": "How to prevent strangers from creating an account on your app", - "href": "https://github.com/orgs/langfuse/discussions/4079", - "created_at": "2024-11-06T14:17:46Z", - "upvotes": 1, - "comment_count": 1, - "resolved": true, + "number": 4076, + "title": "Customizable data mask (input/output, observation names, observation type)", + "href": "https://github.com/orgs/langfuse/discussions/4076", + "created_at": "2024-11-06T13:56:36Z", + "upvotes": 2, + "comment_count": 0, + "resolved": false, "labels": [ - "self-hosting" + "feat-data-masking" ], "author": { - "login": "shner-elmo", - "html_url": "https://github.com/shner-elmo" + "login": "marcklingen", + "html_url": "https://github.com/marcklingen" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4075, - "title": "Does it make sense to use multiple api-keys", - "href": "https://github.com/orgs/langfuse/discussions/4075", - "created_at": "2024-11-06T11:22:45Z", + "number": 4060, + "title": "Add support for more complex Jinja constructs", + "href": "https://github.com/orgs/langfuse/discussions/4060", + "created_at": "2024-11-05T14:28:17Z", "upvotes": 1, - "comment_count": 2, - "resolved": true, - "labels": [], + "comment_count": 1, + "resolved": false, + "labels": [ + "feat-prompt-management" + ], "author": { - "login": "shner-elmo", - "html_url": "https://github.com/shner-elmo" + "login": "alex-stoica", + "html_url": "https://github.com/alex-stoica" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4071, - "title": "Authentication not working?", - "href": "https://github.com/orgs/langfuse/discussions/4071", - "created_at": "2024-11-06T01:00:12Z", + "number": 4040, + "title": "Linking ChatPromptTemplate to Multiple Prompts", + "href": "https://github.com/orgs/langfuse/discussions/4040", + "created_at": "2024-11-04T13:49:06Z", "upvotes": 1, - "comment_count": 2, - "resolved": true, - "labels": [], + "comment_count": 1, + "resolved": false, + "labels": [ + "feat-prompt-management" + ], "author": { - "login": "shner-elmo", - "html_url": "https://github.com/shner-elmo" + "login": "sternr", + "html_url": "https://github.com/sternr" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4056, - "title": "Langfuse deployment issue on k8", - "href": "https://github.com/orgs/langfuse/discussions/4056", - "created_at": "2024-11-05T11:54:57Z", - "upvotes": 1, - "comment_count": 4, + "number": 4037, + "title": "feat: support adding trace tags in annotation queue view", + "href": "https://github.com/orgs/langfuse/discussions/4037", + "created_at": "2024-11-04T13:04:02Z", + "upvotes": 2, + "comment_count": 0, "resolved": false, "labels": [ - "self-hosting" + "feat-annotation" ], "author": { - "login": "hrone-dev-satyammishra", - "html_url": "https://github.com/hrone-dev-satyammishra" + "login": "marliessophie", + "html_url": "https://github.com/marliessophie" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4046, - "title": "Should the Langfuse classs initialization be cached (does it do any I/O on init?) ?", - "href": "https://github.com/orgs/langfuse/discussions/4046", - "created_at": "2024-11-04T16:44:27Z", + "number": 4035, + "title": "Feat: De-dupe and show info when adding the same trace/observation to an annotation queue multiple times", + "href": "https://github.com/orgs/langfuse/discussions/4035", + "created_at": "2024-11-04T12:58:59Z", "upvotes": 1, "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [ - "integration-langchain" + "feat-annotation" ], "author": { - "login": "shner-elmo", - "html_url": "https://github.com/shner-elmo" + "login": "marliessophie", + "html_url": "https://github.com/marliessophie" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4043, - "title": "\"Custom\" traces not creating when Next.js Vercel instrumentation is on.", - "href": "https://github.com/orgs/langfuse/discussions/4043", - "created_at": "2024-11-04T14:07:46Z", - "upvotes": 1, - "comment_count": 2, + "number": 4025, + "title": "Diff support for dataset runs view", + "href": "https://github.com/orgs/langfuse/discussions/4025", + "created_at": "2024-11-04T03:48:40Z", + "upvotes": 3, + "comment_count": 0, "resolved": false, - "labels": [], + "labels": [ + "feat-datasets" + ], "author": { - "login": "rovnyart", - "html_url": "https://github.com/rovnyart" + "login": "saikatmitra91", + "html_url": "https://github.com/saikatmitra91" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4041, - "title": "When running in relatively high amount of concurrent requests we start getting: \"API error occurred: Service unavailable.\" from Langfuse server", - "href": "https://github.com/orgs/langfuse/discussions/4041", - "created_at": "2024-11-04T13:55:19Z", + "number": 4019, + "title": "Create Support for gemini models in playground", + "href": "https://github.com/orgs/langfuse/discussions/4019", + "created_at": "2024-11-03T11:12:42Z", "upvotes": 1, "comment_count": 2, - "resolved": true, - "labels": [], + "resolved": false, + "labels": [ + "feat-evals", + "feat-playground" + ], "author": { - "login": "sternr", - "html_url": "https://github.com/sternr" + "login": "anuraj-suman", + "html_url": "https://github.com/anuraj-suman" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4038, - "title": "SSL: CERTIFICATE_VERIFY_FAILED error when access the self hosted langfuse from the code", - "href": "https://github.com/orgs/langfuse/discussions/4038", - "created_at": "2024-11-04T13:14:05Z", + "number": 4012, + "title": "Duplicate a template prompt to start a new prompt with all the boilerplate prepared", + "href": "https://github.com/orgs/langfuse/discussions/4012", + "created_at": "2024-11-02T15:26:33Z", "upvotes": 1, - "comment_count": 2, - "resolved": true, - "labels": [], - "author": { - "login": "SugumarRavichandran", - "html_url": "https://github.com/SugumarRavichandran" - }, - "category": "Support" - }, - { - "number": 4026, - "title": "Blob is not defined for Node 16", - "href": "https://github.com/orgs/langfuse/discussions/4026", - "created_at": "2024-11-04T04:58:15Z", - "upvotes": 1, - "comment_count": 2, + "comment_count": 1, "resolved": false, - "labels": [], + "labels": [ + "feat-prompt-management" + ], "author": { - "login": "jamesyu", - "html_url": "https://github.com/jamesyu" + "login": "jakelucasnyc", + "html_url": "https://github.com/jakelucasnyc" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4001, - "title": "Cloudron packaging issue with Prisma client", - "href": "https://github.com/orgs/langfuse/discussions/4001", - "created_at": "2024-11-01T14:21:59Z", + "number": 4009, + "title": "SDK-Python: Get all prompts from LangfuseSDK Client", + "href": "https://github.com/orgs/langfuse/discussions/4009", + "created_at": "2024-11-01T18:39:02Z", "upvotes": 1, - "comment_count": 2, - "resolved": true, + "comment_count": 1, + "resolved": false, "labels": [], "author": { - "login": "Lanhild", - "html_url": "https://github.com/Lanhild" + "login": "nthanapaisal", + "html_url": "https://github.com/nthanapaisal" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3996, - "title": "Can you use the app without OAuth?", - "href": "https://github.com/orgs/langfuse/discussions/3996", - "created_at": "2024-11-01T03:36:33Z", - "upvotes": 1, - "comment_count": 1, - "resolved": true, - "labels": [ - "feat-auth", - "self-hosting" - ], + "number": 4000, + "title": "Support custom aggregated queries through the UI", + "href": "https://github.com/orgs/langfuse/discussions/4000", + "created_at": "2024-11-01T14:19:58Z", + "upvotes": 2, + "comment_count": 0, + "resolved": false, + "labels": [], "author": { - "login": "shner-elmo", - "html_url": "https://github.com/shner-elmo" + "login": "emieldatalytica", + "html_url": "https://github.com/emieldatalytica" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3985, - "title": "Pending Badge Stuck on Setup Tracing Step", - "href": "https://github.com/orgs/langfuse/discussions/3985", - "created_at": "2024-10-31T15:51:08Z", + "number": 3997, + "title": "Alerts based on metrics (cost, evaluation, user-feedback), trigger webhook/email/slack/...", + "href": "https://github.com/orgs/langfuse/discussions/3997", + "created_at": "2024-11-01T11:25:05Z", "upvotes": 1, - "comment_count": 2, - "resolved": true, + "comment_count": 0, + "resolved": false, "labels": [], "author": { - "login": "c0pper", - "html_url": "https://github.com/c0pper" + "login": "marcklingen", + "html_url": "https://github.com/marcklingen" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3977, - "title": "getPromptStateless received 403 error when using `LangfuseWeb` SDK", - "href": "https://github.com/orgs/langfuse/discussions/3977", - "created_at": "2024-10-31T01:45:19Z", + "number": 3988, + "title": "Change AWS access pattern for Bedrock LLM usage, assume role", + "href": "https://github.com/orgs/langfuse/discussions/3988", + "created_at": "2024-10-31T17:45:48Z", "upvotes": 1, "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [ - "feat-prompt-management" + "feat-evals", + "feat-playground" ], "author": { - "login": "huangbaitu123", - "html_url": "https://github.com/huangbaitu123" - }, - "category": "Support" - }, - { - "number": 3976, - "title": "Missing scores after pushing scores to Langfuse", - "href": "https://github.com/orgs/langfuse/discussions/3976", - "created_at": "2024-10-31T00:02:59Z", - "upvotes": 1, - "comment_count": 3, - "resolved": true, - "labels": [], - "author": { - "login": "laisalvescw", - "html_url": "https://github.com/laisalvescw" + "login": "j10sanders", + "html_url": "https://github.com/j10sanders" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3972, - "title": "For which kinds of data is `ENCRYPTION_KEY` used?", - "href": "https://github.com/orgs/langfuse/discussions/3972", - "created_at": "2024-10-30T18:21:25Z", + "number": 3986, + "title": "Support for Atlassian OAuth-Provider", + "href": "https://github.com/orgs/langfuse/discussions/3986", + "created_at": "2024-10-31T16:56:45Z", "upvotes": 1, "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [ + "feat-auth", "self-hosting" ], "author": { - "login": "felix-sanchez-unmind", - "html_url": "https://github.com/felix-sanchez-unmind" + "login": "backface", + "html_url": "https://github.com/backface" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3965, - "title": "How to set environment variables for custom oauth2.0 sso?", - "href": "https://github.com/orgs/langfuse/discussions/3965", - "created_at": "2024-10-30T06:27:15Z", - "upvotes": 1, - "comment_count": 1, - "resolved": true, + "number": 3981, + "title": "Async support for data masking in JS/TS SDK", + "href": "https://github.com/orgs/langfuse/discussions/3981", + "created_at": "2024-10-31T14:06:21Z", + "upvotes": 3, + "comment_count": 3, + "resolved": false, "labels": [ - "feat-auth", - "self-hosting" + "feat-data-masking" ], "author": { - "login": "IeohMingChan", - "html_url": "https://github.com/IeohMingChan" + "login": "pexxi", + "html_url": "https://github.com/pexxi" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3957, - "title": "Langfuse.create_prompt() got an unexpected keyword argument 'version'", - "href": "https://github.com/orgs/langfuse/discussions/3957", - "created_at": "2024-10-29T13:21:51Z", - "upvotes": 1, + "number": 3970, + "title": "Add ability to export and import evaluators between projects", + "href": "https://github.com/orgs/langfuse/discussions/3970", + "created_at": "2024-10-30T16:13:20Z", + "upvotes": 2, "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [ - "feat-prompt-management" + "feat-evals" ], "author": { - "login": "silenceliang", - "html_url": "https://github.com/silenceliang" + "login": "j10sanders", + "html_url": "https://github.com/j10sanders" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3949, - "title": "Is there a way to clear trace data in batch?", - "href": "https://github.com/orgs/langfuse/discussions/3949", - "created_at": "2024-10-29T06:10:26Z", - "upvotes": 1, + "number": 3954, + "title": "Decorator: disable tracing at the decorated function level", + "href": "https://github.com/orgs/langfuse/discussions/3954", + "created_at": "2024-10-29T11:45:13Z", + "upvotes": 3, "comment_count": 2, - "resolved": true, + "resolved": false, "labels": [ - "self-hosting" + "sdk-python", + "integration-python-decorator" ], "author": { - "login": "renwei-work", - "html_url": "https://github.com/renwei-work" + "login": "klemenstraeger", + "html_url": "https://github.com/klemenstraeger" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3943, - "title": "Improvements of Langfuse-Haystack integration", - "href": "https://github.com/orgs/langfuse/discussions/3943", - "created_at": "2024-10-28T14:49:51Z", + "number": 3941, + "title": "Add keyword highlighting and color coding", + "href": "https://github.com/orgs/langfuse/discussions/3941", + "created_at": "2024-10-28T12:17:38Z", "upvotes": 1, "comment_count": 2, - "resolved": true, + "resolved": false, "labels": [ - "integration-haystack" + "feat-prompt-management" ], "author": { - "login": "alex-stoica", - "html_url": "https://github.com/alex-stoica" + "login": "ignazflam", + "html_url": "https://github.com/ignazflam" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3924, - "title": "Postgres version mismatch when upgrading langfuse locally", - "href": "https://github.com/orgs/langfuse/discussions/3924", - "created_at": "2024-10-25T18:30:14Z", + "number": 3935, + "title": "feat: Folder structure for dataset organisation", + "href": "https://github.com/orgs/langfuse/discussions/3935", + "created_at": "2024-10-28T08:23:14Z", "upvotes": 2, "comment_count": 1, - "resolved": true, - "labels": [], + "resolved": false, + "labels": [ + "feat-datasets" + ], "author": { - "login": "nikcaryo-super", - "html_url": "https://github.com/nikcaryo-super" + "login": "marliessophie", + "html_url": "https://github.com/marliessophie" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3920, - "title": "Rate limit exceed using Langfuse Python SDK", - "href": "https://github.com/orgs/langfuse/discussions/3920", - "created_at": "2024-10-25T14:45:56Z", - "upvotes": 1, - "comment_count": 1, - "resolved": true, + "number": 3918, + "title": "Model-based evaluations triggered by observations", + "href": "https://github.com/orgs/langfuse/discussions/3918", + "created_at": "2024-10-25T14:25:49Z", + "upvotes": 2, + "comment_count": 0, + "resolved": false, "labels": [ - "feat-api" + "feat-evals" ], "author": { - "login": "laisalvescw", - "html_url": "https://github.com/laisalvescw" + "login": "marcklingen", + "html_url": "https://github.com/marcklingen" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3910, - "title": "If I use Anthropic Claude component in Langflow, the trace data in Langfuse is all null", - "href": "https://github.com/orgs/langfuse/discussions/3910", - "created_at": "2024-10-25T06:50:02Z", - "upvotes": 2, - "comment_count": 2, - "resolved": true, + "number": 3904, + "title": "Support for Custom SSO Without AUTH_CUSTOM_CLIENT_SECRET and Incorrect Profile Mapping", + "href": "https://github.com/orgs/langfuse/discussions/3904", + "created_at": "2024-10-24T17:07:38Z", + "upvotes": 0, + "comment_count": 0, + "resolved": false, "labels": [], "author": { - "login": "b8heng", - "html_url": "https://github.com/b8heng" + "login": "lucebert", + "html_url": "https://github.com/lucebert" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3905, - "title": "Allow injection of generation context into evaluation prompt", - "href": "https://github.com/orgs/langfuse/discussions/3905", - "created_at": "2024-10-24T20:39:46Z", - "upvotes": 1, + "number": 3893, + "title": "Allow prompt editing without creating new version (draft mode)", + "href": "https://github.com/orgs/langfuse/discussions/3893", + "created_at": "2024-10-24T08:47:13Z", + "upvotes": 2, "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [ - "feat-evals" + "feat-prompt-management" ], "author": { "login": "dveyarangi", "html_url": "https://github.com/dveyarangi" }, - "category": "Support" - }, - { - "number": 3902, - "title": "How to fetch the output and input tokens of a trace via API?", - "href": "https://github.com/orgs/langfuse/discussions/3902", - "created_at": "2024-10-24T16:16:56Z", - "upvotes": 0, - "comment_count": 1, - "resolved": true, - "labels": [ - "feat-api", - "feat-cost-tracking" - ], - "author": { - "login": "fdb02983rhy", - "html_url": "https://github.com/fdb02983rhy" - }, - "category": "Support" + "category": "Ideas" }, { - "number": 3900, - "title": "Sometimes traces lack metadata completely", - "href": "https://github.com/orgs/langfuse/discussions/3900", - "created_at": "2024-10-24T15:06:32Z", + "number": 3891, + "title": "feat: user consumption broken down by model", + "href": "https://github.com/orgs/langfuse/discussions/3891", + "created_at": "2024-10-24T05:41:12Z", "upvotes": 1, - "comment_count": 4, - "resolved": true, + "comment_count": 0, + "resolved": false, "labels": [], "author": { - "login": "RichardSieg", - "html_url": "https://github.com/RichardSieg" + "login": "belphegor-s", + "html_url": "https://github.com/belphegor-s" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3890, - "title": "how to add invoked langchain tool names as tags or as metadata", - "href": "https://github.com/orgs/langfuse/discussions/3890", - "created_at": "2024-10-24T00:39:02Z", - "upvotes": 1, - "comment_count": 1, + "number": 3885, + "title": "Trace -> Playground: Populate variable fields to make input iteration easier.", + "href": "https://github.com/orgs/langfuse/discussions/3885", + "created_at": "2024-10-23T16:26:36Z", + "upvotes": 2, + "comment_count": 0, "resolved": false, "labels": [ - "integration-langchain" + "feat-prompt-management", + "feat-playground" ], "author": { - "login": "Wrashionis", - "html_url": "https://github.com/Wrashionis" + "login": "jannikmaierhoefer", + "html_url": "https://github.com/jannikmaierhoefer" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3886, - "title": "Azure AD auth: OAUTH_PARSE_PROFILE_ERROR", - "href": "https://github.com/orgs/langfuse/discussions/3886", - "created_at": "2024-10-23T19:40:57Z", + "number": 3875, + "title": "add gpt-4o-2024-08-06 model to langfuse models list", + "href": "https://github.com/orgs/langfuse/discussions/3875", + "created_at": "2024-10-23T10:54:01Z", "upvotes": 1, - "comment_count": 2, + "comment_count": 1, "resolved": false, - "labels": [], + "labels": [ + "✅ Done" + ], "author": { - "login": "kryvokhyzha", - "html_url": "https://github.com/kryvokhyzha" + "login": "alex-stoica", + "html_url": "https://github.com/alex-stoica" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3884, - "title": "I cant quite tell if i'm doing the parent span correctly. The trace is appearing but not associated to the Session", - "href": "https://github.com/orgs/langfuse/discussions/3884", - "created_at": "2024-10-23T16:12:44Z", + "number": 3874, + "title": "Ensure prompt validation when attaching prompts to generations", + "href": "https://github.com/orgs/langfuse/discussions/3874", + "created_at": "2024-10-23T10:48:38Z", "upvotes": 1, - "comment_count": 2, + "comment_count": 0, "resolved": false, - "labels": [], + "labels": [ + "feat-prompt-management" + ], "author": { - "login": "PandelisZ", - "html_url": "https://github.com/PandelisZ" + "login": "alex-stoica", + "html_url": "https://github.com/alex-stoica" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3879, - "title": "No token information in observation of LLM run", - "href": "https://github.com/orgs/langfuse/discussions/3879", - "created_at": "2024-10-23T13:07:43Z", - "upvotes": 1, + "number": 3866, + "title": "Support for OpenAI's cached input tokens", + "href": "https://github.com/orgs/langfuse/discussions/3866", + "created_at": "2024-10-22T19:38:33Z", + "upvotes": 4, "comment_count": 2, "resolved": false, "labels": [ "feat-cost-tracking" ], "author": { - "login": "noInterestIfPaidInFull", - "html_url": "https://github.com/noInterestIfPaidInFull" + "login": "anatolec", + "html_url": "https://github.com/anatolec" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3877, - "title": "Self host Langfuse not working - column `t6.cloud_config` does not exist", - "href": "https://github.com/orgs/langfuse/discussions/3877", - "created_at": "2024-10-23T11:54:13Z", + "number": 3862, + "title": "python generator request - return values", + "href": "https://github.com/orgs/langfuse/discussions/3862", + "created_at": "2024-10-22T11:43:22Z", "upvotes": 1, - "comment_count": 4, + "comment_count": 1, "resolved": false, "labels": [ - "self-hosting" + "integration-python-decorator" ], "author": { - "login": "SugumarRavichandran", - "html_url": "https://github.com/SugumarRavichandran" + "login": "benji-finster", + "html_url": "https://github.com/benji-finster" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3868, - "title": "Langfuse Tracing not showing up on UI", - "href": "https://github.com/orgs/langfuse/discussions/3868", - "created_at": "2024-10-22T21:26:13Z", + "number": 3842, + "title": "Scores: Conditional Annotation", + "href": "https://github.com/orgs/langfuse/discussions/3842", + "created_at": "2024-10-21T08:37:48Z", "upvotes": 1, - "comment_count": 2, - "resolved": true, - "labels": [], + "comment_count": 0, + "resolved": false, + "labels": [ + "feat-scores", + "feat-annotation" + ], "author": { - "login": "nthanapaisal", - "html_url": "https://github.com/nthanapaisal" + "login": "marliessophie", + "html_url": "https://github.com/marliessophie" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3863, - "title": "Request Timeout for Dashboard", - "href": "https://github.com/orgs/langfuse/discussions/3863", - "created_at": "2024-10-22T14:18:43Z", + "number": 3841, + "title": "Annotation Queues: define optional/mandatory score configs by queue", + "href": "https://github.com/orgs/langfuse/discussions/3841", + "created_at": "2024-10-21T08:32:46Z", "upvotes": 1, - "comment_count": 2, - "resolved": true, + "comment_count": 0, + "resolved": false, "labels": [ - "self-hosting" + "feat-annotation" ], "author": { - "login": "mritonia", - "html_url": "https://github.com/mritonia" + "login": "marliessophie", + "html_url": "https://github.com/marliessophie" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3858, - "title": "Monitoring self-hosted langfuse.", - "href": "https://github.com/orgs/langfuse/discussions/3858", - "created_at": "2024-10-22T07:04:26Z", + "number": 3840, + "title": "Scores: support for recording multiple choice selection as score value", + "href": "https://github.com/orgs/langfuse/discussions/3840", + "created_at": "2024-10-21T08:20:01Z", "upvotes": 1, - "comment_count": 2, - "resolved": true, + "comment_count": 0, + "resolved": false, "labels": [ - "self-hosting" + "feat-scores" ], "author": { - "login": "SinghCoder", - "html_url": "https://github.com/SinghCoder" + "login": "marliessophie", + "html_url": "https://github.com/marliessophie" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3854, - "title": "Open AI Python SDK - 'OpenAI' object has no attribute 'langfuse_auth_check'", - "href": "https://github.com/orgs/langfuse/discussions/3854", - "created_at": "2024-10-21T21:41:17Z", - "upvotes": 1, - "comment_count": 4, - "resolved": true, + "number": 3839, + "title": "Prompts: ability to share prompt or playground session", + "href": "https://github.com/orgs/langfuse/discussions/3839", + "created_at": "2024-10-21T08:00:15Z", + "upvotes": 2, + "comment_count": 0, + "resolved": false, "labels": [ - "integration-openai" + "feat-prompt-management" ], "author": { - "login": "hjensen", - "html_url": "https://github.com/hjensen" + "login": "marliessophie", + "html_url": "https://github.com/marliessophie" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3845, - "title": "Traces: Link a trace to multiple sessions", - "href": "https://github.com/orgs/langfuse/discussions/3845", - "created_at": "2024-10-21T11:31:54Z", + "number": 3836, + "title": "Distinguishing various steps", + "href": "https://github.com/orgs/langfuse/discussions/3836", + "created_at": "2024-10-20T16:54:32Z", "upvotes": 1, + "comment_count": 0, + "resolved": false, + "labels": [], + "author": { + "login": "ajram23", + "html_url": "https://github.com/ajram23" + }, + "category": "Ideas" + }, + { + "number": 3818, + "title": "Filter by status in dataset items table", + "href": "https://github.com/orgs/langfuse/discussions/3818", + "created_at": "2024-10-18T03:17:50Z", + "upvotes": 2, "comment_count": 2, - "resolved": true, + "resolved": false, "labels": [ - "feat-sessions" + "feat-datasets" ], "author": { - "login": "nikitagupta5566", - "html_url": "https://github.com/nikitagupta5566" + "login": "FrankyCTY", + "html_url": "https://github.com/FrankyCTY" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3838, - "title": "How do I user wise \"Total Token\" counts via API or via python, As I want to track which user is consuming how much tokens", - "href": "https://github.com/orgs/langfuse/discussions/3838", - "created_at": "2024-10-21T06:51:06Z", - "upvotes": 2, - "comment_count": 3, - "resolved": true, + "number": 3817, + "title": "Add generic types for prompt variables in the sdk clients, e.g. `langfuse.getPrompt<{input: string}>(\"prompt name\")`", + "href": "https://github.com/orgs/langfuse/discussions/3817", + "created_at": "2024-10-17T23:40:45Z", + "upvotes": 1, + "comment_count": 0, + "resolved": false, "labels": [ - "feat-cost-tracking" + "feat-prompt-management" ], "author": { - "login": "hrone-dev-satyammishra", - "html_url": "https://github.com/hrone-dev-satyammishra" + "login": "marcklingen", + "html_url": "https://github.com/marcklingen" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3835, - "title": "To use Gemini on playground", - "href": "https://github.com/orgs/langfuse/discussions/3835", - "created_at": "2024-10-20T12:20:22Z", + "number": 3801, + "title": "Add image type with image_url for vision apo", + "href": "https://github.com/orgs/langfuse/discussions/3801", + "created_at": "2024-10-17T15:27:23Z", "upvotes": 1, - "comment_count": 3, + "comment_count": 1, "resolved": false, - "labels": [], + "labels": [ + "feat-prompt-management", + "feat-playground" + ], "author": { - "login": "yu-tarrrr", - "html_url": "https://github.com/yu-tarrrr" + "login": "profikid", + "html_url": "https://github.com/profikid" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3824, - "title": "Traces and events not going through to Langfuse server even though they're generating", - "href": "https://github.com/orgs/langfuse/discussions/3824", - "created_at": "2024-10-18T13:49:53Z", - "upvotes": 1, - "comment_count": 2, + "number": 3798, + "title": "Versioning/edit of Evaluator Configuration", + "href": "https://github.com/orgs/langfuse/discussions/3798", + "created_at": "2024-10-17T11:59:39Z", + "upvotes": 3, + "comment_count": 1, "resolved": false, "labels": [ - "integration-python-decorator" + "feat-evals" ], "author": { - "login": "FaresKi", - "html_url": "https://github.com/FaresKi" + "login": "filipmihal", + "html_url": "https://github.com/filipmihal" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3800, - "title": "Insert API Keys in database", - "href": "https://github.com/orgs/langfuse/discussions/3800", - "created_at": "2024-10-17T12:40:17Z", - "upvotes": 1, - "comment_count": 3, + "number": 3782, + "title": "Measure time to last generated token", + "href": "https://github.com/orgs/langfuse/discussions/3782", + "created_at": "2024-10-16T17:45:12Z", + "upvotes": 2, + "comment_count": 0, "resolved": false, "labels": [], "author": { - "login": "kryvokhyzha", - "html_url": "https://github.com/kryvokhyzha" + "login": "dsherry", + "html_url": "https://github.com/dsherry" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3799, - "title": "Weird behaviour of metric values and their reasoning", - "href": "https://github.com/orgs/langfuse/discussions/3799", - "created_at": "2024-10-17T12:17:48Z", + "number": 3772, + "title": "Support annotation role permission to only access Annotation Queue feature", + "href": "https://github.com/orgs/langfuse/discussions/3772", + "created_at": "2024-10-16T03:49:43Z", "upvotes": 1, - "comment_count": 2, - "resolved": true, + "comment_count": 1, + "resolved": false, "labels": [ - "feat-evals" + "feat-annotation" ], "author": { - "login": "filipmihal", - "html_url": "https://github.com/filipmihal" + "login": "ytqh", + "html_url": "https://github.com/ytqh" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3797, - "title": "Filter Categorical Score Values", - "href": "https://github.com/orgs/langfuse/discussions/3797", - "created_at": "2024-10-17T10:15:58Z", - "upvotes": 1, + "number": 3765, + "title": "OpenAI integration support for realtime api", + "href": "https://github.com/orgs/langfuse/discussions/3765", + "created_at": "2024-10-15T21:35:13Z", + "upvotes": 5, "comment_count": 3, - "resolved": true, + "resolved": false, "labels": [ - "feat-scores" + "integration-openai" ], "author": { - "login": "alabrashJr", - "html_url": "https://github.com/alabrashJr" + "login": "marcklingen", + "html_url": "https://github.com/marcklingen" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3796, - "title": "Manually setting up Langchain Callback handler with explicit values doesn't configure langfuse client in decorator approach", - "href": "https://github.com/orgs/langfuse/discussions/3796", - "created_at": "2024-10-17T08:36:51Z", + "number": 3761, + "title": "DsPY type optimization functionality", + "href": "https://github.com/orgs/langfuse/discussions/3761", + "created_at": "2024-10-15T20:02:39Z", "upvotes": 1, - "comment_count": 2, - "resolved": true, + "comment_count": 1, + "resolved": false, "labels": [ - "integration-langchain" + "integration-dspy" ], "author": { - "login": "FaresKi", - "html_url": "https://github.com/FaresKi" + "login": "nikshepsvn", + "html_url": "https://github.com/nikshepsvn" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3780, - "title": "How to use prompt management with litellm's integration with langfuse?", - "href": "https://github.com/orgs/langfuse/discussions/3780", - "created_at": "2024-10-16T16:48:40Z", - "upvotes": 2, - "comment_count": 8, - "resolved": true, + "number": 3755, + "title": "Intergrate with Ragflow", + "href": "https://github.com/orgs/langfuse/discussions/3755", + "created_at": "2024-10-15T06:54:12Z", + "upvotes": 3, + "comment_count": 1, + "resolved": false, "labels": [ - "feat-prompt-management", - "integration-litellm" + "integrations" ], "author": { - "login": "GildeshAbhay", - "html_url": "https://github.com/GildeshAbhay" + "login": "chuwe000", + "html_url": "https://github.com/chuwe000" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3779, - "title": "Annotation Queues and Session IDs and Datasets and LLM Security", - "href": "https://github.com/orgs/langfuse/discussions/3779", - "created_at": "2024-10-16T14:55:09Z", + "number": 3802, + "title": "Get Observation IDs of sub chains when using @observe decorator combined with Langchain", + "href": "https://github.com/orgs/langfuse/discussions/3802", + "created_at": "2024-10-14T14:22:38Z", "upvotes": 1, - "comment_count": 3, + "comment_count": 4, "resolved": false, - "labels": [], + "labels": [ + "sdk-python", + "integration-langchain", + "integration-python-decorator" + ], "author": { - "login": "paolotamag", - "html_url": "https://github.com/paolotamag" + "login": "guusfrenken-wk", + "html_url": "https://github.com/guusfrenken-wk" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3778, - "title": "Observe decorator not working with custom langchain model & custom langfuse callback handler", - "href": "https://github.com/orgs/langfuse/discussions/3778", - "created_at": "2024-10-16T12:36:02Z", + "number": 3725, + "title": "observe context manager", + "href": "https://github.com/orgs/langfuse/discussions/3725", + "created_at": "2024-10-12T07:33:09Z", "upvotes": 1, - "comment_count": 2, - "resolved": true, + "comment_count": 1, + "resolved": false, "labels": [], "author": { - "login": "FaresKi", - "html_url": "https://github.com/FaresKi" + "login": "eliorc", + "html_url": "https://github.com/eliorc" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3777, - "title": "Error when trying to upgrade my langfuse deployment", - "href": "https://github.com/orgs/langfuse/discussions/3777", - "created_at": "2024-10-16T09:25:53Z", - "upvotes": 2, + "number": 3723, + "title": "Terminal version of Langfuse (Langfuse CLI)", + "href": "https://github.com/orgs/langfuse/discussions/3723", + "created_at": "2024-10-11T21:06:48Z", + "upvotes": 3, "comment_count": 2, "resolved": false, - "labels": [ - "self-hosting" - ], + "labels": [], "author": { - "login": "nithin1995", - "html_url": "https://github.com/nithin1995" + "login": "Shahin-rmz", + "html_url": "https://github.com/Shahin-rmz" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3766, - "title": "Latency and total cost for runs are not computed", - "href": "https://github.com/orgs/langfuse/discussions/3766", - "created_at": "2024-10-15T21:38:15Z", - "upvotes": 1, - "comment_count": 3, - "resolved": true, - "labels": [], + "number": 3681, + "title": "Evalution of a prompt by a LLM", + "href": "https://github.com/orgs/langfuse/discussions/3681", + "created_at": "2024-10-09T19:17:30Z", + "upvotes": 3, + "comment_count": 0, + "resolved": false, + "labels": [ + "feat-prompt-management" + ], "author": { - "login": "ldbolanos", - "html_url": "https://github.com/ldbolanos" + "login": "jannikmaierhoefer", + "html_url": "https://github.com/jannikmaierhoefer" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3764, - "title": "Best practices for tracing an app with history and tool usage", - "href": "https://github.com/orgs/langfuse/discussions/3764", - "created_at": "2024-10-15T21:27:34Z", - "upvotes": 2, - "comment_count": 3, - "resolved": true, + "number": 3663, + "title": "Dashboard: Add time to first token chart (ttft)", + "href": "https://github.com/orgs/langfuse/discussions/3663", + "created_at": "2024-10-08T23:56:42Z", + "upvotes": 6, + "comment_count": 0, + "resolved": false, "labels": [ - "integration-openai" + "feat-dashboard" ], "author": { - "login": "machulav", - "html_url": "https://github.com/machulav" + "login": "marcklingen", + "html_url": "https://github.com/marcklingen" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3756, - "title": "How to create an eval config for prompts using python api?", - "href": "https://github.com/orgs/langfuse/discussions/3756", - "created_at": "2024-10-15T09:20:06Z", - "upvotes": 1, - "comment_count": 2, - "resolved": true, - "labels": [ - "feat-evals" - ], + "number": 3646, + "title": "Table sorting and filtering in database runs", + "href": "https://github.com/orgs/langfuse/discussions/3646", + "created_at": "2024-10-08T11:13:52Z", + "upvotes": 2, + "comment_count": 0, + "resolved": false, + "labels": [], "author": { - "login": "GildeshAbhay", - "html_url": "https://github.com/GildeshAbhay" + "login": "FlorDonnaSanders", + "html_url": "https://github.com/FlorDonnaSanders" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3737, - "title": "Monitoring for multi agent systems (OpenWebUI)", - "href": "https://github.com/orgs/langfuse/discussions/3737", - "created_at": "2024-10-14T16:50:17Z", + "number": 3618, + "title": "User Aliases", + "href": "https://github.com/orgs/langfuse/discussions/3618", + "created_at": "2024-10-07T07:51:49Z", "upvotes": 1, - "comment_count": 3, - "resolved": true, - "labels": [ - "integration-openwebui" - ], + "comment_count": 1, + "resolved": false, + "labels": [], "author": { - "login": "OM-EL", - "html_url": "https://github.com/OM-EL" + "login": "FlorDonnaSanders", + "html_url": "https://github.com/FlorDonnaSanders" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3735, - "title": "Is it possible to use tools calling and structured output in the Prompts UI and Playground?", - "href": "https://github.com/orgs/langfuse/discussions/3735", - "created_at": "2024-10-14T16:43:23Z", - "upvotes": 1, - "comment_count": 2, - "resolved": true, - "labels": [ - "feat-prompt-management", - "feat-playground" - ], + "number": 3576, + "title": "feat: edit custom model definitions", + "href": "https://github.com/orgs/langfuse/discussions/3576", + "created_at": "2024-10-04T12:40:54Z", + "upvotes": 3, + "comment_count": 0, + "resolved": false, + "labels": [], "author": { - "login": "mifopen", - "html_url": "https://github.com/mifopen" + "login": "nialldevlin1", + "html_url": "https://github.com/nialldevlin1" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3718, - "title": "How to delete a Session?", - "href": "https://github.com/orgs/langfuse/discussions/3718", - "created_at": "2024-10-11T14:51:46Z", - "upvotes": 1, - "comment_count": 2, - "resolved": true, + "number": 3558, + "title": "Dashboard: split prompt/completion/total tokens", + "href": "https://github.com/orgs/langfuse/discussions/3558", + "created_at": "2024-10-02T02:17:47Z", + "upvotes": 6, + "comment_count": 0, + "resolved": false, "labels": [ - "feat-sessions" + "feat-dashboard" ], "author": { - "login": "augustoolucas", - "html_url": "https://github.com/augustoolucas" + "login": "marcklingen", + "html_url": "https://github.com/marcklingen" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3717, - "title": "Llamaindex Workflow does't work with Instrumentation Module", - "href": "https://github.com/orgs/langfuse/discussions/3717", - "created_at": "2024-10-11T10:27:09Z", - "upvotes": 1, - "comment_count": 3, - "resolved": true, + "number": 3551, + "title": "Metrics API to support the OpenMetrics format", + "href": "https://github.com/orgs/langfuse/discussions/3551", + "created_at": "2024-10-01T15:03:02Z", + "upvotes": 3, + "comment_count": 0, + "resolved": false, + "labels": [], + "author": { + "login": "shukawam", + "html_url": "https://github.com/shukawam" + }, + "category": "Ideas" + }, + { + "number": 3550, + "title": "Asynchronous Langfuse Client.", + "href": "https://github.com/orgs/langfuse/discussions/3550", + "created_at": "2024-10-01T14:03:48Z", + "upvotes": 8, + "comment_count": 1, + "resolved": false, "labels": [ - "integraton-llamaindex" + "sdk-python" ], "author": { - "login": "ntdanhtma", - "html_url": "https://github.com/ntdanhtma" + "login": "fimselamse", + "html_url": "https://github.com/fimselamse" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3698, - "title": "Can I use Amazon Bedrock for Langfuse Evals?", - "href": "https://github.com/orgs/langfuse/discussions/3698", - "created_at": "2024-10-10T15:34:48Z", + "number": 3546, + "title": "Add SCIM support for user/role/identity management", + "href": "https://github.com/orgs/langfuse/discussions/3546", + "created_at": "2024-10-01T02:18:33Z", "upvotes": 1, - "comment_count": 5, - "resolved": true, + "comment_count": 1, + "resolved": false, "labels": [ - "feat-evals", - "integration-amazon-bedrock" + "feat-api", + "security" ], "author": { - "login": "j10sanders", - "html_url": "https://github.com/j10sanders" + "login": "marcklingen", + "html_url": "https://github.com/marcklingen" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3679, - "title": "Langfuse / Langflow not intergrating", - "href": "https://github.com/orgs/langfuse/discussions/3679", - "created_at": "2024-10-09T17:06:32Z", + "number": 3538, + "title": "Vector search for datasets for few-shot prompting", + "href": "https://github.com/orgs/langfuse/discussions/3538", + "created_at": "2024-09-30T17:31:18Z", "upvotes": 1, - "comment_count": 2, + "comment_count": 1, "resolved": false, "labels": [ - "integration-langflow" + "feat-datasets" ], "author": { - "login": "colecal", - "html_url": "https://github.com/colecal" + "login": "antoniomdk", + "html_url": "https://github.com/antoniomdk" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3678, - "title": "Langfuse not tracing code from my VM (server)", - "href": "https://github.com/orgs/langfuse/discussions/3678", - "created_at": "2024-10-09T14:56:05Z", - "upvotes": 1, - "comment_count": 1, + "number": 3529, + "title": "Sampling for JS/TS SDKs and integrations", + "href": "https://github.com/orgs/langfuse/discussions/3529", + "created_at": "2024-09-30T05:44:07Z", + "upvotes": 8, + "comment_count": 0, "resolved": false, "labels": [ - "self-hosting" + "feat-sampling" ], "author": { - "login": "akbar-mta", - "html_url": "https://github.com/akbar-mta" + "login": "marcklingen", + "html_url": "https://github.com/marcklingen" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3674, - "title": "Docs for K8s deployments", - "href": "https://github.com/orgs/langfuse/discussions/3674", - "created_at": "2024-10-09T09:52:05Z", + "number": 3528, + "title": "Add saved filters config", + "href": "https://github.com/orgs/langfuse/discussions/3528", + "created_at": "2024-09-30T05:36:44Z", "upvotes": 1, - "comment_count": 2, - "resolved": true, + "comment_count": 1, + "resolved": false, "labels": [ - "self-hosting" + "ui" ], "author": { - "login": "Brant-lzh", - "html_url": "https://github.com/Brant-lzh" + "login": "emaugars12", + "html_url": "https://github.com/emaugars12" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3645, - "title": "Cannot Sign In or Sign Up to Local Langfuse Instance", - "href": "https://github.com/orgs/langfuse/discussions/3645", - "created_at": "2024-10-08T11:09:48Z", - "upvotes": 1, - "comment_count": 2, - "resolved": true, - "labels": [], + "number": 3527, + "title": "Show prompt-level aggregate metrics on the prompts table", + "href": "https://github.com/orgs/langfuse/discussions/3527", + "created_at": "2024-09-30T00:33:43Z", + "upvotes": 4, + "comment_count": 0, + "resolved": false, + "labels": [ + "feat-prompt-management" + ], "author": { - "login": "Patryk-Chlanda", - "html_url": "https://github.com/Patryk-Chlanda" + "login": "marcklingen", + "html_url": "https://github.com/marcklingen" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3641, - "title": "Sign in and Sign up button is greyed out", - "href": "https://github.com/orgs/langfuse/discussions/3641", - "created_at": "2024-10-08T09:32:16Z", + "number": 3524, + "title": "Field-level selection for input/output filtering in decorator instead of using update_current_observation/trace", + "href": "https://github.com/orgs/langfuse/discussions/3524", + "created_at": "2024-09-29T08:28:45Z", "upvotes": 1, - "comment_count": 2, - "resolved": true, - "labels": [], + "comment_count": 4, + "resolved": false, + "labels": [ + "integration-python-decorator" + ], "author": { - "login": "akbar-mta", - "html_url": "https://github.com/akbar-mta" + "login": "amir-mic-lin", + "html_url": "https://github.com/amir-mic-lin" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3637, - "title": "Sign In Button Remains Disabled When Logging in with Email/Password on Langfuse Self-Hosted", - "href": "https://github.com/orgs/langfuse/discussions/3637", - "created_at": "2024-10-08T06:40:05Z", - "upvotes": 2, - "comment_count": 2, - "resolved": true, + "number": 3508, + "title": "feat: organization level dashboard", + "href": "https://github.com/orgs/langfuse/discussions/3508", + "created_at": "2024-09-27T13:48:13Z", + "upvotes": 1, + "comment_count": 1, + "resolved": false, "labels": [], "author": { - "login": "tubone24", - "html_url": "https://github.com/tubone24" + "login": "nialldevlin1", + "html_url": "https://github.com/nialldevlin1" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3615, - "title": "Failing with internal server error when trying to add score to a trace", - "href": "https://github.com/orgs/langfuse/discussions/3615", - "created_at": "2024-10-07T06:15:14Z", + "number": 3478, + "title": "TextGrad integration", + "href": "https://github.com/orgs/langfuse/discussions/3478", + "created_at": "2024-09-25T16:13:45Z", "upvotes": 1, - "comment_count": 2, - "resolved": true, - "labels": [], + "comment_count": 1, + "resolved": false, + "labels": [ + "integrations" + ], "author": { - "login": "nithin1995", - "html_url": "https://github.com/nithin1995" + "login": "sakthi-geek", + "html_url": "https://github.com/sakthi-geek" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3592, - "title": "Set trace_id in Langchain CallbackHandler", - "href": "https://github.com/orgs/langfuse/discussions/3592", - "created_at": "2024-10-05T11:09:30Z", - "upvotes": 1, - "comment_count": 1, - "resolved": true, - "labels": [], + "number": 3476, + "title": "Chart: usage/metrics grouped by tags", + "href": "https://github.com/orgs/langfuse/discussions/3476", + "created_at": "2024-09-25T13:54:14Z", + "upvotes": 2, + "comment_count": 0, + "resolved": false, + "labels": [ + "feat-dashboard", + "feat-tags" + ], "author": { - "login": "michaelpoluektov", - "html_url": "https://github.com/michaelpoluektov" + "login": "marcklingen", + "html_url": "https://github.com/marcklingen" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3574, - "title": "Automated provisioning of default resources in self hosting", - "href": "https://github.com/orgs/langfuse/discussions/3574", - "created_at": "2024-10-04T06:44:45Z", - "upvotes": 1, - "comment_count": 2, - "resolved": true, + "number": 3472, + "title": "Dashboard: add chart for unique users (MAU/WAU/DAU)", + "href": "https://github.com/orgs/langfuse/discussions/3472", + "created_at": "2024-09-25T11:37:30Z", + "upvotes": 2, + "comment_count": 0, + "resolved": false, "labels": [ - "self-hosting" + "feat-dashboard", + "feat-users" ], "author": { - "login": "Harinisri29", - "html_url": "https://github.com/Harinisri29" + "login": "marcklingen", + "html_url": "https://github.com/marcklingen" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3569, - "title": "UnauthorizedError: No authorization header After Switching to Headless Initialization", - "href": "https://github.com/orgs/langfuse/discussions/3569", - "created_at": "2024-10-03T08:52:35Z", + "number": 3447, + "title": "Playground: Move messages / add messages in-between others", + "href": "https://github.com/orgs/langfuse/discussions/3447", + "created_at": "2024-09-23T09:16:23Z", "upvotes": 2, - "comment_count": 2, + "comment_count": 0, "resolved": false, - "labels": [], + "labels": [ + "feat-playground" + ], "author": { - "login": "chandel-aman", - "html_url": "https://github.com/chandel-aman" + "login": "jannikmaierhoefer", + "html_url": "https://github.com/jannikmaierhoefer" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3559, - "title": "Token Cost using OpenRouter", - "href": "https://github.com/orgs/langfuse/discussions/3559", - "created_at": "2024-10-02T05:25:14Z", + "number": 3443, + "title": "Why not extend observeOpenAI to support message-level user id?", + "href": "https://github.com/orgs/langfuse/discussions/3443", + "created_at": "2024-09-21T23:57:57Z", "upvotes": 1, "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [], "author": { - "login": "austinm911", - "html_url": "https://github.com/austinm911" + "login": "derrickstaten", + "html_url": "https://github.com/derrickstaten" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3557, - "title": "Link 2 traces", - "href": "https://github.com/orgs/langfuse/discussions/3557", - "created_at": "2024-10-02T02:14:27Z", - "upvotes": 1, + "number": 3439, + "title": "Filtering dataset items", + "href": "https://github.com/orgs/langfuse/discussions/3439", + "created_at": "2024-09-21T01:51:33Z", + "upvotes": 3, + "comment_count": 0, + "resolved": false, + "labels": [ + "feat-datasets" + ], + "author": { + "login": "emaugars12", + "html_url": "https://github.com/emaugars12" + }, + "category": "Ideas" + }, + { + "number": 3438, + "title": "Support export for Dataset Items", + "href": "https://github.com/orgs/langfuse/discussions/3438", + "created_at": "2024-09-20T22:57:21Z", + "upvotes": 4, + "comment_count": 0, + "resolved": false, + "labels": [ + "feat-datasets" + ], + "author": { + "login": "uladkaminski", + "html_url": "https://github.com/uladkaminski" + }, + "category": "Ideas" + }, + { + "number": 3436, + "title": "Prompt label promotion via api/sdk", + "href": "https://github.com/orgs/langfuse/discussions/3436", + "created_at": "2024-09-20T21:32:07Z", + "upvotes": 2, "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [], "author": { - "login": "saiprasath21", - "html_url": "https://github.com/saiprasath21" + "login": "mrdrprofuroboros", + "html_url": "https://github.com/mrdrprofuroboros" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3556, - "title": "Update a trace", - "href": "https://github.com/orgs/langfuse/discussions/3556", - "created_at": "2024-10-02T02:10:15Z", + "number": 3431, + "title": "3rd option for \"sharing\" traces publicly", + "href": "https://github.com/orgs/langfuse/discussions/3431", + "created_at": "2024-09-20T16:29:28Z", "upvotes": 1, - "comment_count": 1, - "resolved": true, + "comment_count": 0, + "resolved": false, "labels": [], "author": { - "login": "saiprasath21", - "html_url": "https://github.com/saiprasath21" + "login": "jannikmaierhoefer", + "html_url": "https://github.com/jannikmaierhoefer" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3553, - "title": "How to track DSPy call within Langgraph", - "href": "https://github.com/orgs/langfuse/discussions/3553", - "created_at": "2024-10-01T20:00:11Z", + "number": 3415, + "title": "Only use traces in the dataset to render score columns", + "href": "https://github.com/orgs/langfuse/discussions/3415", + "created_at": "2024-09-19T17:36:44Z", "upvotes": 1, "comment_count": 1, "resolved": false, "labels": [ - "integration-langchain", - "integration-dspy" + "feat-datasets" ], "author": { - "login": "marcklingen", - "html_url": "https://github.com/marcklingen" + "login": "micahstairs", + "html_url": "https://github.com/micahstairs" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3552, - "title": "LlamaIndex traces grouping", - "href": "https://github.com/orgs/langfuse/discussions/3552", - "created_at": "2024-10-01T18:35:11Z", + "number": 3412, + "title": "Source code versioning and automatic statistics caluclation from scores", + "href": "https://github.com/orgs/langfuse/discussions/3412", + "created_at": "2024-09-19T10:44:02Z", "upvotes": 1, - "comment_count": 2, - "resolved": true, + "comment_count": 1, + "resolved": false, "labels": [ - "integraton-llamaindex" + "feat-scores" ], "author": { - "login": "ivanviragine", - "html_url": "https://github.com/ivanviragine" + "login": "ge28yen", + "html_url": "https://github.com/ge28yen" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3549, - "title": "create api keys pair using some method or api", - "href": "https://github.com/orgs/langfuse/discussions/3549", - "created_at": "2024-10-01T11:45:12Z", - "upvotes": 1, - "comment_count": 2, - "resolved": true, + "number": 3409, + "title": "Add graph view for LangGraph traces", + "href": "https://github.com/orgs/langfuse/discussions/3409", + "created_at": "2024-09-19T07:55:02Z", + "upvotes": 5, + "comment_count": 1, + "resolved": false, "labels": [ - "self-hosting" + "integration-langchain" ], "author": { - "login": "ryanrib14", - "html_url": "https://github.com/ryanrib14" + "login": "hassiebp", + "html_url": "https://github.com/hassiebp" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3545, - "title": "How to Set Custom Trace ID with a Decorator and Include langfuse_observation_id?", - "href": "https://github.com/orgs/langfuse/discussions/3545", - "created_at": "2024-10-01T02:04:03Z", - "upvotes": 1, - "comment_count": 2, - "resolved": true, + "number": 3402, + "title": "Mask / redact PII from traces logged to langfuse", + "href": "https://github.com/orgs/langfuse/discussions/3402", + "created_at": "2024-09-18T21:04:06Z", + "upvotes": 6, + "comment_count": 3, + "resolved": false, "labels": [ - "integration-python-decorator" + "✅ Done", + "security" ], "author": { - "login": "octadion", - "html_url": "https://github.com/octadion" + "login": "marcklingen", + "html_url": "https://github.com/marcklingen" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3540, - "title": "error ❌ tRPC failed on public.checkUpdate: Failed to fetch or json parse the latest releases Failed to fetch or json parse the latest releases", - "href": "https://github.com/orgs/langfuse/discussions/3540", - "created_at": "2024-09-30T20:29:22Z", + "number": 3401, + "title": "Make compile and get_langchain_prompt interoperable when using a prompt from langfuse in langchain", + "href": "https://github.com/orgs/langfuse/discussions/3401", + "created_at": "2024-09-18T21:03:20Z", "upvotes": 1, - "comment_count": 1, - "resolved": true, + "comment_count": 2, + "resolved": false, "labels": [ - "self-hosting" + "feat-prompt-management", + "integration-langchain", + "✅ Done" ], "author": { - "login": "FaresKi", - "html_url": "https://github.com/FaresKi" + "login": "ajram23", + "html_url": "https://github.com/ajram23" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3531, - "title": "is it possible to assign a label to an existing prompt via API/SDK ?", - "href": "https://github.com/orgs/langfuse/discussions/3531", - "created_at": "2024-09-30T07:49:28Z", - "upvotes": 1, + "number": 3396, + "title": "Better mustache/jinja support in langfuse playground", + "href": "https://github.com/orgs/langfuse/discussions/3396", + "created_at": "2024-09-18T11:54:28Z", + "upvotes": 3, "comment_count": 2, - "resolved": true, + "resolved": false, "labels": [ - "feat-prompt-management" + "feat-playground" ], "author": { - "login": "simicvm", - "html_url": "https://github.com/simicvm" + "login": "FlorDonnaSanders", + "html_url": "https://github.com/FlorDonnaSanders" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3525, - "title": "Applying database migrations failed. This is mostly caused by the database being unavailable", - "href": "https://github.com/orgs/langfuse/discussions/3525", - "created_at": "2024-09-29T11:14:04Z", - "upvotes": 1, - "comment_count": 3, + "number": 3395, + "title": "Add fine-grained filtering options in python `fetch_traces` API to match web UI", + "href": "https://github.com/orgs/langfuse/discussions/3395", + "created_at": "2024-09-18T11:18:20Z", + "upvotes": 2, + "comment_count": 0, "resolved": false, - "labels": [ - "self-hosting" - ], + "labels": [], "author": { - "login": "NanthagopalEswaran", - "html_url": "https://github.com/NanthagopalEswaran" + "login": "evangriffiths", + "html_url": "https://github.com/evangriffiths" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3521, - "title": "is it open source or not?", - "href": "https://github.com/orgs/langfuse/discussions/3521", - "created_at": "2024-09-27T22:07:52Z", + "number": 3376, + "title": "Allow LangchainCallbackHandler to specify custom input/output?", + "href": "https://github.com/orgs/langfuse/discussions/3376", + "created_at": "2024-09-16T23:45:18Z", "upvotes": 1, "comment_count": 1, - "resolved": true, - "labels": [], + "resolved": false, + "labels": [ + "integration-langchain" + ], "author": { - "login": "severfire", - "html_url": "https://github.com/severfire" + "login": "xxkennyxu", + "html_url": "https://github.com/xxkennyxu" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3520, - "title": "Langfuse not logging costs on Vertex AI gemini-1.5-flash-002.", - "href": "https://github.com/orgs/langfuse/discussions/3520", - "created_at": "2024-09-27T18:51:08Z", - "upvotes": 1, + "number": 3375, + "title": "Promptfoo integration", + "href": "https://github.com/orgs/langfuse/discussions/3375", + "created_at": "2024-09-16T23:34:34Z", + "upvotes": 2, "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [ - "integraton-llamaindex" + "integrations" ], "author": { - "login": "arthurbrenno", - "html_url": "https://github.com/arthurbrenno" + "login": "aiseei", + "html_url": "https://github.com/aiseei" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3503, - "title": "Not possible to delete prompts programmatically, (langfuse python library or api)", - "href": "https://github.com/orgs/langfuse/discussions/3503", - "created_at": "2024-09-27T12:33:52Z", + "number": 3367, + "title": "Default closed dropdown view in trace details", + "href": "https://github.com/orgs/langfuse/discussions/3367", + "created_at": "2024-09-16T12:47:26Z", "upvotes": 2, - "comment_count": 2, - "resolved": true, + "comment_count": 1, + "resolved": false, "labels": [ - "feat-prompt-management" + "ui" ], "author": { - "login": "RealGammaNL", - "html_url": "https://github.com/RealGammaNL" + "login": "jannikmaierhoefer", + "html_url": "https://github.com/jannikmaierhoefer" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3496, - "title": "Unable to fetch prompts without production label", - "href": "https://github.com/orgs/langfuse/discussions/3496", - "created_at": "2024-09-27T03:27:52Z", - "upvotes": 1, + "number": 3363, + "title": "Dashboard: TPM chart", + "href": "https://github.com/orgs/langfuse/discussions/3363", + "created_at": "2024-09-16T07:53:52Z", + "upvotes": 2, "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [ - "feat-prompt-management" + "feat-dashboard" ], "author": { - "login": "chandel-aman", - "html_url": "https://github.com/chandel-aman" + "login": "afonsomatos", + "html_url": "https://github.com/afonsomatos" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3489, - "title": "Missing input/output on trace when using openai js integration", - "href": "https://github.com/orgs/langfuse/discussions/3489", - "created_at": "2024-09-26T15:36:06Z", + "number": 3361, + "title": "Group Similar or Consecutive Traces", + "href": "https://github.com/orgs/langfuse/discussions/3361", + "created_at": "2024-09-16T05:38:40Z", "upvotes": 1, - "comment_count": 2, + "comment_count": 1, "resolved": false, - "labels": [ - "integration-openai" - ], + "labels": [], "author": { - "login": "dimitrydesilias", - "html_url": "https://github.com/dimitrydesilias" + "login": "rvndbalaji", + "html_url": "https://github.com/rvndbalaji" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3486, - "title": "Bind all multiple hierarchical call against session-id instead of opening multiple threads", - "href": "https://github.com/orgs/langfuse/discussions/3486", - "created_at": "2024-09-26T06:31:20Z", + "number": 3358, + "title": "More customization in graphs and dashboard panels", + "href": "https://github.com/orgs/langfuse/discussions/3358", + "created_at": "2024-09-14T03:12:38Z", "upvotes": 1, - "comment_count": 3, - "resolved": true, + "comment_count": 1, + "resolved": false, "labels": [ - "integration-python-decorator" + "feat-dashboard" ], "author": { - "login": "ajeet6261", - "html_url": "https://github.com/ajeet6261" + "login": "emaugars12", + "html_url": "https://github.com/emaugars12" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3485, - "title": "How to avoid memory leaks due to LangchainCallbackHandler while using userId and sessionId", - "href": "https://github.com/orgs/langfuse/discussions/3485", - "created_at": "2024-09-26T00:07:14Z", - "upvotes": 1, - "comment_count": 6, - "resolved": true, + "number": 3352, + "title": "LLM Based Evaluation - more control with mapping a variable e.g. {{query}}, {{ground_truth}} etc inside of Input/Output/Metadata observation", + "href": "https://github.com/orgs/langfuse/discussions/3352", + "created_at": "2024-09-13T16:58:05Z", + "upvotes": 2, + "comment_count": 1, + "resolved": false, + "labels": [], + "author": { + "login": "stepanogil", + "html_url": "https://github.com/stepanogil" + }, + "category": "Ideas" + }, + { + "number": 3351, + "title": "Support for Firebase Genkit", + "href": "https://github.com/orgs/langfuse/discussions/3351", + "created_at": "2024-09-13T16:29:07Z", + "upvotes": 1, + "comment_count": 1, + "resolved": false, "labels": [ - "integration-langchain", - "feat-users", - "feat-sessions" + "integrations" ], "author": { - "login": "Chengdyc", - "html_url": "https://github.com/Chengdyc" + "login": "debkanchan", + "html_url": "https://github.com/debkanchan" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3480, - "title": "How to provide a TLS Cert for PGSQL cloud connection in Langfuse docker container?", - "href": "https://github.com/orgs/langfuse/discussions/3480", - "created_at": "2024-09-25T20:44:17Z", - "upvotes": 1, - "comment_count": 2, - "resolved": true, + "number": 3338, + "title": "o1-preview and o1-mini support", + "href": "https://github.com/orgs/langfuse/discussions/3338", + "created_at": "2024-09-13T07:16:22Z", + "upvotes": 2, + "comment_count": 3, + "resolved": false, "labels": [ - "self-hosting" + "✅ Done" ], "author": { - "login": "barvhaim", - "html_url": "https://github.com/barvhaim" + "login": "juan-abia", + "html_url": "https://github.com/juan-abia" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3477, - "title": "LangFuse Low Level SDK does not render images by passing the link", - "href": "https://github.com/orgs/langfuse/discussions/3477", - "created_at": "2024-09-25T15:15:54Z", + "number": 3336, + "title": "Add Notification for / in Comments Objects", + "href": "https://github.com/orgs/langfuse/discussions/3336", + "created_at": "2024-09-13T00:04:16Z", "upvotes": 1, "comment_count": 1, "resolved": false, "labels": [ - "feat-multimodal" + "feat-comments" ], "author": { - "login": "VikramShenoy97", - "html_url": "https://github.com/VikramShenoy97" + "login": "Zugunruhekami", + "html_url": "https://github.com/Zugunruhekami" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3469, - "title": "raise exception when handle_span_events", - "href": "https://github.com/orgs/langfuse/discussions/3469", - "created_at": "2024-09-25T00:56:32Z", + "number": 3335, + "title": "Extend Searchability (through filter) for Comments Objects", + "href": "https://github.com/orgs/langfuse/discussions/3335", + "created_at": "2024-09-12T23:58:17Z", "upvotes": 1, - "comment_count": 2, + "comment_count": 0, "resolved": false, - "labels": [], + "labels": [ + "feat-comments" + ], "author": { - "login": "nightosong", - "html_url": "https://github.com/nightosong" + "login": "Zugunruhekami", + "html_url": "https://github.com/Zugunruhekami" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3466, - "title": "How to get costs associated with an API call / user?", - "href": "https://github.com/orgs/langfuse/discussions/3466", - "created_at": "2024-09-24T19:33:56Z", - "upvotes": 1, - "comment_count": 1, - "resolved": true, + "number": 3291, + "title": "Filter by error in sub span", + "href": "https://github.com/orgs/langfuse/discussions/3291", + "created_at": "2024-09-10T13:20:11Z", + "upvotes": 2, + "comment_count": 3, + "resolved": false, "labels": [ - "feat-users", - "feat-cost-tracking" + "✅ Done", + "feat-log-levels" ], "author": { - "login": "punkpeye", - "html_url": "https://github.com/punkpeye" + "login": "bettlebrox", + "html_url": "https://github.com/bettlebrox" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3465, - "title": "How to run langfuse locally while using a hosted database", - "href": "https://github.com/orgs/langfuse/discussions/3465", - "created_at": "2024-09-24T14:24:29Z", + "number": 3289, + "title": "Deleting old, unused tags or making them unseen if weren't used in the chosen time window.", + "href": "https://github.com/orgs/langfuse/discussions/3289", + "created_at": "2024-09-10T12:56:43Z", "upvotes": 1, "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [ - "self-hosting" + "feat-tags" ], "author": { - "login": "wil0u", - "html_url": "https://github.com/wil0u" + "login": "constalozinschi", + "html_url": "https://github.com/constalozinschi" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3462, - "title": "how to set user_id or session_id in trace?", - "href": "https://github.com/orgs/langfuse/discussions/3462", - "created_at": "2024-09-24T08:34:59Z", - "upvotes": 1, + "number": 3285, + "title": "SDK-JS: Allow to delete one or more trace", + "href": "https://github.com/orgs/langfuse/discussions/3285", + "created_at": "2024-09-10T09:26:04Z", + "upvotes": 5, "comment_count": 2, - "resolved": true, + "resolved": false, "labels": [ - "integration-python-decorator", - "feat-users", - "feat-sessions" + "sdk-js" ], "author": { - "login": "yumc2573", - "html_url": "https://github.com/yumc2573" + "login": "Lunik", + "html_url": "https://github.com/Lunik" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3460, - "title": "Langfuse observation for openai embeddings method", - "href": "https://github.com/orgs/langfuse/discussions/3460", - "created_at": "2024-09-24T06:01:06Z", - "upvotes": 2, - "comment_count": 2, - "resolved": true, + "number": 3276, + "title": "Retrieve the trace by metdata", + "href": "https://github.com/orgs/langfuse/discussions/3276", + "created_at": "2024-09-09T20:51:08Z", + "upvotes": 3, + "comment_count": 0, + "resolved": false, "labels": [ - "integration-openai", - "integration-python-decorator", - "feat-cost-tracking" + "feat-metadata" ], "author": { - "login": "simrangulati-jktech", - "html_url": "https://github.com/simrangulati-jktech" + "login": "gingerjx", + "html_url": "https://github.com/gingerjx" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3446, - "title": "Right way to migrate langfuse deployed on K8s within an AWS account", - "href": "https://github.com/orgs/langfuse/discussions/3446", - "created_at": "2024-09-23T06:32:02Z", - "upvotes": 1, - "comment_count": 1, - "resolved": true, + "number": 3275, + "title": "Include metrics and scores in getDatasetRun / `GET /api/public/datasets/{datasetName}/runs/{runName}`", + "href": "https://github.com/orgs/langfuse/discussions/3275", + "created_at": "2024-09-09T20:48:16Z", + "upvotes": 3, + "comment_count": 0, + "resolved": false, "labels": [ - "self-hosting" + "feat-datasets" ], "author": { - "login": "nithin1995", - "html_url": "https://github.com/nithin1995" + "login": "gingerjx", + "html_url": "https://github.com/gingerjx" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3435, - "title": "Langfuse is inconsistently generating span latencies table in traces greater than 36K entiries", - "href": "https://github.com/orgs/langfuse/discussions/3435", - "created_at": "2024-09-20T18:54:28Z", + "number": 3273, + "title": "Custom Themes", + "href": "https://github.com/orgs/langfuse/discussions/3273", + "created_at": "2024-09-09T15:08:25Z", "upvotes": 1, - "comment_count": 3, - "resolved": true, + "comment_count": 1, + "resolved": false, "labels": [], "author": { - "login": "databloom", - "html_url": "https://github.com/databloom" + "login": "rvndbalaji", + "html_url": "https://github.com/rvndbalaji" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3429, - "title": "Async version of Langfuse.get_prompt", - "href": "https://github.com/orgs/langfuse/discussions/3429", - "created_at": "2024-09-20T14:26:51Z", + "number": 3263, + "title": "Comment API", + "href": "https://github.com/orgs/langfuse/discussions/3263", + "created_at": "2024-09-07T05:53:31Z", "upvotes": 1, "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [ - "feat-prompt-management" + "feat-api", + "feat-datasets" ], "author": { - "login": "antoniomdk", - "html_url": "https://github.com/antoniomdk" + "login": "darvin", + "html_url": "https://github.com/darvin" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3420, - "title": "Help setting up GCP host (cloudbuild or console)", - "href": "https://github.com/orgs/langfuse/discussions/3420", - "created_at": "2024-09-20T04:34:35Z", - "upvotes": 1, - "comment_count": 3, + "number": 3256, + "title": "Integration with LangChain4j", + "href": "https://github.com/orgs/langfuse/discussions/3256", + "created_at": "2024-09-06T15:50:51Z", + "upvotes": 2, + "comment_count": 2, "resolved": false, "labels": [ - "self-hosting" + "integrations", + "feat-prompt-management", + "integration-langchain" ], "author": { - "login": "elliottower", - "html_url": "https://github.com/elliottower" + "login": "ruizrube", + "html_url": "https://github.com/ruizrube" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3410, - "title": "Configuring Evaluation with \"Correctness\" Template & Python Code Invocation", - "href": "https://github.com/orgs/langfuse/discussions/3410", - "created_at": "2024-09-19T09:44:42Z", + "number": 3252, + "title": "Need to retain the old evaluation history results, including input and all ground truth", + "href": "https://github.com/orgs/langfuse/discussions/3252", + "created_at": "2024-09-06T03:29:17Z", "upvotes": 1, - "comment_count": 3, - "resolved": true, + "comment_count": 1, + "resolved": false, "labels": [ - "feat-scores" + "feat-datasets" ], "author": { - "login": "zoulou00", - "html_url": "https://github.com/zoulou00" + "login": "serlina", + "html_url": "https://github.com/serlina" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3406, - "title": "Module not found: Can't resolve '@langfuse'", - "href": "https://github.com/orgs/langfuse/discussions/3406", - "created_at": "2024-09-19T05:57:04Z", - "upvotes": 1, - "comment_count": 1, - "resolved": true, + "number": 3243, + "title": "Add organization / project / user / API key management API", + "href": "https://github.com/orgs/langfuse/discussions/3243", + "created_at": "2024-09-05T08:10:12Z", + "upvotes": 9, + "comment_count": 5, + "resolved": false, "labels": [ "self-hosting" ], "author": { - "login": "christosuster", - "html_url": "https://github.com/christosuster" + "login": "EricAntidot", + "html_url": "https://github.com/EricAntidot" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3397, - "title": "tokens and usage cost", - "href": "https://github.com/orgs/langfuse/discussions/3397", - "created_at": "2024-09-18T13:05:07Z", - "upvotes": 1, - "comment_count": 2, - "resolved": true, + "number": 3240, + "title": "Ability to export all traces/sessions/scores from langfuse and import back to another langfuse instance", + "href": "https://github.com/orgs/langfuse/discussions/3240", + "created_at": "2024-09-05T07:11:48Z", + "upvotes": 5, + "comment_count": 1, + "resolved": false, "labels": [ - "feat-cost-tracking" + "self-hosting" ], "author": { - "login": "Karanaiinfox", - "html_url": "https://github.com/Karanaiinfox" + "login": "SinghCoder", + "html_url": "https://github.com/SinghCoder" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3393, - "title": "Self-Host evaluation feature", - "href": "https://github.com/orgs/langfuse/discussions/3393", - "created_at": "2024-09-18T07:55:30Z", - "upvotes": 1, + "number": 3237, + "title": "Support for Selecting Specific Paths from JSON Objects in Evaluation Prompts", + "href": "https://github.com/orgs/langfuse/discussions/3237", + "created_at": "2024-09-05T05:05:48Z", + "upvotes": 2, "comment_count": 2, - "resolved": true, + "resolved": false, "labels": [ "feat-evals" ], "author": { - "login": "MayankBitcot", - "html_url": "https://github.com/MayankBitcot" + "login": "divyanshubhuta", + "html_url": "https://github.com/divyanshubhuta" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3392, - "title": "not able to track entire request end to end in langchain + langfuse", - "href": "https://github.com/orgs/langfuse/discussions/3392", - "created_at": "2024-09-18T07:08:49Z", - "upvotes": 1, - "comment_count": 2, + "number": 3220, + "title": "Trace Logprobs from OpenAI models", + "href": "https://github.com/orgs/langfuse/discussions/3220", + "created_at": "2024-09-04T01:25:15Z", + "upvotes": 2, + "comment_count": 0, "resolved": false, "labels": [ - "integration-langchain" + "integration-openai" ], "author": { - "login": "jaiswalvineet", - "html_url": "https://github.com/jaiswalvineet" + "login": "yusuke-intern", + "html_url": "https://github.com/yusuke-intern" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3379, - "title": "Feedback for “Langfuse Documentation”", - "href": "https://github.com/orgs/langfuse/discussions/3379", - "created_at": "2024-09-17T07:44:56Z", - "upvotes": 1, - "comment_count": 3, + "number": 3215, + "title": "(ui) Ability to hide \"scores\" column", + "href": "https://github.com/orgs/langfuse/discussions/3215", + "created_at": "2024-09-03T15:34:14Z", + "upvotes": 2, + "comment_count": 2, "resolved": false, "labels": [], "author": { - "login": "Preet1234-ux", - "html_url": "https://github.com/Preet1234-ux" + "login": "marctorsoc", + "html_url": "https://github.com/marctorsoc" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3364, - "title": "Hey want to change the Eval Templates name, can we do it from UI", - "href": "https://github.com/orgs/langfuse/discussions/3364", - "created_at": "2024-09-16T08:07:30Z", + "number": 3212, + "title": "Dataset run description and metadata should not be fixed on the page", + "href": "https://github.com/orgs/langfuse/discussions/3212", + "created_at": "2024-09-03T12:30:34Z", "upvotes": 1, - "comment_count": 3, - "resolved": true, + "comment_count": 1, + "resolved": false, "labels": [ - "feat-evals" + "feat-datasets" ], "author": { - "login": "divyanshubhuta", - "html_url": "https://github.com/divyanshubhuta" + "login": "justinas-kazanavicius", + "html_url": "https://github.com/justinas-kazanavicius" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3344, - "title": "How to use langfuse with LangGraph Studio", - "href": "https://github.com/orgs/langfuse/discussions/3344", - "created_at": "2024-09-13T11:35:53Z", - "upvotes": 1, + "number": 3208, + "title": "Support for exporting traces to CSV/JSON", + "href": "https://github.com/orgs/langfuse/discussions/3208", + "created_at": "2024-09-03T08:00:36Z", + "upvotes": 4, "comment_count": 2, "resolved": false, "labels": [ - "integration-langchain" + "✅ Done" ], "author": { - "login": "debkanchan", - "html_url": "https://github.com/debkanchan" + "login": "david1542", + "html_url": "https://github.com/david1542" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3321, - "title": "Session ids for Langserve", - "href": "https://github.com/orgs/langfuse/discussions/3321", - "created_at": "2024-09-11T22:40:01Z", + "number": 3194, + "title": "Optionally set timestamp when creating a score", + "href": "https://github.com/orgs/langfuse/discussions/3194", + "created_at": "2024-09-02T15:20:20Z", "upvotes": 1, "comment_count": 1, "resolved": false, "labels": [ - "integration-langchain", - "feat-sessions" + "feat-api", + "feat-scores" ], "author": { - "login": "YaphetKG", - "html_url": "https://github.com/YaphetKG" + "login": "FlorDonnaSanders", + "html_url": "https://github.com/FlorDonnaSanders" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3313, - "title": "how to pass custom user managed model name to calculate the cost via langchain", - "href": "https://github.com/orgs/langfuse/discussions/3313", - "created_at": "2024-09-11T13:25:48Z", + "number": 3186, + "title": "Setting trace ID and parent observation ID with Python decorator SDK", + "href": "https://github.com/orgs/langfuse/discussions/3186", + "created_at": "2024-09-02T09:27:36Z", "upvotes": 1, "comment_count": 3, - "resolved": true, + "resolved": false, "labels": [ - "integration-langchain", - "feat-cost-tracking" + "✅ Done", + "integration-python-decorator" ], "author": { - "login": "jaiswalvineet", - "html_url": "https://github.com/jaiswalvineet" + "login": "MrOrz", + "html_url": "https://github.com/MrOrz" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3308, - "title": "Automated Prompt Management across Environments", - "href": "https://github.com/orgs/langfuse/discussions/3308", - "created_at": "2024-09-11T09:31:26Z", + "number": 3181, + "title": "Log only metadata", + "href": "https://github.com/orgs/langfuse/discussions/3181", + "created_at": "2024-08-31T18:31:11Z", + "upvotes": 2, + "comment_count": 0, + "resolved": false, + "labels": [], + "author": { + "login": "jan-kubica", + "html_url": "https://github.com/jan-kubica" + }, + "category": "Ideas" + }, + { + "number": 3178, + "title": "The display time on the x-axis of the chart in the Dashboard shows only the date, without hours, minutes, and seconds.", + "href": "https://github.com/orgs/langfuse/discussions/3178", + "created_at": "2024-08-31T04:09:07Z", "upvotes": 1, "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [ - "feat-prompt-management" + "bug", + "✅ Done", + "feat-dashboard" ], "author": { - "login": "jonnyforsterMSG", - "html_url": "https://github.com/jonnyforsterMSG" + "login": "HGladiator", + "html_url": "https://github.com/HGladiator" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3307, - "title": "DataSet Scores are not being displayed", - "href": "https://github.com/orgs/langfuse/discussions/3307", - "created_at": "2024-09-11T08:46:31Z", - "upvotes": 1, - "comment_count": 3, - "resolved": true, + "number": 3166, + "title": "Support Tool Calls / Functions in Playground", + "href": "https://github.com/orgs/langfuse/discussions/3166", + "created_at": "2024-08-30T20:04:34Z", + "upvotes": 14, + "comment_count": 10, + "resolved": false, "labels": [ - "feat-datasets" + "feat-playground" ], "author": { - "login": "MaxYaz", - "html_url": "https://github.com/MaxYaz" + "login": "yuyuma", + "html_url": "https://github.com/yuyuma" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3305, - "title": "bug: cost usage are not getting captured automatically from llm response", - "href": "https://github.com/orgs/langfuse/discussions/3305", - "created_at": "2024-09-11T05:02:03Z", - "upvotes": 1, - "comment_count": 2, + "number": 3147, + "title": "Add the ability to search by message words in traces and scores", + "href": "https://github.com/orgs/langfuse/discussions/3147", + "created_at": "2024-08-30T08:02:32Z", + "upvotes": 4, + "comment_count": 0, "resolved": false, "labels": [], "author": { - "login": "ajeet6261", - "html_url": "https://github.com/ajeet6261" + "login": "ValentinKovalev", + "html_url": "https://github.com/ValentinKovalev" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3271, - "title": "Understanding pricing model (self-hosting vs cloud serving) from security perspective", - "href": "https://github.com/orgs/langfuse/discussions/3271", - "created_at": "2024-09-09T14:07:32Z", - "upvotes": 1, - "comment_count": 2, + "number": 3131, + "title": "Diff of prompt versions", + "href": "https://github.com/orgs/langfuse/discussions/3131", + "created_at": "2024-08-29T11:43:24Z", + "upvotes": 6, + "comment_count": 1, "resolved": false, - "labels": [], + "labels": [ + "feat-prompt-management" + ], "author": { - "login": "uahmad235", - "html_url": "https://github.com/uahmad235" + "login": "dylanjcastillo", + "html_url": "https://github.com/dylanjcastillo" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3267, - "title": "python decorator grouping in trace when using FastAPI Server Sent Events and Langraph + custom function", - "href": "https://github.com/orgs/langfuse/discussions/3267", - "created_at": "2024-09-09T11:10:00Z", - "upvotes": 1, - "comment_count": 4, + "number": 3129, + "title": "The LangchainCallbackHandler supports statistical delay of the first token", + "href": "https://github.com/orgs/langfuse/discussions/3129", + "created_at": "2024-08-29T09:26:11Z", + "upvotes": 3, + "comment_count": 2, "resolved": false, "labels": [ "integration-langchain", - "integration-python-decorator" + "✅ Done" ], "author": { - "login": "lixxvsky", - "html_url": "https://github.com/lixxvsky" + "login": "Hacky-DH", + "html_url": "https://github.com/Hacky-DH" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3254, - "title": "Vercel AI SDK and Svelte. How to push traces intermittently back to langfuse", - "href": "https://github.com/orgs/langfuse/discussions/3254", - "created_at": "2024-09-06T13:37:17Z", + "number": 3112, + "title": "Request Role elevation from Langfuse UI", + "href": "https://github.com/orgs/langfuse/discussions/3112", + "created_at": "2024-08-28T13:15:21Z", "upvotes": 1, - "comment_count": 1, + "comment_count": 0, "resolved": false, "labels": [ - "integration-vercel-ai-sdk" + "feat-rbac" ], "author": { - "login": "oghaAI", - "html_url": "https://github.com/oghaAI" + "login": "thund3rbrd", + "html_url": "https://github.com/thund3rbrd" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3210, - "title": "When using callbacks, the langfuse_context.update_current_trace method does not function properly.", - "href": "https://github.com/orgs/langfuse/discussions/3210", - "created_at": "2024-09-03T10:29:29Z", + "number": 3111, + "title": "Improve RBAC", + "href": "https://github.com/orgs/langfuse/discussions/3111", + "created_at": "2024-08-28T13:08:57Z", "upvotes": 1, - "comment_count": 4, + "comment_count": 0, "resolved": false, - "labels": [], + "labels": [ + "feat-rbac" + ], "author": { - "login": "hgliyuhao", - "html_url": "https://github.com/hgliyuhao" + "login": "thund3rbrd", + "html_url": "https://github.com/thund3rbrd" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3207, - "title": "change of data region", - "href": "https://github.com/orgs/langfuse/discussions/3207", - "created_at": "2024-09-03T06:06:48Z", - "upvotes": 1, + "number": 3074, + "title": "Add \"image_url\" to Langfuse Prompt types.", + "href": "https://github.com/orgs/langfuse/discussions/3074", + "created_at": "2024-08-26T11:54:32Z", + "upvotes": 2, "comment_count": 1, - "resolved": true, - "labels": [], + "resolved": false, + "labels": [ + "feat-prompt-management" + ], "author": { - "login": "divyanshubhuta", - "html_url": "https://github.com/divyanshubhuta" + "login": "grobruegge", + "html_url": "https://github.com/grobruegge" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3191, - "title": "Evaluation config setup related query", - "href": "https://github.com/orgs/langfuse/discussions/3191", - "created_at": "2024-09-02T14:48:01Z", + "number": 3062, + "title": "Support for OpenAI.client.chat.completions.with_raw_response", + "href": "https://github.com/orgs/langfuse/discussions/3062", + "created_at": "2024-08-24T12:55:39Z", "upvotes": 1, - "comment_count": 2, + "comment_count": 1, "resolved": false, - "labels": [], + "labels": [ + "integration-openai" + ], "author": { - "login": "divyanshubhuta", - "html_url": "https://github.com/divyanshubhuta" + "login": "aman-gupta-doc", + "html_url": "https://github.com/aman-gupta-doc" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3182, - "title": "What does `version` means when ingesting trace?", - "href": "https://github.com/orgs/langfuse/discussions/3182", - "created_at": "2024-08-31T20:44:26Z", - "upvotes": 1, + "number": 3053, + "title": "Being able to link Prompts with Traces when using the LangChain integration", + "href": "https://github.com/orgs/langfuse/discussions/3053", + "created_at": "2024-08-23T13:14:21Z", + "upvotes": 2, "comment_count": 2, - "resolved": true, - "labels": [], + "resolved": false, + "labels": [ + "✅ Done" + ], "author": { - "login": "STRRL", - "html_url": "https://github.com/STRRL" + "login": "jonnyforsterMSG", + "html_url": "https://github.com/jonnyforsterMSG" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3176, - "title": "Get all the generations, events, etc. under Trace", - "href": "https://github.com/orgs/langfuse/discussions/3176", - "created_at": "2024-08-31T02:10:28Z", - "upvotes": 1, - "comment_count": 1, - "resolved": true, - "labels": [], + "number": 3050, + "title": "Implement dataset removal method", + "href": "https://github.com/orgs/langfuse/discussions/3050", + "created_at": "2024-08-23T11:40:13Z", + "upvotes": 4, + "comment_count": 0, + "resolved": false, + "labels": [ + "feat-datasets" + ], "author": { - "login": "bytecod3r", - "html_url": "https://github.com/bytecod3r" + "login": "justinas-kazanavicius", + "html_url": "https://github.com/justinas-kazanavicius" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3168, - "title": "usage pattern for new llamaindex integration", - "href": "https://github.com/orgs/langfuse/discussions/3168", - "created_at": "2024-08-30T20:23:17Z", - "upvotes": 1, - "comment_count": 2, - "resolved": true, + "number": 3023, + "title": "Track openai token usage from stream_options instead of tokenizing the response server-side", + "href": "https://github.com/orgs/langfuse/discussions/3023", + "created_at": "2024-08-22T17:08:08Z", + "upvotes": 3, + "comment_count": 3, + "resolved": false, "labels": [ - "integraton-llamaindex" + "integration-openai", + "✅ Done", + "feat-cost-tracking" ], "author": { - "login": "erik-squared", - "html_url": "https://github.com/erik-squared" + "login": "kilimchoi", + "html_url": "https://github.com/kilimchoi" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3132, - "title": "Tracing ChatGoogleGenerativeAI calls in langchain doesn't return usage metadata", - "href": "https://github.com/orgs/langfuse/discussions/3132", - "created_at": "2024-08-29T13:09:13Z", + "number": 3021, + "title": "Pre-defined user access", + "href": "https://github.com/orgs/langfuse/discussions/3021", + "created_at": "2024-08-22T16:08:19Z", "upvotes": 1, - "comment_count": 1, + "comment_count": 0, "resolved": false, "labels": [ - "integration-langchain" + "self-hosting" ], "author": { - "login": "NeerajG03", - "html_url": "https://github.com/NeerajG03" + "login": "LucasMagnum", + "html_url": "https://github.com/LucasMagnum" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3124, - "title": "Generation does not come under @observe trace", - "href": "https://github.com/orgs/langfuse/discussions/3124", - "created_at": "2024-08-29T00:28:14Z", + "number": 3014, + "title": "Supports filter string using regular expression matching", + "href": "https://github.com/orgs/langfuse/discussions/3014", + "created_at": "2024-08-22T14:39:34Z", "upvotes": 1, - "comment_count": 2, - "resolved": true, + "comment_count": 1, + "resolved": false, "labels": [], "author": { - "login": "SatheeshJM", - "html_url": "https://github.com/SatheeshJM" + "login": "chai3", + "html_url": "https://github.com/chai3" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3120, - "title": "Langfuse 2.74.0 integration with Flowise 2.0.5", - "href": "https://github.com/orgs/langfuse/discussions/3120", - "created_at": "2024-08-28T20:18:19Z", - "upvotes": 1, - "comment_count": 2, - "resolved": false, - "labels": [], - "author": { - "login": "harshad-c1", - "html_url": "https://github.com/harshad-c1" + "number": 3004, + "title": "Support for more modalities and base64 content", + "href": "https://github.com/orgs/langfuse/discussions/3004", + "created_at": "2024-08-22T09:50:47Z", + "upvotes": 45, + "comment_count": 17, + "resolved": false, + "labels": [ + "✅ Done", + "feat-multimodal" + ], + "author": { + "login": "marliessophie", + "html_url": "https://github.com/marliessophie" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3110, - "title": "How to set SMTP_CONNECTION_URL and reset password?", - "href": "https://github.com/orgs/langfuse/discussions/3110", - "created_at": "2024-08-28T10:05:06Z", - "upvotes": 1, - "comment_count": 2, - "resolved": true, + "number": 2997, + "title": "Filter Span events in dashboard", + "href": "https://github.com/orgs/langfuse/discussions/2997", + "created_at": "2024-08-21T16:25:02Z", + "upvotes": 2, + "comment_count": 0, + "resolved": false, "labels": [], "author": { - "login": "zs856", - "html_url": "https://github.com/zs856" + "login": "tagaretiro", + "html_url": "https://github.com/tagaretiro" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3105, - "title": "Dockerfile of langfuse/langfuse:2 image", - "href": "https://github.com/orgs/langfuse/discussions/3105", - "created_at": "2024-08-28T00:13:57Z", - "upvotes": 1, - "comment_count": 2, - "resolved": true, + "number": 2987, + "title": "Claude/openai/google prompt caching", + "href": "https://github.com/orgs/langfuse/discussions/2987", + "created_at": "2024-08-21T04:18:55Z", + "upvotes": 5, + "comment_count": 4, + "resolved": false, "labels": [ - "self-hosting" + "feat-cost-tracking" ], "author": { - "login": "pparreira", - "html_url": "https://github.com/pparreira" + "login": "mrdrprofuroboros", + "html_url": "https://github.com/mrdrprofuroboros" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3100, - "title": "Time to first token is not populating in trace detail or generations view", - "href": "https://github.com/orgs/langfuse/discussions/3100", - "created_at": "2024-08-27T20:12:14Z", + "number": 2978, + "title": "Unexpected event format when using `ibm-watsonx-ai` with LangChain extension", + "href": "https://github.com/orgs/langfuse/discussions/2978", + "created_at": "2024-08-20T11:20:28Z", "upvotes": 1, - "comment_count": 2, - "resolved": true, - "labels": [], + "comment_count": 0, + "resolved": false, + "labels": [ + "integration-langchain" + ], "author": { - "login": "databloom", - "html_url": "https://github.com/databloom" + "login": "barvhaim", + "html_url": "https://github.com/barvhaim" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3099, - "title": "Pulling prompts by tag?", - "href": "https://github.com/orgs/langfuse/discussions/3099", - "created_at": "2024-08-27T20:01:45Z", + "number": 2975, + "title": "fetch all users via sdk/api", + "href": "https://github.com/orgs/langfuse/discussions/2975", + "created_at": "2024-08-20T06:52:47Z", "upvotes": 1, - "comment_count": 1, + "comment_count": 3, "resolved": false, - "labels": [], + "labels": [ + "feat-users" + ], "author": { - "login": "mayajosifo", - "html_url": "https://github.com/mayajosifo" + "login": "vincent-larisma", + "html_url": "https://github.com/vincent-larisma" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3092, - "title": "Deployment into Azure", - "href": "https://github.com/orgs/langfuse/discussions/3092", - "created_at": "2024-08-27T10:05:32Z", + "number": 2967, + "title": "Tag based usage", + "href": "https://github.com/orgs/langfuse/discussions/2967", + "created_at": "2024-08-19T07:13:26Z", "upvotes": 1, - "comment_count": 2, - "resolved": true, + "comment_count": 1, + "resolved": false, "labels": [ - "self-hosting" + "feat-dashboard", + "feat-tags" ], "author": { - "login": "GaryFail", - "html_url": "https://github.com/GaryFail" + "login": "aakash-vwo", + "html_url": "https://github.com/aakash-vwo" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3079, - "title": "How to change the Level to ERROR when there is an error in SPAN?", - "href": "https://github.com/orgs/langfuse/discussions/3079", - "created_at": "2024-08-26T15:46:23Z", + "number": 2949, + "title": "Auto-patching Langchain to include Langfuse callback handler", + "href": "https://github.com/orgs/langfuse/discussions/2949", + "created_at": "2024-08-15T12:17:32Z", "upvotes": 3, - "comment_count": 2, - "resolved": true, + "comment_count": 1, + "resolved": false, "labels": [ - "feat-log-levels" + "integration-langchain" ], "author": { - "login": "kftam1994", - "html_url": "https://github.com/kftam1994" + "login": "kongzii", + "html_url": "https://github.com/kongzii" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3056, - "title": "Support for configuring SMTP email at project level", - "href": "https://github.com/orgs/langfuse/discussions/3056", - "created_at": "2024-08-23T14:41:45Z", - "upvotes": 1, + "number": 2923, + "title": "Feature: Add CAS (and maybe SAML) as a authentication method", + "href": "https://github.com/orgs/langfuse/discussions/2923", + "created_at": "2024-08-13T17:18:42Z", + "upvotes": 2, "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [ "self-hosting" ], "author": { - "login": "rvndbalaji", - "html_url": "https://github.com/rvndbalaji" + "login": "jayteaftw", + "html_url": "https://github.com/jayteaftw" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3003, - "title": "Example GenAI bot with guardrails", - "href": "https://github.com/orgs/langfuse/discussions/3003", - "created_at": "2024-08-22T06:37:29Z", + "number": 2919, + "title": "Adding access to User's sessions directly", + "href": "https://github.com/orgs/langfuse/discussions/2919", + "created_at": "2024-08-13T12:42:16Z", "upvotes": 1, - "comment_count": 1, + "comment_count": 0, "resolved": false, - "labels": [], + "labels": [ + "feat-users", + "feat-sessions" + ], "author": { - "login": "wangxj03", - "html_url": "https://github.com/wangxj03" + "login": "Youneesz", + "html_url": "https://github.com/Youneesz" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2990, - "title": "[Question] using langfuse with llama_index", - "href": "https://github.com/orgs/langfuse/discussions/2990", - "created_at": "2024-08-21T08:00:59Z", - "upvotes": 1, - "comment_count": 2, - "resolved": true, + "number": 2883, + "title": "Compare two dataset runs side by side", + "href": "https://github.com/orgs/langfuse/discussions/2883", + "created_at": "2024-08-09T10:40:05Z", + "upvotes": 5, + "comment_count": 1, + "resolved": false, "labels": [ - "integraton-llamaindex" + "feat-datasets" ], "author": { - "login": "nightosong", - "html_url": "https://github.com/nightosong" + "login": "dmaslov", + "html_url": "https://github.com/dmaslov" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2988, - "title": "Non-langchain generation nested within LangGraph execution", - "href": "https://github.com/orgs/langfuse/discussions/2988", - "created_at": "2024-08-21T05:13:51Z", + "number": 2881, + "title": "feat (ui): Collapse sidebar by default", + "href": "https://github.com/orgs/langfuse/discussions/2881", + "created_at": "2024-08-09T10:03:39Z", "upvotes": 1, - "comment_count": 2, - "resolved": true, + "comment_count": 5, + "resolved": false, "labels": [ - "integration-langchain" + "ui" ], "author": { - "login": "mrdrprofuroboros", - "html_url": "https://github.com/mrdrprofuroboros" + "login": "marctorsoc", + "html_url": "https://github.com/marctorsoc" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2983, - "title": "Tracing directly to queue instead of http api", - "href": "https://github.com/orgs/langfuse/discussions/2983", - "created_at": "2024-08-20T14:33:17Z", - "upvotes": 0, - "comment_count": 1, - "resolved": true, - "labels": [ - "self-hosting" - ], + "number": 2877, + "title": "Make langfuse deployable to AWS Lambda", + "href": "https://github.com/orgs/langfuse/discussions/2877", + "created_at": "2024-08-09T08:24:14Z", + "upvotes": 3, + "comment_count": 2, + "resolved": false, + "labels": [], "author": { - "login": "exotikh3", - "html_url": "https://github.com/exotikh3" + "login": "MeddahAbdellah", + "html_url": "https://github.com/MeddahAbdellah" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3901, - "title": "How to resolve memory leak when integrating Langfuse with LangChain", - "href": "https://github.com/orgs/langfuse/discussions/3901", - "created_at": "2024-08-20T03:14:45Z", + "number": 2870, + "title": "custom base path deployments", + "href": "https://github.com/orgs/langfuse/discussions/2870", + "created_at": "2024-08-08T13:15:51Z", "upvotes": 1, - "comment_count": 6, - "resolved": true, + "comment_count": 1, + "resolved": false, + "labels": [], + "author": { + "login": "marioweid", + "html_url": "https://github.com/marioweid" + }, + "category": "Ideas" + }, + { + "number": 2864, + "title": "Add Bedrock Guardrails to the LLM Security documentation", + "href": "https://github.com/orgs/langfuse/discussions/2864", + "created_at": "2024-08-07T23:56:05Z", + "upvotes": 2, + "comment_count": 0, + "resolved": false, "labels": [ - "integration-langchain" + "feat-llm-security", + "integration-amazon-bedrock" ], "author": { - "login": "ivan-94", - "html_url": "https://github.com/ivan-94" + "login": "wirjo", + "html_url": "https://github.com/wirjo" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2959, - "title": "Duplicate usage data in observation api endpoint response", - "href": "https://github.com/orgs/langfuse/discussions/2959", - "created_at": "2024-08-16T10:57:00Z", - "upvotes": 1, - "comment_count": 2, - "resolved": true, - "labels": [], + "number": 2863, + "title": "Add AWS as a deployment option in the documentation", + "href": "https://github.com/orgs/langfuse/discussions/2863", + "created_at": "2024-08-07T23:53:40Z", + "upvotes": 3, + "comment_count": 1, + "resolved": false, + "labels": [ + "✅ Done", + "self-hosting" + ], "author": { - "login": "jonnyforsterMSG", - "html_url": "https://github.com/jonnyforsterMSG" + "login": "wirjo", + "html_url": "https://github.com/wirjo" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2958, - "title": "Time to first token query", - "href": "https://github.com/orgs/langfuse/discussions/2958", - "created_at": "2024-08-16T10:08:42Z", + "number": 2850, + "title": "Feat (ui): Move columns", + "href": "https://github.com/orgs/langfuse/discussions/2850", + "created_at": "2024-08-07T11:55:55Z", "upvotes": 1, - "comment_count": 2, + "comment_count": 0, "resolved": false, "labels": [], "author": { - "login": "GaryFail", - "html_url": "https://github.com/GaryFail" + "login": "marctorsoc", + "html_url": "https://github.com/marctorsoc" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2952, - "title": "Locally hosted PrivateGPT + pgpt_python + Langfuse", - "href": "https://github.com/orgs/langfuse/discussions/2952", - "created_at": "2024-08-15T15:12:16Z", + "number": 2848, + "title": "Feat: Allow not sorting tags", + "href": "https://github.com/orgs/langfuse/discussions/2848", + "created_at": "2024-08-07T11:50:44Z", "upvotes": 1, "comment_count": 1, "resolved": false, - "labels": [], + "labels": [ + "feat-tags" + ], "author": { - "login": "qdingle404", - "html_url": "https://github.com/qdingle404" + "login": "marctorsoc", + "html_url": "https://github.com/marctorsoc" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2945, - "title": "Unit of token count for cost analysis", - "href": "https://github.com/orgs/langfuse/discussions/2945", - "created_at": "2024-08-15T09:33:59Z", - "upvotes": 1, - "comment_count": 1, - "resolved": true, + "number": 2823, + "title": "Need support for ChatOCIGenAI", + "href": "https://github.com/orgs/langfuse/discussions/2823", + "created_at": "2024-08-05T13:34:30Z", + "upvotes": 2, + "comment_count": 0, + "resolved": false, "labels": [], "author": { - "login": "thomasjv799", - "html_url": "https://github.com/thomasjv799" + "login": "engchina", + "html_url": "https://github.com/engchina" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2933, - "title": "how to return trace_id in openai completion response when using langfuse as a proxy in litellm?", - "href": "https://github.com/orgs/langfuse/discussions/2933", - "created_at": "2024-08-14T07:52:30Z", - "upvotes": 1, - "comment_count": 2, - "resolved": true, - "labels": [ - "integration-litellm" - ], + "number": 2821, + "title": "Need API endpoints to add projects and users", + "href": "https://github.com/orgs/langfuse/discussions/2821", + "created_at": "2024-08-05T13:10:49Z", + "upvotes": 2, + "comment_count": 1, + "resolved": false, + "labels": [], "author": { - "login": "octadion", - "html_url": "https://github.com/octadion" + "login": "kameshbrao", + "html_url": "https://github.com/kameshbrao" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2927, - "title": "Span created with Langchain not showing up in traces.", - "href": "https://github.com/orgs/langfuse/discussions/2927", - "created_at": "2024-08-13T20:32:35Z", + "number": 2812, + "title": "Could you make the Prompt label 36 char long?", + "href": "https://github.com/orgs/langfuse/discussions/2812", + "created_at": "2024-08-02T11:03:08Z", "upvotes": 1, - "comment_count": 2, - "resolved": true, + "comment_count": 1, + "resolved": false, "labels": [ - "integration-langchain" + "feat-prompt-management", + "✅ Done" ], "author": { - "login": "HardKothari", - "html_url": "https://github.com/HardKothari" + "login": "DevSageH", + "html_url": "https://github.com/DevSageH" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2909, - "title": "Change port database in file docker-compose.yml", - "href": "https://github.com/orgs/langfuse/discussions/2909", - "created_at": "2024-08-13T08:05:37Z", - "upvotes": 1, - "comment_count": 2, - "resolved": true, + "number": 2810, + "title": "Enable setting a label to an existing prompt version via the api/sdk.", + "href": "https://github.com/orgs/langfuse/discussions/2810", + "created_at": "2024-08-01T16:53:06Z", + "upvotes": 10, + "comment_count": 4, + "resolved": false, "labels": [ - "self-hosting" + "feat-prompt-management" ], "author": { - "login": "hungvipqt15", - "html_url": "https://github.com/hungvipqt15" + "login": "ClementNguyen", + "html_url": "https://github.com/ClementNguyen" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2907, - "title": "Change port connection in docker compose", - "href": "https://github.com/orgs/langfuse/discussions/2907", - "created_at": "2024-08-13T06:40:30Z", - "upvotes": 1, - "comment_count": 1, + "number": 2797, + "title": "Enable list_prompts/search_prompts using client", + "href": "https://github.com/orgs/langfuse/discussions/2797", + "created_at": "2024-07-31T13:45:38Z", + "upvotes": 4, + "comment_count": 2, "resolved": false, "labels": [ - "self-hosting" + "feat-prompt-management" ], "author": { - "login": "hungvipqt15", - "html_url": "https://github.com/hungvipqt15" + "login": "krlng", + "html_url": "https://github.com/krlng" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2904, - "title": "How to append current trace when calling function second time?", - "href": "https://github.com/orgs/langfuse/discussions/2904", - "created_at": "2024-08-12T15:12:22Z", - "upvotes": 2, + "number": 2781, + "title": "Add support for custom serialization of observation fields", + "href": "https://github.com/orgs/langfuse/discussions/2781", + "created_at": "2024-07-29T18:49:03Z", + "upvotes": 1, "comment_count": 2, - "resolved": true, + "resolved": false, "labels": [ - "integration-python-decorator" + "sdk-python" ], "author": { - "login": "nathan-vo810", - "html_url": "https://github.com/nathan-vo810" + "login": "ashamlian-roadway", + "html_url": "https://github.com/ashamlian-roadway" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2895, - "title": "How to update an event", - "href": "https://github.com/orgs/langfuse/discussions/2895", - "created_at": "2024-08-11T16:51:18Z", + "number": 2770, + "title": "Add clickable link to the 'release' kwargs in a Trace - this will route to the documentations/change log of that release/version", + "href": "https://github.com/orgs/langfuse/discussions/2770", + "created_at": "2024-07-28T07:08:07Z", "upvotes": 1, - "comment_count": 1, - "resolved": true, + "comment_count": 0, + "resolved": false, "labels": [], "author": { - "login": "bytecod3r", - "html_url": "https://github.com/bytecod3r" + "login": "stepanogil", + "html_url": "https://github.com/stepanogil" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2888, - "title": "How to change the level of a trace?", - "href": "https://github.com/orgs/langfuse/discussions/2888", - "created_at": "2024-08-09T14:35:34Z", + "number": 2766, + "title": "Support Exporting LangSmith Run Traces into Langfuse!", + "href": "https://github.com/orgs/langfuse/discussions/2766", + "created_at": "2024-07-27T02:34:44Z", "upvotes": 3, - "comment_count": 2, - "resolved": true, - "labels": [ - "feat-log-levels" - ], + "comment_count": 1, + "resolved": false, + "labels": [], "author": { - "login": "ldbolanos", - "html_url": "https://github.com/ldbolanos" + "login": "p-barman", + "html_url": "https://github.com/p-barman" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2879, - "title": "ERROR:langfuse:status_code: 404, body: {'message': 'Trace not found within authorized project', 'error': 'LangfuseNotFoundError'}", - "href": "https://github.com/orgs/langfuse/discussions/2879", - "created_at": "2024-08-09T09:31:33Z", + "number": 2747, + "title": "A new configuration env variable for custom URL prefix", + "href": "https://github.com/orgs/langfuse/discussions/2747", + "created_at": "2024-07-25T17:00:57Z", "upvotes": 1, - "comment_count": 3, + "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "nithin1995", - "html_url": "https://github.com/nithin1995" + "login": "abdullah-retorio", + "html_url": "https://github.com/abdullah-retorio" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2874, - "title": "Does langfuse trace parallel api calls? I tried a sample with parallel call but it didn't traced.", - "href": "https://github.com/orgs/langfuse/discussions/2874", - "created_at": "2024-08-09T05:09:26Z", + "number": 2746, + "title": "Returning prompts from expired cache may be disabled using a boolean argument", + "href": "https://github.com/orgs/langfuse/discussions/2746", + "created_at": "2024-07-25T15:57:26Z", "upvotes": 1, - "comment_count": 4, + "comment_count": 1, "resolved": false, - "labels": [], + "labels": [ + "feat-prompt-management" + ], "author": { - "login": "ksundarraj-c-rpx", - "html_url": "https://github.com/ksundarraj-c-rpx" + "login": "ogunoz", + "html_url": "https://github.com/ogunoz" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2871, - "title": "Self-hosted Langfuse running as a Google cloud service not showing traces", - "href": "https://github.com/orgs/langfuse/discussions/2871", - "created_at": "2024-08-08T13:40:34Z", + "number": 2745, + "title": "Lazy fallback for get_prompt", + "href": "https://github.com/orgs/langfuse/discussions/2745", + "created_at": "2024-07-25T15:50:32Z", "upvotes": 1, - "comment_count": 2, - "resolved": true, + "comment_count": 1, + "resolved": false, "labels": [ - "🐞❔ unconfirmed bug" + "feat-prompt-management" ], "author": { - "login": "SectumPsempra", - "html_url": "https://github.com/SectumPsempra" + "login": "ogunoz", + "html_url": "https://github.com/ogunoz" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2867, - "title": "Using the API to record traces from multiple platforms?", - "href": "https://github.com/orgs/langfuse/discussions/2867", - "created_at": "2024-08-08T13:15:49Z", - "upvotes": 1, - "comment_count": 1, + "number": 2738, + "title": "Set variables in playground from dataset", + "href": "https://github.com/orgs/langfuse/discussions/2738", + "created_at": "2024-07-25T09:27:30Z", + "upvotes": 4, + "comment_count": 2, "resolved": false, - "labels": [], + "labels": [ + "feat-datasets", + "feat-playground" + ], "author": { - "login": "appliraz", - "html_url": "https://github.com/appliraz" + "login": "hbenyamina", + "html_url": "https://github.com/hbenyamina" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2858, - "title": "Langfuse observeOpenAI not logging generations using new zodResponseFormat.", - "href": "https://github.com/orgs/langfuse/discussions/2858", - "created_at": "2024-08-07T21:45:41Z", + "number": 2729, + "title": "Comment thread on Traces", + "href": "https://github.com/orgs/langfuse/discussions/2729", + "created_at": "2024-07-24T13:52:51Z", "upvotes": 1, "comment_count": 3, - "resolved": true, - "labels": [], + "resolved": false, + "labels": [ + "✅ Done", + "feat-comments" + ], "author": { - "login": "fabstu", - "html_url": "https://github.com/fabstu" + "login": "guptakvgaurav", + "html_url": "https://github.com/guptakvgaurav" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2852, - "title": "How run Langfuse evaluations over specifics spans?", - "href": "https://github.com/orgs/langfuse/discussions/2852", - "created_at": "2024-08-07T13:40:02Z", - "upvotes": 1, - "comment_count": 2, - "resolved": true, + "number": 2728, + "title": "Session-level scores", + "href": "https://github.com/orgs/langfuse/discussions/2728", + "created_at": "2024-07-24T10:05:40Z", + "upvotes": 3, + "comment_count": 3, + "resolved": false, "labels": [ - "integration-langchain", - "feat-evals" + "feat-scores", + "feat-sessions" ], "author": { - "login": "joaoCrulhas", - "html_url": "https://github.com/joaoCrulhas" + "login": "felixsg", + "html_url": "https://github.com/felixsg" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2844, - "title": "LangFuse not logging LlamaIndex events", - "href": "https://github.com/orgs/langfuse/discussions/2844", - "created_at": "2024-08-07T10:46:19Z", + "number": 2721, + "title": "Add note on each prompt version", + "href": "https://github.com/orgs/langfuse/discussions/2721", + "created_at": "2024-07-23T14:48:02Z", "upvotes": 2, - "comment_count": 3, + "comment_count": 1, "resolved": false, "labels": [ - "integraton-llamaindex" + "feat-prompt-management" ], "author": { - "login": "adieyal", - "html_url": "https://github.com/adieyal" + "login": "cubxxw", + "html_url": "https://github.com/cubxxw" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2830, - "title": "UpdateRoot in the callback handler seems not work", - "href": "https://github.com/orgs/langfuse/discussions/2830", - "created_at": "2024-08-06T08:58:25Z", + "number": 2720, + "title": "Feature request [UI]: Remember column selection PER project in Traces view", + "href": "https://github.com/orgs/langfuse/discussions/2720", + "created_at": "2024-07-23T13:53:38Z", "upvotes": 1, - "comment_count": 1, - "resolved": true, + "comment_count": 2, + "resolved": false, "labels": [], "author": { - "login": "joaoCrulhas", - "html_url": "https://github.com/joaoCrulhas" + "login": "justingodden", + "html_url": "https://github.com/justingodden" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2828, - "title": "Issue: Integration of Langfuse with DSPy Framework - Zero Values for Cost and Token Usage", - "href": "https://github.com/orgs/langfuse/discussions/2828", - "created_at": "2024-08-06T05:55:30Z", + "number": 2710, + "title": "Support JSON messages in prompt management", + "href": "https://github.com/orgs/langfuse/discussions/2710", + "created_at": "2024-07-23T01:59:12Z", "upvotes": 1, - "comment_count": 3, - "resolved": true, - "labels": [ - "integration-dspy" - ], - "author": { - "login": "mahitha-29", - "html_url": "https://github.com/mahitha-29" - }, - "category": "Support" - }, - { - "number": 2817, - "title": "Praise for the Langfuse library! 🚀", - "href": "https://github.com/orgs/langfuse/discussions/2817", - "created_at": "2024-08-03T10:53:41Z", - "upvotes": 2, - "comment_count": 1, - "resolved": true, + "comment_count": 0, + "resolved": false, "labels": [], "author": { - "login": "ttamg", - "html_url": "https://github.com/ttamg" + "login": "jasonslyvia", + "html_url": "https://github.com/jasonslyvia" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2809, - "title": "No space left on device db error", - "href": "https://github.com/orgs/langfuse/discussions/2809", - "created_at": "2024-08-01T15:10:52Z", - "upvotes": 1, + "number": 2704, + "title": "Deleting user's traces via API to be GDPR compliant", + "href": "https://github.com/orgs/langfuse/discussions/2704", + "created_at": "2024-07-22T12:03:22Z", + "upvotes": 8, "comment_count": 2, - "resolved": true, - "labels": [ - "self-hosting" - ], + "resolved": false, + "labels": [], "author": { - "login": "nithin1995", - "html_url": "https://github.com/nithin1995" + "login": "Stormyy", + "html_url": "https://github.com/Stormyy" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2808, - "title": "Dynamic prompt generation", - "href": "https://github.com/orgs/langfuse/discussions/2808", - "created_at": "2024-08-01T14:41:48Z", + "number": 2699, + "title": "Schemad or structured configuration for prompt", + "href": "https://github.com/orgs/langfuse/discussions/2699", + "created_at": "2024-07-22T02:29:13Z", "upvotes": 1, - "comment_count": 2, - "resolved": true, + "comment_count": 1, + "resolved": false, "labels": [ "feat-prompt-management" ], "author": { - "login": "LLazzar", - "html_url": "https://github.com/LLazzar" + "login": "jasonslyvia", + "html_url": "https://github.com/jasonslyvia" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2801, - "title": "Unable to update generation span after LLM invocation", - "href": "https://github.com/orgs/langfuse/discussions/2801", - "created_at": "2024-08-01T03:23:15Z", + "number": 2697, + "title": "A transparent mode", + "href": "https://github.com/orgs/langfuse/discussions/2697", + "created_at": "2024-07-21T20:55:43Z", "upvotes": 1, - "comment_count": 2, - "resolved": true, - "labels": [ - "integration-langchain" - ], + "comment_count": 1, + "resolved": false, + "labels": [], "author": { - "login": "Heucles", - "html_url": "https://github.com/Heucles" + "login": "emsi", + "html_url": "https://github.com/emsi" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2787, - "title": "Self-hosted (Railway) Authorization error (401) while connecting to host", - "href": "https://github.com/orgs/langfuse/discussions/2787", - "created_at": "2024-07-30T19:23:59Z", - "upvotes": 1, + "number": 2684, + "title": "Langfuse batch prompts api should return prompt configs as well", + "href": "https://github.com/orgs/langfuse/discussions/2684", + "created_at": "2024-07-19T10:05:45Z", + "upvotes": 2, "comment_count": 3, "resolved": false, - "labels": [], + "labels": [ + "feat-prompt-management", + "✅ Done" + ], "author": { - "login": "vishnumallela", - "html_url": "https://github.com/vishnumallela" + "login": "ashutoshsaboo", + "html_url": "https://github.com/ashutoshsaboo" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2769, - "title": "Continue trace on Celery worker with observe decorator", - "href": "https://github.com/orgs/langfuse/discussions/2769", - "created_at": "2024-07-27T18:23:13Z", - "upvotes": 1, - "comment_count": 2, - "resolved": true, - "labels": [ - "integration-python-decorator" - ], + "number": 2669, + "title": "Visualisation of graph execution", + "href": "https://github.com/orgs/langfuse/discussions/2669", + "created_at": "2024-07-18T08:44:03Z", + "upvotes": 2, + "comment_count": 1, + "resolved": false, + "labels": [], "author": { - "login": "artefactop", - "html_url": "https://github.com/artefactop" + "login": "VMinB12", + "html_url": "https://github.com/VMinB12" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2768, - "title": "How do i register the token count and cost for observe decorator", - "href": "https://github.com/orgs/langfuse/discussions/2768", - "created_at": "2024-07-27T14:47:58Z", + "number": 2668, + "title": "I want to say something about user feedback", + "href": "https://github.com/orgs/langfuse/discussions/2668", + "created_at": "2024-07-18T07:57:50Z", "upvotes": 1, - "comment_count": 2, - "resolved": true, - "labels": [ - "integration-python-decorator", - "feat-cost-tracking" - ], + "comment_count": 1, + "resolved": false, + "labels": [], "author": { - "login": "yevkim", - "html_url": "https://github.com/yevkim" + "login": "cubxxw", + "html_url": "https://github.com/cubxxw" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2767, - "title": "Missing evaluation metrics", - "href": "https://github.com/orgs/langfuse/discussions/2767", - "created_at": "2024-07-27T05:07:56Z", + "number": 2664, + "title": "Prompts are supported for export", + "href": "https://github.com/orgs/langfuse/discussions/2664", + "created_at": "2024-07-18T00:43:12Z", "upvotes": 1, - "comment_count": 2, - "resolved": true, + "comment_count": 1, + "resolved": false, "labels": [], "author": { - "login": "MayankBitcot", - "html_url": "https://github.com/MayankBitcot" + "login": "cubxxw", + "html_url": "https://github.com/cubxxw" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2736, - "title": "Ability to upload Cost and Usage metrics in Langfuse for Gemini Models from LlamaIndex", - "href": "https://github.com/orgs/langfuse/discussions/2736", - "created_at": "2024-07-25T06:17:14Z", - "upvotes": 2, + "number": 2653, + "title": "Web page request is a little slow, whether to consider using golang to reconstruct", + "href": "https://github.com/orgs/langfuse/discussions/2653", + "created_at": "2024-07-17T07:08:45Z", + "upvotes": 1, "comment_count": 1, "resolved": false, - "labels": [ - "integraton-llamaindex", - "feat-cost-tracking" - ], + "labels": [], "author": { - "login": "ansu86d", - "html_url": "https://github.com/ansu86d" + "login": "cubxxw", + "html_url": "https://github.com/cubxxw" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2735, - "title": "Deployment on K8s", - "href": "https://github.com/orgs/langfuse/discussions/2735", - "created_at": "2024-07-25T04:38:19Z", - "upvotes": 1, - "comment_count": 2, - "resolved": true, + "number": 2642, + "title": "Add ability to add name or label to a Langfuse API key", + "href": "https://github.com/orgs/langfuse/discussions/2642", + "created_at": "2024-07-16T17:08:42Z", + "upvotes": 5, + "comment_count": 1, + "resolved": false, "labels": [], "author": { - "login": "nithin1995", - "html_url": "https://github.com/nithin1995" + "login": "agibralter", + "html_url": "https://github.com/agibralter" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2718, - "title": "How to ignore inputs when using LangChain?", - "href": "https://github.com/orgs/langfuse/discussions/2718", - "created_at": "2024-07-23T10:58:07Z", - "upvotes": 2, - "comment_count": 3, + "number": 2625, + "title": "Track Openai Assistant API costs", + "href": "https://github.com/orgs/langfuse/discussions/2625", + "created_at": "2024-07-15T07:50:18Z", + "upvotes": 4, + "comment_count": 0, "resolved": false, "labels": [ - "integration-langchain" + "integration-openai" ], "author": { - "login": "justingodden", - "html_url": "https://github.com/justingodden" + "login": "christos-bsq", + "html_url": "https://github.com/christos-bsq" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2716, - "title": "Langgraph with langfuse", - "href": "https://github.com/orgs/langfuse/discussions/2716", - "created_at": "2024-07-23T09:12:20Z", - "upvotes": 1, - "comment_count": 4, - "resolved": true, + "number": 2624, + "title": "Add tool / function calling and tool messages to Prompt Management", + "href": "https://github.com/orgs/langfuse/discussions/2624", + "created_at": "2024-07-15T06:49:50Z", + "upvotes": 3, + "comment_count": 0, + "resolved": false, "labels": [ - "integration-langchain" + "feat-prompt-management" ], "author": { - "login": "MayankBitcot", - "html_url": "https://github.com/MayankBitcot" + "login": "eloko7", + "html_url": "https://github.com/eloko7" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2714, - "title": "Using langfuse without saving promps", - "href": "https://github.com/orgs/langfuse/discussions/2714", - "created_at": "2024-07-23T08:44:44Z", + "number": 2622, + "title": "Inbuild langfuse tracing.", + "href": "https://github.com/orgs/langfuse/discussions/2622", + "created_at": "2024-07-13T10:39:13Z", "upvotes": 1, - "comment_count": 2, - "resolved": true, + "comment_count": 0, + "resolved": false, "labels": [], "author": { - "login": "molntamas", - "html_url": "https://github.com/molntamas" + "login": "rashid-globallogic", + "html_url": "https://github.com/rashid-globallogic" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2712, - "title": "cannot execute INSERT in a read-only transaction", - "href": "https://github.com/orgs/langfuse/discussions/2712", - "created_at": "2024-07-23T07:49:30Z", - "upvotes": 1, - "comment_count": 2, + "number": 2605, + "title": "DSPy tracing", + "href": "https://github.com/orgs/langfuse/discussions/2605", + "created_at": "2024-07-10T12:52:35Z", + "upvotes": 2, + "comment_count": 1, "resolved": false, "labels": [ - "self-hosting" + "integrations", + "✅ Done", + "integration-dspy" ], "author": { - "login": "damianradowiecki", - "html_url": "https://github.com/damianradowiecki" + "login": "paolotamag", + "html_url": "https://github.com/paolotamag" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2706, - "title": "Disable tracing of input and output for nested elements with in a chain.", - "href": "https://github.com/orgs/langfuse/discussions/2706", - "created_at": "2024-07-22T16:17:53Z", + "number": 2586, + "title": "Feat: Ability to change curreny for model usage costs.", + "href": "https://github.com/orgs/langfuse/discussions/2586", + "created_at": "2024-07-09T15:40:22Z", "upvotes": 2, "comment_count": 1, "resolved": false, - "labels": [], + "labels": [ + "feat-cost-tracking" + ], "author": { - "login": "jaitd", - "html_url": "https://github.com/jaitd" + "login": "jannikstdl", + "html_url": "https://github.com/jannikstdl" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2705, - "title": "Support for adding traces/observations/sessions/events/spans/generations related logging to LF via API", - "href": "https://github.com/orgs/langfuse/discussions/2705", - "created_at": "2024-07-22T12:57:05Z", - "upvotes": 1, + "number": 2578, + "title": "Conditional Trace Content/Message submission", + "href": "https://github.com/orgs/langfuse/discussions/2578", + "created_at": "2024-07-09T09:57:26Z", + "upvotes": 3, "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [], "author": { - "login": "ashutoshsaboo", - "html_url": "https://github.com/ashutoshsaboo" + "login": "simonwh", + "html_url": "https://github.com/simonwh" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2671, - "title": "Cannot connect prompt to trace when using Langchain AzureChatOpenai", - "href": "https://github.com/orgs/langfuse/discussions/2671", - "created_at": "2024-07-18T13:30:14Z", + "number": 2577, + "title": "Detailed and Interactive Plot Visualization like WandB", + "href": "https://github.com/orgs/langfuse/discussions/2577", + "created_at": "2024-07-09T09:19:38Z", "upvotes": 1, - "comment_count": 2, + "comment_count": 3, "resolved": false, "labels": [], "author": { - "login": "nihadazimli", - "html_url": "https://github.com/nihadazimli" + "login": "yusuke-intern", + "html_url": "https://github.com/yusuke-intern" }, - "category": "Support" - }, - { - "number": 2658, - "title": "how to customize trace id when using callback handler in langchain integration", - "href": "https://github.com/orgs/langfuse/discussions/2658", - "created_at": "2024-07-17T13:38:18Z", - "upvotes": 3, - "comment_count": 2, - "resolved": true, - "labels": [ - "integration-langchain" - ], - "author": { - "login": "shawnzhu", - "html_url": "https://github.com/shawnzhu" - }, - "category": "Support" + "category": "Ideas" }, { - "number": 2640, - "title": "Adding Scores to langfuse with dify", - "href": "https://github.com/orgs/langfuse/discussions/2640", - "created_at": "2024-07-16T16:00:11Z", - "upvotes": 2, + "number": 2576, + "title": "Log prob on Langfuse", + "href": "https://github.com/orgs/langfuse/discussions/2576", + "created_at": "2024-07-09T09:16:23Z", + "upvotes": 1, "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [ - "integration-dify" + "integration-openai" ], "author": { - "login": "shaquelsamir", - "html_url": "https://github.com/shaquelsamir" + "login": "yusuke-intern", + "html_url": "https://github.com/yusuke-intern" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2619, - "title": "How to add a function to current trace instead of seperate since it's outside lcel chain?", - "href": "https://github.com/orgs/langfuse/discussions/2619", - "created_at": "2024-07-12T07:08:47Z", + "number": 2573, + "title": "Prompt Cataloguing and prompt github", + "href": "https://github.com/orgs/langfuse/discussions/2573", + "created_at": "2024-07-08T20:05:23Z", "upvotes": 1, "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [ - "integration-langchain" + "feat-prompt-management" ], "author": { - "login": "sarim2000", - "html_url": "https://github.com/sarim2000" + "login": "kunal2002", + "html_url": "https://github.com/kunal2002" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2616, - "title": "Weird Output for scores when using fetch_traces()", - "href": "https://github.com/orgs/langfuse/discussions/2616", - "created_at": "2024-07-11T12:46:23Z", + "number": 2571, + "title": "If Data/Metadata given to Langfuse SDK that exceeds Langfuse's limit, log/throw/emit Stack Trace", + "href": "https://github.com/orgs/langfuse/discussions/2571", + "created_at": "2024-07-08T15:17:52Z", "upvotes": 1, - "comment_count": 2, + "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "kevinpkaria", - "html_url": "https://github.com/kevinpkaria" + "login": "josiahbryan", + "html_url": "https://github.com/josiahbryan" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2600, - "title": "Add input Price and Output price for gemini-1.5-pro and gemini-1.5-flash in Models", - "href": "https://github.com/orgs/langfuse/discussions/2600", - "created_at": "2024-07-10T09:52:23Z", - "upvotes": 4, + "number": 2539, + "title": "Include request's `tools` configuration in OpenAI LLM calls", + "href": "https://github.com/orgs/langfuse/discussions/2539", + "created_at": "2024-07-04T11:39:43Z", + "upvotes": 2, "comment_count": 1, "resolved": false, - "labels": [], + "labels": [ + "integration-openai" + ], "author": { - "login": "fjeanchar", - "html_url": "https://github.com/fjeanchar" + "login": "ricwo", + "html_url": "https://github.com/ricwo" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2599, - "title": "Overall projects dashboard?", - "href": "https://github.com/orgs/langfuse/discussions/2599", - "created_at": "2024-07-10T09:09:02Z", - "upvotes": 1, + "number": 2534, + "title": "Simple graphs and metrics for scores and evaluations", + "href": "https://github.com/orgs/langfuse/discussions/2534", + "created_at": "2024-07-03T17:14:42Z", + "upvotes": 2, "comment_count": 1, - "resolved": true, - "labels": [ - "feat-dashboard" - ], + "resolved": false, + "labels": [], "author": { - "login": "justingodden", - "html_url": "https://github.com/justingodden" + "login": "justinwiley", + "html_url": "https://github.com/justinwiley" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2597, - "title": "[Errno 111] Connection refused when connecting to langfuse within docker compose", - "href": "https://github.com/orgs/langfuse/discussions/2597", - "created_at": "2024-07-10T09:00:34Z", + "number": 2529, + "title": "feat: Track Exceptions while using Decorators", + "href": "https://github.com/orgs/langfuse/discussions/2529", + "created_at": "2024-07-03T11:40:19Z", "upvotes": 1, "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [ - "self-hosting" + "integration-python-decorator" ], "author": { - "login": "bspetrov", - "html_url": "https://github.com/bspetrov" + "login": "Manonandan", + "html_url": "https://github.com/Manonandan" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2595, - "title": "Migrate a local deployment of langfuse from one computer to another", - "href": "https://github.com/orgs/langfuse/discussions/2595", - "created_at": "2024-07-10T07:46:04Z", + "number": 2523, + "title": "Feature Request: Sidebar Display for Trace Details in Dataset Runs", + "href": "https://github.com/orgs/langfuse/discussions/2523", + "created_at": "2024-07-02T15:00:47Z", "upvotes": 1, - "comment_count": 2, - "resolved": true, + "comment_count": 3, + "resolved": false, "labels": [ - "self-hosting" + "feat-datasets" ], "author": { - "login": "nithin1995", - "html_url": "https://github.com/nithin1995" + "login": "tuan3w", + "html_url": "https://github.com/tuan3w" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2590, - "title": "Experiments running but inputs and outputs of LLM are not linked to dashboard", - "href": "https://github.com/orgs/langfuse/discussions/2590", - "created_at": "2024-07-09T18:29:22Z", - "upvotes": 1, + "number": 2511, + "title": "Scoring dataset runs, e.g. precision, recall, f-value", + "href": "https://github.com/orgs/langfuse/discussions/2511", + "created_at": "2024-07-02T08:10:21Z", + "upvotes": 8, "comment_count": 1, "resolved": false, - "labels": [], + "labels": [ + "feat-datasets", + "feat-scores" + ], "author": { - "login": "IbrahimAhmed03", - "html_url": "https://github.com/IbrahimAhmed03" + "login": "yusuke-intern", + "html_url": "https://github.com/yusuke-intern" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2574, - "title": "how to embed langfuse dashboard in other tool", - "href": "https://github.com/orgs/langfuse/discussions/2574", - "created_at": "2024-07-08T21:24:13Z", - "upvotes": 1, - "comment_count": 1, - "resolved": true, + "number": 2510, + "title": "How can we see traces of MULTIMODAL llms over langfuse ?", + "href": "https://github.com/orgs/langfuse/discussions/2510", + "created_at": "2024-07-02T05:15:59Z", + "upvotes": 4, + "comment_count": 3, + "resolved": false, "labels": [ - "feat-dashboard" + "✅ Done", + "feat-multimodal" ], "author": { - "login": "deepakdeore2004", - "html_url": "https://github.com/deepakdeore2004" + "login": "Aaryaveerkrishna23", + "html_url": "https://github.com/Aaryaveerkrishna23" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2567, - "title": "How to use prompt management with openai JS?", - "href": "https://github.com/orgs/langfuse/discussions/2567", - "created_at": "2024-07-08T08:22:49Z", - "upvotes": 1, - "comment_count": 2, + "number": 2509, + "title": "Support OpenTelemetry-based instrumentation (traceloop openllmetry and others)", + "href": "https://github.com/orgs/langfuse/discussions/2509", + "created_at": "2024-07-02T02:29:14Z", + "upvotes": 8, + "comment_count": 7, "resolved": false, "labels": [ - "feat-prompt-management" + "integrations" ], "author": { - "login": "oscarmorrison", - "html_url": "https://github.com/oscarmorrison" + "login": "gyliu513", + "html_url": "https://github.com/gyliu513" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2564, - "title": "Update metadata when using OpenAI JS Integration", - "href": "https://github.com/orgs/langfuse/discussions/2564", - "created_at": "2024-07-08T07:37:38Z", - "upvotes": 1, - "comment_count": 3, + "number": 2508, + "title": "Enable Langfuse can expose metrics in Prometheus format", + "href": "https://github.com/orgs/langfuse/discussions/2508", + "created_at": "2024-07-02T02:25:24Z", + "upvotes": 7, + "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "oscarmorrison", - "html_url": "https://github.com/oscarmorrison" + "login": "gyliu513", + "html_url": "https://github.com/gyliu513" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2527, - "title": "Can't set trace params e.g session_id when using with llhama_index", - "href": "https://github.com/orgs/langfuse/discussions/2527", - "created_at": "2024-07-02T20:41:53Z", - "upvotes": 2, - "comment_count": 2, + "number": 2501, + "title": "Use Langchain LCEL + Langserve + run time user_id/session_id", + "href": "https://github.com/orgs/langfuse/discussions/2501", + "created_at": "2024-07-01T15:51:47Z", + "upvotes": 4, + "comment_count": 1, "resolved": false, "labels": [ - "integraton-llamaindex" + "integration-langchain", + "feat-users", + "feat-sessions" ], "author": { - "login": "famoraes", - "html_url": "https://github.com/famoraes" + "login": "ravediamond", + "html_url": "https://github.com/ravediamond" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2498, - "title": "Method to update prompt template for Langserve use case", - "href": "https://github.com/orgs/langfuse/discussions/2498", - "created_at": "2024-07-01T11:20:08Z", - "upvotes": 2, + "number": 2493, + "title": "Easy token price estimates for 400+ LLMs", + "href": "https://github.com/orgs/langfuse/discussions/2493", + "created_at": "2024-07-01T06:55:56Z", + "upvotes": 1, "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [ - "integration-langchain" + "feat-cost-tracking" ], "author": { - "login": "quadcube", - "html_url": "https://github.com/quadcube" + "login": "derevyan", + "html_url": "https://github.com/derevyan" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2486, - "title": "Cost of embedding in langfuse", - "href": "https://github.com/orgs/langfuse/discussions/2486", - "created_at": "2024-06-29T07:50:06Z", - "upvotes": 1, + "number": 2488, + "title": "Add contextmanager support to python decorator", + "href": "https://github.com/orgs/langfuse/discussions/2488", + "created_at": "2024-06-29T20:43:50Z", + "upvotes": 6, "comment_count": 2, - "resolved": true, - "labels": [], + "resolved": false, + "labels": [ + "integration-python-decorator" + ], "author": { - "login": "Amitt1412", - "html_url": "https://github.com/Amitt1412" + "login": "yaniv-aknin", + "html_url": "https://github.com/yaniv-aknin" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2481, - "title": "Getting all traces logged in a timerange for custom scoring", - "href": "https://github.com/orgs/langfuse/discussions/2481", - "created_at": "2024-06-28T12:09:14Z", - "upvotes": 1, - "comment_count": 1, - "resolved": true, + "number": 2469, + "title": "Adding userId / author to score (custom metadata)", + "href": "https://github.com/orgs/langfuse/discussions/2469", + "created_at": "2024-06-27T19:02:17Z", + "upvotes": 4, + "comment_count": 3, + "resolved": false, "labels": [ - "feat-scores" + "feat-scores", + "feat-users" ], "author": { - "login": "sanandnarayan", - "html_url": "https://github.com/sanandnarayan" + "login": "ivanviragine", + "html_url": "https://github.com/ivanviragine" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2479, - "title": "Cost of embedding", - "href": "https://github.com/orgs/langfuse/discussions/2479", - "created_at": "2024-06-28T06:58:16Z", + "number": 2456, + "title": "Export to CSV feature in the Traces", + "href": "https://github.com/orgs/langfuse/discussions/2456", + "created_at": "2024-06-27T11:02:47Z", "upvotes": 1, - "comment_count": 3, - "resolved": true, + "comment_count": 1, + "resolved": false, "labels": [], "author": { - "login": "Amitt1412", - "html_url": "https://github.com/Amitt1412" + "login": "Aniket3007", + "html_url": "https://github.com/Aniket3007" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2455, - "title": "Getting issue with local setup", - "href": "https://github.com/orgs/langfuse/discussions/2455", - "created_at": "2024-06-27T10:23:02Z", + "number": 2454, + "title": "Expand all json-views of Dataset items etc.", + "href": "https://github.com/orgs/langfuse/discussions/2454", + "created_at": "2024-06-27T08:18:23Z", "upvotes": 1, "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [ - "self-hosting" + "✅ Done", + "feat-datasets" ], "author": { - "login": "kiranraut7709", - "html_url": "https://github.com/kiranraut7709" + "login": "tkreuder", + "html_url": "https://github.com/tkreuder" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2447, - "title": "Access observation id in langchain runnable", - "href": "https://github.com/orgs/langfuse/discussions/2447", - "created_at": "2024-06-26T21:03:07Z", - "upvotes": 4, + "number": 2438, + "title": "Bedrock provider when using llamaindex", + "href": "https://github.com/orgs/langfuse/discussions/2438", + "created_at": "2024-06-26T11:00:54Z", + "upvotes": 1, "comment_count": 1, "resolved": false, "labels": [ - "integration-langchain" + "integraton-llamaindex", + "integration-amazon-bedrock" ], "author": { - "login": "snikch", - "html_url": "https://github.com/snikch" + "login": "mdciri", + "html_url": "https://github.com/mdciri" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2431, - "title": "Trying to work with llama3 in Azure using AzureMLChatOnlineEndpoint but no cost showing up", - "href": "https://github.com/orgs/langfuse/discussions/2431", - "created_at": "2024-06-25T21:20:25Z", - "upvotes": 1, - "comment_count": 2, + "number": 2437, + "title": "Project members management via public API", + "href": "https://github.com/orgs/langfuse/discussions/2437", + "created_at": "2024-06-26T10:03:50Z", + "upvotes": 3, + "comment_count": 1, "resolved": false, - "labels": [], + "labels": [ + "feat-rbac" + ], "author": { - "login": "spacepirate0001", - "html_url": "https://github.com/spacepirate0001" + "login": "tmarenko", + "html_url": "https://github.com/tmarenko" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2416, - "title": "some tests failed for langfuse-js", - "href": "https://github.com/orgs/langfuse/discussions/2416", - "created_at": "2024-06-25T04:31:35Z", + "number": 2402, + "title": "Add string data type in score config", + "href": "https://github.com/orgs/langfuse/discussions/2402", + "created_at": "2024-06-24T11:12:54Z", "upvotes": 1, - "comment_count": 3, + "comment_count": 1, "resolved": false, - "labels": [], + "labels": [ + "feat-scores" + ], "author": { - "login": "4t8dd", - "html_url": "https://github.com/4t8dd" + "login": "emfhal", + "html_url": "https://github.com/emfhal" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2415, - "title": "AUTH AZURE AD returns AADSTS9002325: Proof Key for Code Exchange is required for cross-origin authorization code redemption.", - "href": "https://github.com/orgs/langfuse/discussions/2415", - "created_at": "2024-06-24T18:00:45Z", - "upvotes": 1, - "comment_count": 1, - "resolved": true, - "labels": [], + "number": 2400, + "title": "Support for Custom Base URL Prefix in Langfuse (nextjs basepath)", + "href": "https://github.com/orgs/langfuse/discussions/2400", + "created_at": "2024-06-24T09:57:57Z", + "upvotes": 21, + "comment_count": 9, + "resolved": false, + "labels": [ + "✅ Done", + "self-hosting" + ], "author": { - "login": "spacepirate0001", - "html_url": "https://github.com/spacepirate0001" + "login": "databill86", + "html_url": "https://github.com/databill86" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2401, - "title": "Trying to understand why in Langfuse Trace under Stream Completion I get this output:", - "href": "https://github.com/orgs/langfuse/discussions/2401", - "created_at": "2024-06-21T12:22:38Z", + "number": 2397, + "title": "Add ARM64 docker image", + "href": "https://github.com/orgs/langfuse/discussions/2397", + "created_at": "2024-06-21T13:35:24Z", "upvotes": 1, - "comment_count": 1, + "comment_count": 2, "resolved": false, - "labels": [], + "labels": [ + "✅ Done", + "self-hosting" + ], "author": { - "login": "howtodoml", - "html_url": "https://github.com/howtodoml" + "login": "lucasiscovici", + "html_url": "https://github.com/lucasiscovici" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2385, - "title": "Modify trace after getting response from OpenAI", - "href": "https://github.com/orgs/langfuse/discussions/2385", - "created_at": "2024-06-20T18:00:09Z", - "upvotes": 2, - "comment_count": 3, + "number": 2390, + "title": "Implement Duplication Check for Prompt Versions in Langfuse", + "href": "https://github.com/orgs/langfuse/discussions/2390", + "created_at": "2024-06-21T08:03:39Z", + "upvotes": 1, + "comment_count": 1, "resolved": false, - "labels": [], + "labels": [ + "feat-prompt-management" + ], "author": { - "login": "tylerlittlefield", - "html_url": "https://github.com/tylerlittlefield" + "login": "sapipoZZZ", + "html_url": "https://github.com/sapipoZZZ" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2381, - "title": "LangFuse UI doesn't show all traces despite debug logging saying that all are sent to the server", - "href": "https://github.com/orgs/langfuse/discussions/2381", - "created_at": "2024-06-20T14:02:12Z", + "number": 2378, + "title": "Number of times a prompt was fetched", + "href": "https://github.com/orgs/langfuse/discussions/2378", + "created_at": "2024-06-20T07:37:12Z", "upvotes": 3, - "comment_count": 1, + "comment_count": 0, "resolved": false, - "labels": [], + "labels": [ + "feat-prompt-management" + ], "author": { - "login": "stokedout", - "html_url": "https://github.com/stokedout" + "login": "subhampasari", + "html_url": "https://github.com/subhampasari" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2379, - "title": "Langfuse was not able to parse the LLM model", - "href": "https://github.com/orgs/langfuse/discussions/2379", - "created_at": "2024-06-20T08:56:57Z", + "number": 2376, + "title": "Allow for custom OAuth scopes when self-hosing", + "href": "https://github.com/orgs/langfuse/discussions/2376", + "created_at": "2024-06-19T22:23:59Z", "upvotes": 1, - "comment_count": 2, - "resolved": true, + "comment_count": 1, + "resolved": false, "labels": [ - "integration-langchain", - "integration-amazon-bedrock" + "feat-auth" ], "author": { - "login": "fdbvega", - "html_url": "https://github.com/fdbvega" + "login": "0x77dev", + "html_url": "https://github.com/0x77dev" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2377, - "title": "Can't see any traces or logs when running Langfuse locally.", - "href": "https://github.com/orgs/langfuse/discussions/2377", - "created_at": "2024-06-19T23:51:46Z", + "number": 2371, + "title": "SBS Markdown mode for dataset runs", + "href": "https://github.com/orgs/langfuse/discussions/2371", + "created_at": "2024-06-19T14:57:32Z", "upvotes": 1, - "comment_count": 6, - "resolved": true, + "comment_count": 1, + "resolved": false, "labels": [ - "self-hosting" + "feat-datasets" ], "author": { - "login": "ibdafna", - "html_url": "https://github.com/ibdafna" + "login": "pfurovYnP", + "html_url": "https://github.com/pfurovYnP" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2373, - "title": "Not recording llamaindex response. Please help", - "href": "https://github.com/orgs/langfuse/discussions/2373", - "created_at": "2024-06-19T19:26:30Z", + "number": 2358, + "title": "Add view mode to Settings", + "href": "https://github.com/orgs/langfuse/discussions/2358", + "created_at": "2024-06-17T12:48:04Z", "upvotes": 1, "comment_count": 1, "resolved": false, - "labels": [ - "integraton-llamaindex" - ], + "labels": [], "author": { - "login": "mraguth", - "html_url": "https://github.com/mraguth" + "login": "emfhal", + "html_url": "https://github.com/emfhal" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2366, - "title": "Add label to prompt from Langfuse UI", - "href": "https://github.com/orgs/langfuse/discussions/2366", - "created_at": "2024-06-18T14:26:14Z", - "upvotes": 1, + "number": 2352, + "title": "Support SAML login protocol", + "href": "https://github.com/orgs/langfuse/discussions/2352", + "created_at": "2024-06-17T07:14:14Z", + "upvotes": 4, "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [ - "feat-prompt-management" + "self-hosting" ], "author": { - "login": "charlieviettq", - "html_url": "https://github.com/charlieviettq" + "login": "emfhal", + "html_url": "https://github.com/emfhal" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2354, - "title": "Link Prompt & Trace with langchain CallbackHandler", - "href": "https://github.com/orgs/langfuse/discussions/2354", - "created_at": "2024-06-17T08:21:56Z", + "number": 2343, + "title": "Bring Langfuse to Cloud Marketplaces", + "href": "https://github.com/orgs/langfuse/discussions/2343", + "created_at": "2024-06-14T06:41:18Z", "upvotes": 2, "comment_count": 2, - "resolved": true, - "labels": [], - "author": { - "login": "derevyan", - "html_url": "https://github.com/derevyan" - }, - "category": "Support" - }, - { - "number": 2353, - "title": "[Migration] Auto-migration DB error when upgrade langfuse version", - "href": "https://github.com/orgs/langfuse/discussions/2353", - "created_at": "2024-06-17T08:02:03Z", - "upvotes": 1, - "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [ "self-hosting" ], "author": { - "login": "charlieviettq", - "html_url": "https://github.com/charlieviettq" + "login": "aiakubovich", + "html_url": "https://github.com/aiakubovich" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2351, - "title": "Customize Langchain callback handler to add spans to existing traces created by separate thread/process", - "href": "https://github.com/orgs/langfuse/discussions/2351", - "created_at": "2024-06-17T03:41:57Z", + "number": 2336, + "title": "Saving a filter", + "href": "https://github.com/orgs/langfuse/discussions/2336", + "created_at": "2024-06-13T09:15:59Z", "upvotes": 1, - "comment_count": 2, + "comment_count": 0, "resolved": false, - "labels": [ - "integration-langchain" - ], + "labels": [], "author": { - "login": "Chengdyc", - "html_url": "https://github.com/Chengdyc" + "login": "avinash361-devrev", + "html_url": "https://github.com/avinash361-devrev" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2348, - "title": "not serializable object of type: LangfuseResponseGeneratorSync", - "href": "https://github.com/orgs/langfuse/discussions/2348", - "created_at": "2024-06-14T22:33:09Z", + "number": 2331, + "title": "Pendo integration", + "href": "https://github.com/orgs/langfuse/discussions/2331", + "created_at": "2024-06-12T18:22:32Z", "upvotes": 1, "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "howtodoml", - "html_url": "https://github.com/howtodoml" + "login": "mrunaaaaaal", + "html_url": "https://github.com/mrunaaaaaal" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2346, - "title": "Chain two prompts", - "href": "https://github.com/orgs/langfuse/discussions/2346", - "created_at": "2024-06-14T08:20:48Z", + "number": 2282, + "title": "[Dashboard] Update Scores Chart to include number of scores on secondary y axis", + "href": "https://github.com/orgs/langfuse/discussions/2282", + "created_at": "2024-06-10T08:41:41Z", "upvotes": 1, "comment_count": 1, "resolved": false, "labels": [ - "feat-prompt-management", - "integration-langchain" + "feat-dashboard" ], "author": { - "login": "darkostanimirovic", - "html_url": "https://github.com/darkostanimirovic" + "login": "charlieviettq", + "html_url": "https://github.com/charlieviettq" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2344, - "title": "Can you use internal Kubernetes DNS to receive traffic from other Kubernetes workloads?", - "href": "https://github.com/orgs/langfuse/discussions/2344", - "created_at": "2024-06-14T08:15:36Z", - "upvotes": 1, + "number": 2278, + "title": "Type of input and output of each span visible in the UI", + "href": "https://github.com/orgs/langfuse/discussions/2278", + "created_at": "2024-06-08T21:17:48Z", + "upvotes": 3, "comment_count": 1, - "resolved": true, - "labels": [], + "resolved": false, + "labels": [ + "ui" + ], "author": { - "login": "smeasures", - "html_url": "https://github.com/smeasures" + "login": "arthurGrigo", + "html_url": "https://github.com/arthurGrigo" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2342, - "title": "Getting trace id out of a langchain runnable", - "href": "https://github.com/orgs/langfuse/discussions/2342", - "created_at": "2024-06-14T01:15:26Z", - "upvotes": 1, - "comment_count": 1, - "resolved": true, + "number": 2268, + "title": "Langfuse retention settings", + "href": "https://github.com/orgs/langfuse/discussions/2268", + "created_at": "2024-06-07T12:27:32Z", + "upvotes": 8, + "comment_count": 6, + "resolved": false, "labels": [], "author": { - "login": "salmanmashayekh", - "html_url": "https://github.com/salmanmashayekh" + "login": "sudhanshu746", + "html_url": "https://github.com/sudhanshu746" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2338, - "title": "Can RBAC Role Assignment be done using Azure AD SSO token?", - "href": "https://github.com/orgs/langfuse/discussions/2338", - "created_at": "2024-06-13T11:29:59Z", - "upvotes": 4, - "comment_count": 2, + "number": 2241, + "title": "Tracing integration with unify.ai", + "href": "https://github.com/orgs/langfuse/discussions/2241", + "created_at": "2024-06-05T15:17:00Z", + "upvotes": 5, + "comment_count": 3, "resolved": false, "labels": [ - "feat-rbac", - "self-hosting" + "integrations" ], "author": { - "login": "joshwright10", - "html_url": "https://github.com/joshwright10" + "login": "marcklingen", + "html_url": "https://github.com/marcklingen" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2298, - "title": "llamaindex: function_call does not generate subspans for a custom AsyncBaseTool class", - "href": "https://github.com/orgs/langfuse/discussions/2298", - "created_at": "2024-06-11T09:28:33Z", - "upvotes": 1, - "comment_count": 3, + "number": 2237, + "title": "Add Langchain Support to Prompt Management", + "href": "https://github.com/orgs/langfuse/discussions/2237", + "created_at": "2024-06-05T10:05:13Z", + "upvotes": 34, + "comment_count": 5, "resolved": false, "labels": [ - "integraton-llamaindex" + "feat-prompt-management", + "integration-langchain", + "✅ Done" ], "author": { - "login": "ootkin", - "html_url": "https://github.com/ootkin" + "login": "guidev", + "html_url": "https://github.com/guidev" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2290, - "title": "There are no evaluation component in the 2.50 version", - "href": "https://github.com/orgs/langfuse/discussions/2290", - "created_at": "2024-06-10T19:36:30Z", - "upvotes": 1, + "number": 2226, + "title": "Monitoring Costs and Traces generated by RAGAS", + "href": "https://github.com/orgs/langfuse/discussions/2226", + "created_at": "2024-06-04T09:35:25Z", + "upvotes": 4, "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [], "author": { - "login": "yanlinchn", - "html_url": "https://github.com/yanlinchn" + "login": "paolotamag", + "html_url": "https://github.com/paolotamag" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2254, - "title": "Unable to get hello world program working due to incorrect public key / host", - "href": "https://github.com/orgs/langfuse/discussions/2254", - "created_at": "2024-06-06T09:13:53Z", - "upvotes": 3, + "number": 2215, + "title": "new chart in dashboard for booleans metrics", + "href": "https://github.com/orgs/langfuse/discussions/2215", + "created_at": "2024-06-03T12:48:37Z", + "upvotes": 1, "comment_count": 1, - "resolved": true, + "resolved": false, + "labels": [], + "author": { + "login": "paolotamag", + "html_url": "https://github.com/paolotamag" + }, + "category": "Ideas" + }, + { + "number": 2210, + "title": "MessagesPlaceholder in \"Create New Prompt\" panel", + "href": "https://github.com/orgs/langfuse/discussions/2210", + "created_at": "2024-06-03T06:58:45Z", + "upvotes": 6, + "comment_count": 2, + "resolved": false, "labels": [ - "self-hosting" + "feat-prompt-management" ], "author": { - "login": "mr-nano", - "html_url": "https://github.com/mr-nano" + "login": "NIKsun", + "html_url": "https://github.com/NIKsun" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2244, - "title": "2 traces generated instead of 1", - "href": "https://github.com/orgs/langfuse/discussions/2244", - "created_at": "2024-06-05T17:06:52Z", + "number": 2209, + "title": "Enhance data in daily metrics api endpoint", + "href": "https://github.com/orgs/langfuse/discussions/2209", + "created_at": "2024-06-02T14:38:15Z", "upvotes": 1, "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [ - "integration-langchain", - "feat-datasets" + "✅ Done", + "feat-api" ], "author": { - "login": "nithin1995", - "html_url": "https://github.com/nithin1995" + "login": "matthiaslau", + "html_url": "https://github.com/matthiaslau" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2211, - "title": "How to clean the langfuse cache data periodically?", - "href": "https://github.com/orgs/langfuse/discussions/2211", - "created_at": "2024-06-03T07:40:22Z", - "upvotes": 1, - "comment_count": 1, - "resolved": true, - "labels": [], + "number": 2203, + "title": "Ability to add comments to versions of prompts (\"commit message\")", + "href": "https://github.com/orgs/langfuse/discussions/2203", + "created_at": "2024-06-01T13:13:27Z", + "upvotes": 4, + "comment_count": 4, + "resolved": false, + "labels": [ + "feat-prompt-management" + ], "author": { - "login": "He-Huang", - "html_url": "https://github.com/He-Huang" + "login": "ajram23", + "html_url": "https://github.com/ajram23" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2207, - "title": "Model Cost does not show up", - "href": "https://github.com/orgs/langfuse/discussions/2207", - "created_at": "2024-06-02T11:08:58Z", - "upvotes": 1, - "comment_count": 1, - "resolved": true, + "number": 2195, + "title": "Timeline/graph visualization for traces", + "href": "https://github.com/orgs/langfuse/discussions/2195", + "created_at": "2024-05-31T08:18:11Z", + "upvotes": 7, + "comment_count": 4, + "resolved": false, "labels": [ - "feat-cost-tracking" + "✅ Done" ], "author": { - "login": "jannikstdl", - "html_url": "https://github.com/jannikstdl" + "login": "david1542", + "html_url": "https://github.com/david1542" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2206, - "title": "Possibilities for auth", - "href": "https://github.com/orgs/langfuse/discussions/2206", - "created_at": "2024-06-01T23:38:39Z", - "upvotes": 1, + "number": 2194, + "title": "Terraform Provider for internal Langfuse configuration", + "href": "https://github.com/orgs/langfuse/discussions/2194", + "created_at": "2024-05-31T06:23:11Z", + "upvotes": 2, "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [ "self-hosting" ], "author": { - "login": "Getty", - "html_url": "https://github.com/Getty" + "login": "mroedder-d7", + "html_url": "https://github.com/mroedder-d7" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2200, - "title": "How does one replace values for a ChatPromptTemplate for Langchain", - "href": "https://github.com/orgs/langfuse/discussions/2200", - "created_at": "2024-05-31T19:39:14Z", - "upvotes": 0, - "comment_count": 2, + "number": 2184, + "title": "support query prompt via prompt id", + "href": "https://github.com/orgs/langfuse/discussions/2184", + "created_at": "2024-05-30T02:55:59Z", + "upvotes": 1, + "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "ajram23", - "html_url": "https://github.com/ajram23" + "login": "hu9029", + "html_url": "https://github.com/hu9029" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2188, - "title": "Time to first token?", - "href": "https://github.com/orgs/langfuse/discussions/2188", - "created_at": "2024-05-30T12:45:37Z", + "number": 2181, + "title": "Support for SDK entry-point wrapper around async REST API client", + "href": "https://github.com/orgs/langfuse/discussions/2181", + "created_at": "2024-05-29T17:50:22Z", "upvotes": 1, - "comment_count": 1, + "comment_count": 0, "resolved": false, "labels": [], "author": { - "login": "jrcapicua", - "html_url": "https://github.com/jrcapicua" + "login": "blazing-gig", + "html_url": "https://github.com/blazing-gig" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2172, - "title": "How to reuse callback handler in langchain integration?", - "href": "https://github.com/orgs/langfuse/discussions/2172", - "created_at": "2024-05-28T15:25:39Z", - "upvotes": 1, - "comment_count": 2, + "number": 2176, + "title": "Support querying Users (GET) to support analytics pipeline solutions", + "href": "https://github.com/orgs/langfuse/discussions/2176", + "created_at": "2024-05-29T02:42:13Z", + "upvotes": 2, + "comment_count": 1, "resolved": false, "labels": [ - "integration-langchain" + "feat-users" ], "author": { - "login": "SebastianStehle", - "html_url": "https://github.com/SebastianStehle" + "login": "Tjmstudios", + "html_url": "https://github.com/Tjmstudios" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2165, - "title": "Auth0 not working", - "href": "https://github.com/orgs/langfuse/discussions/2165", - "created_at": "2024-05-28T11:38:43Z", - "upvotes": 2, - "comment_count": 3, + "number": 2161, + "title": "Prompt version only create when different", + "href": "https://github.com/orgs/langfuse/discussions/2161", + "created_at": "2024-05-27T23:47:21Z", + "upvotes": 4, + "comment_count": 2, "resolved": false, "labels": [ - "self-hosting" + "feat-prompt-management" ], "author": { - "login": "mforell", - "html_url": "https://github.com/mforell" + "login": "brightsparc", + "html_url": "https://github.com/brightsparc" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2162, - "title": "Connect Prompt ID to GENERATIONS when integrate Langfuse in LangChain.", - "href": "https://github.com/orgs/langfuse/discussions/2162", - "created_at": "2024-05-28T00:56:34Z", - "upvotes": 8, + "number": 2140, + "title": "clickhouse support", + "href": "https://github.com/orgs/langfuse/discussions/2140", + "created_at": "2024-05-24T15:21:14Z", + "upvotes": 2, "comment_count": 1, - "resolved": true, - "labels": [], + "resolved": false, + "labels": [ + "work-in-progress", + "performance" + ], "author": { - "login": "hdp173", - "html_url": "https://github.com/hdp173" + "login": "newcworld", + "html_url": "https://github.com/newcworld" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2154, - "title": "__root__ -> items -> 0 -> datasetName field required (type=value_error.missing)", - "href": "https://github.com/orgs/langfuse/discussions/2154", - "created_at": "2024-05-27T11:26:24Z", - "upvotes": 1, - "comment_count": 2, + "number": 2131, + "title": "Export to data warehouses (BigQuery etc)", + "href": "https://github.com/orgs/langfuse/discussions/2131", + "created_at": "2024-05-23T15:52:18Z", + "upvotes": 18, + "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "emailic", - "html_url": "https://github.com/emailic" + "login": "rohan-mehta", + "html_url": "https://github.com/rohan-mehta" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2152, - "title": "get_langchain_handler() alwasy start from trace root.", - "href": "https://github.com/orgs/langfuse/discussions/2152", - "created_at": "2024-05-27T10:47:42Z", - "upvotes": 1, + "number": 2124, + "title": "Proposal: Add Support for Uploading Dataset Items via UI", + "href": "https://github.com/orgs/langfuse/discussions/2124", + "created_at": "2024-05-22T10:58:04Z", + "upvotes": 5, "comment_count": 1, "resolved": false, "labels": [ - "integration-langchain" + "feat-datasets" ], "author": { - "login": "hdp173", - "html_url": "https://github.com/hdp173" + "login": "vaddenz", + "html_url": "https://github.com/vaddenz" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2146, - "title": "Customize LangChain Integration.", - "href": "https://github.com/orgs/langfuse/discussions/2146", - "created_at": "2024-05-27T06:12:41Z", + "number": 2119, + "title": "Phidata support", + "href": "https://github.com/orgs/langfuse/discussions/2119", + "created_at": "2024-05-21T14:20:09Z", "upvotes": 1, "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [ - "integration-langchain" + "integrations" ], "author": { - "login": "hdp173", - "html_url": "https://github.com/hdp173" + "login": "michaelpoluektov", + "html_url": "https://github.com/michaelpoluektov" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2145, - "title": "Need help on syntax for editing project roles", - "href": "https://github.com/orgs/langfuse/discussions/2145", - "created_at": "2024-05-26T18:50:59Z", - "upvotes": 1, - "comment_count": 2, + "number": 2104, + "title": "Feature Request: Tracing Sampling Rate Configuration for Langfuse", + "href": "https://github.com/orgs/langfuse/discussions/2104", + "created_at": "2024-05-20T16:23:05Z", + "upvotes": 2, + "comment_count": 1, "resolved": false, - "labels": [], + "labels": [ + "✅ Done" + ], "author": { - "login": "hrithik062", - "html_url": "https://github.com/hrithik062" + "login": "himansrivastava", + "html_url": "https://github.com/himansrivastava" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2142, - "title": "Unable to login with SSO", - "href": "https://github.com/orgs/langfuse/discussions/2142", - "created_at": "2024-05-24T18:40:35Z", + "number": 2101, + "title": "feat: Adding AWS Cognito Authentication", + "href": "https://github.com/orgs/langfuse/discussions/2101", + "created_at": "2024-05-20T14:30:32Z", "upvotes": 1, - "comment_count": 1, - "resolved": true, - "labels": [], + "comment_count": 2, + "resolved": false, + "labels": [ + "✅ Done", + "feat-auth" + ], "author": { - "login": "alecor191", - "html_url": "https://github.com/alecor191" + "login": "Shekswess", + "html_url": "https://github.com/Shekswess" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2137, - "title": "Latency (Avg) showing 0 for dataset runs", - "href": "https://github.com/orgs/langfuse/discussions/2137", - "created_at": "2024-05-24T07:33:51Z", + "number": 2097, + "title": "Markdown Rendering Option", + "href": "https://github.com/orgs/langfuse/discussions/2097", + "created_at": "2024-05-18T16:58:37Z", "upvotes": 4, - "comment_count": 1, - "resolved": true, - "labels": [], - "author": { - "login": "karthik-TLIT", - "html_url": "https://github.com/karthik-TLIT" - }, - "category": "Support" - }, - { - "number": 2130, - "title": "Evaluations Not Available in Self-Hosted Version?", - "href": "https://github.com/orgs/langfuse/discussions/2130", - "created_at": "2024-05-23T14:31:16Z", - "upvotes": 3, - "comment_count": 1, - "resolved": true, + "comment_count": 4, + "resolved": false, "labels": [ - "feat-evals" + "✅ Done" ], "author": { - "login": "c0pper", - "html_url": "https://github.com/c0pper" + "login": "hburrichter", + "html_url": "https://github.com/hburrichter" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2114, - "title": "Careers link on HN is broken", - "href": "https://github.com/orgs/langfuse/discussions/2114", - "created_at": "2024-05-21T07:28:26Z", + "number": 2081, + "title": "feat: inject langfuse info into langchain metadata", + "href": "https://github.com/orgs/langfuse/discussions/2081", + "created_at": "2024-05-16T20:43:41Z", "upvotes": 1, - "comment_count": 1, - "resolved": true, - "labels": [], - "author": { - "login": "davherrmann", - "html_url": "https://github.com/davherrmann" - }, - "category": "Support" - }, - { - "number": 2111, - "title": "Token cost is counted even if langchains LLM cache is utilized", - "href": "https://github.com/orgs/langfuse/discussions/2111", - "created_at": "2024-05-20T23:23:44Z", - "upvotes": 5, - "comment_count": 1, - "resolved": true, + "comment_count": 0, + "resolved": false, "labels": [ "integration-langchain" ], "author": { - "login": "arthurGrigo", - "html_url": "https://github.com/arthurGrigo" + "login": "benobytes", + "html_url": "https://github.com/benobytes" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2106, - "title": "Hability to store pre defined initial message", - "href": "https://github.com/orgs/langfuse/discussions/2106", - "created_at": "2024-05-20T20:40:23Z", - "upvotes": 1, - "comment_count": 1, - "resolved": true, + "number": 2072, + "title": "Adding prompt tags via Python SDK (or other code based interactions)", + "href": "https://github.com/orgs/langfuse/discussions/2072", + "created_at": "2024-05-16T09:46:20Z", + "upvotes": 5, + "comment_count": 2, + "resolved": false, "labels": [], "author": { - "login": "Lunik", - "html_url": "https://github.com/Lunik" + "login": "simon-hiel", + "html_url": "https://github.com/simon-hiel" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2099, - "title": "Deleting Duplicate Items in a Dataset", - "href": "https://github.com/orgs/langfuse/discussions/2099", - "created_at": "2024-05-20T09:48:58Z", - "upvotes": 1, - "comment_count": 1, - "resolved": true, + "number": 2071, + "title": "Save playground conversation to a dataset", + "href": "https://github.com/orgs/langfuse/discussions/2071", + "created_at": "2024-05-16T09:24:29Z", + "upvotes": 3, + "comment_count": 0, + "resolved": false, "labels": [ - "feat-datasets" + "feat-datasets", + "feat-playground" ], "author": { - "login": "emailic", - "html_url": "https://github.com/emailic" + "login": "bderenzi", + "html_url": "https://github.com/bderenzi" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2098, - "title": "Wrong model for billing", - "href": "https://github.com/orgs/langfuse/discussions/2098", - "created_at": "2024-05-20T09:29:33Z", - "upvotes": 2, + "number": 2065, + "title": "Support multiple prompts attached to a generation.", + "href": "https://github.com/orgs/langfuse/discussions/2065", + "created_at": "2024-05-15T22:16:35Z", + "upvotes": 3, "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [], "author": { - "login": "wdxwj", - "html_url": "https://github.com/wdxwj" + "login": "jansenderr", + "html_url": "https://github.com/jansenderr" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2077, - "title": "Error Encountered During Migration for Applying Newly Supported Models to Existing Data", - "href": "https://github.com/orgs/langfuse/discussions/2077", - "created_at": "2024-05-16T15:30:33Z", + "number": 2064, + "title": "Show explicit error when viewing a project that doesn't exist", + "href": "https://github.com/orgs/langfuse/discussions/2064", + "created_at": "2024-05-15T16:49:32Z", "upvotes": 1, - "comment_count": 1, + "comment_count": 0, "resolved": false, "labels": [], "author": { - "login": "Zherdev1996", - "html_url": "https://github.com/Zherdev1996" + "login": "backmask", + "html_url": "https://github.com/backmask" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2073, - "title": "Will Playground be available for self-hosted?", - "href": "https://github.com/orgs/langfuse/discussions/2073", - "created_at": "2024-05-16T12:40:30Z", - "upvotes": 5, - "comment_count": 2, - "resolved": true, + "number": 2045, + "title": "Requesting official support OpenAI's new gpt-4o model", + "href": "https://github.com/orgs/langfuse/discussions/2045", + "created_at": "2024-05-13T21:37:38Z", + "upvotes": 3, + "comment_count": 5, + "resolved": false, "labels": [ - "feat-playground" + "integration-openai", + "✅ Done", + "feat-cost-tracking" ], "author": { - "login": "sabatesduran", - "html_url": "https://github.com/sabatesduran" + "login": "varenc", + "html_url": "https://github.com/varenc" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2070, - "title": "Error on Local Deployment: \"Evals available in cloud only\" when Adding LLM API Key", - "href": "https://github.com/orgs/langfuse/discussions/2070", - "created_at": "2024-05-16T09:02:43Z", - "upvotes": 1, + "number": 2043, + "title": "Support instrumentation through openllmetry", + "href": "https://github.com/orgs/langfuse/discussions/2043", + "created_at": "2024-05-13T19:27:59Z", + "upvotes": 8, "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "youngsj951104", - "html_url": "https://github.com/youngsj951104" + "login": "baggiponte", + "html_url": "https://github.com/baggiponte" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2069, - "title": "Does langfuse uses any Postgres-only features?", - "href": "https://github.com/orgs/langfuse/discussions/2069", - "created_at": "2024-05-16T06:36:16Z", - "upvotes": 2, - "comment_count": 1, - "resolved": true, - "labels": [], - "author": { - "login": "rohts-patil", - "html_url": "https://github.com/rohts-patil" - }, - "category": "Support" - }, - { - "number": 2063, - "title": "Exception(\"parent run not found\")", - "href": "https://github.com/orgs/langfuse/discussions/2063", - "created_at": "2024-05-15T14:45:00Z", - "upvotes": 1, + "number": 2039, + "title": "Introduce the concept of \"sub-prompt\" to improve prompt reusability", + "href": "https://github.com/orgs/langfuse/discussions/2039", + "created_at": "2024-05-13T10:14:44Z", + "upvotes": 3, "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "emailic", - "html_url": "https://github.com/emailic" + "login": "khaelys", + "html_url": "https://github.com/khaelys" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2042, - "title": "Availability of evals when self-hosting", - "href": "https://github.com/orgs/langfuse/discussions/2042", - "created_at": "2024-05-13T14:06:11Z", - "upvotes": 2, + "number": 2030, + "title": "Add number of 'successful request' to traces list view", + "href": "https://github.com/orgs/langfuse/discussions/2030", + "created_at": "2024-05-09T23:25:27Z", + "upvotes": 1, "comment_count": 1, - "resolved": true, - "labels": [ - "feat-evals" - ], + "resolved": false, + "labels": [], "author": { - "login": "derevyan", - "html_url": "https://github.com/derevyan" + "login": "arthurGrigo", + "html_url": "https://github.com/arthurGrigo" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2031, - "title": "Starting a demo from JS SDK and local running Langfuse, but cannot create init trace currently", - "href": "https://github.com/orgs/langfuse/discussions/2031", - "created_at": "2024-05-10T08:49:40Z", + "number": 2021, + "title": "Ask for a import/export on prompt management page", + "href": "https://github.com/orgs/langfuse/discussions/2021", + "created_at": "2024-05-09T03:17:50Z", "upvotes": 1, - "comment_count": 1, + "comment_count": 2, "resolved": false, "labels": [], "author": { - "login": "JamieLee0510", - "html_url": "https://github.com/JamieLee0510" + "login": "ShaunDeng", + "html_url": "https://github.com/ShaunDeng" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2009, - "title": "Custom name of Span when using Langchain handler instead of RunnableSequence", - "href": "https://github.com/orgs/langfuse/discussions/2009", - "created_at": "2024-05-08T12:23:08Z", + "number": 2006, + "title": "Gitlab Auth Provider", + "href": "https://github.com/orgs/langfuse/discussions/2006", + "created_at": "2024-05-08T10:12:51Z", "upvotes": 1, "comment_count": 1, - "resolved": true, - "labels": [ - "integration-langchain" - ], + "resolved": false, + "labels": [], "author": { - "login": "nathan-vo810", - "html_url": "https://github.com/nathan-vo810" + "login": "jsirex", + "html_url": "https://github.com/jsirex" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2008, - "title": "Not able to add dataset item", - "href": "https://github.com/orgs/langfuse/discussions/2008", - "created_at": "2024-05-08T12:11:04Z", - "upvotes": 1, - "comment_count": 1, + "number": 1990, + "title": "Add batch actions to traces", + "href": "https://github.com/orgs/langfuse/discussions/1990", + "created_at": "2024-05-07T09:37:42Z", + "upvotes": 3, + "comment_count": 0, "resolved": false, "labels": [], "author": { - "login": "nithin1995", - "html_url": "https://github.com/nithin1995" + "login": "nimbusaeta", + "html_url": "https://github.com/nimbusaeta" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2007, - "title": "Langfuse in PHP. Which are the minimum functions needed to implement?", - "href": "https://github.com/orgs/langfuse/discussions/2007", - "created_at": "2024-05-08T10:55:07Z", - "upvotes": 1, + "number": 1988, + "title": "Upload datasets via UI", + "href": "https://github.com/orgs/langfuse/discussions/1988", + "created_at": "2024-05-06T20:25:20Z", + "upvotes": 9, "comment_count": 1, "resolved": false, - "labels": [], + "labels": [ + "feat-datasets" + ], "author": { - "login": "phpia", - "html_url": "https://github.com/phpia" + "login": "assafweinberg", + "html_url": "https://github.com/assafweinberg" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2005, - "title": "How to get trace data with langfuse-langchain in JS/TS?", - "href": "https://github.com/orgs/langfuse/discussions/2005", - "created_at": "2024-05-08T08:08:42Z", - "upvotes": 1, + "number": 1987, + "title": "API/UI to delete dataset items and runs", + "href": "https://github.com/orgs/langfuse/discussions/1987", + "created_at": "2024-05-06T17:13:16Z", + "upvotes": 24, "comment_count": 2, - "resolved": true, + "resolved": false, "labels": [ - "integration-langchain" + "feat-datasets" ], "author": { - "login": "AdiletBekmuratov", - "html_url": "https://github.com/AdiletBekmuratov" + "login": "tomek82", + "html_url": "https://github.com/tomek82" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1982, - "title": "trace doesn't work with .batch handler on langserve", - "href": "https://github.com/orgs/langfuse/discussions/1982", - "created_at": "2024-05-06T02:32:30Z", - "upvotes": 2, + "number": 1963, + "title": "Is it possible integrate Langfuse with Microsoft Copilot Studio?", + "href": "https://github.com/orgs/langfuse/discussions/1963", + "created_at": "2024-05-03T03:33:22Z", + "upvotes": 1, "comment_count": 0, "resolved": false, "labels": [], "author": { - "login": "restuprajna", - "html_url": "https://github.com/restuprajna" + "login": "aiakubovich", + "html_url": "https://github.com/aiakubovich" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1979, - "title": "get_prompt function failed in langfuse-python 2.28.3", - "href": "https://github.com/orgs/langfuse/discussions/1979", - "created_at": "2024-05-05T19:57:40Z", - "upvotes": 1, - "comment_count": 1, - "resolved": true, - "labels": [], + "number": 2055, + "title": "Openai: Support IO capture when streaming function / tool call", + "href": "https://github.com/orgs/langfuse/discussions/2055", + "created_at": "2024-05-01T15:25:15Z", + "upvotes": 16, + "comment_count": 7, + "resolved": false, + "labels": [ + "sdk-python", + "integration-openai", + "✅ Done" + ], "author": { - "login": "nathan-vo810", - "html_url": "https://github.com/nathan-vo810" + "login": "DanrForetellix", + "html_url": "https://github.com/DanrForetellix" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1969, - "title": "How to utilize a dataset w/ typescript and langchain integration", - "href": "https://github.com/orgs/langfuse/discussions/1969", - "created_at": "2024-05-03T15:22:21Z", + "number": 1941, + "title": "Looking into allowing more customization of the table", + "href": "https://github.com/orgs/langfuse/discussions/1941", + "created_at": "2024-05-01T14:47:32Z", "upvotes": 1, - "comment_count": 2, + "comment_count": 1, "resolved": false, - "labels": [ - "✅ Done", - "feat-datasets" - ], + "labels": [], "author": { - "login": "sahellebusch", - "html_url": "https://github.com/sahellebusch" + "login": "Mohamed-Ayaan358", + "html_url": "https://github.com/Mohamed-Ayaan358" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1957, - "title": "DevOps: What is the best way to create separate Langfuse instances in different environments: Dev, Test, QA, Prod?", - "href": "https://github.com/orgs/langfuse/discussions/1957", - "created_at": "2024-05-02T21:28:07Z", + "number": 1916, + "title": "Langchain integration Improvements", + "href": "https://github.com/orgs/langfuse/discussions/1916", + "created_at": "2024-04-30T13:23:19Z", "upvotes": 2, "comment_count": 2, - "resolved": true, + "resolved": false, "labels": [ - "self-hosting" + "integration-langchain", + "✅ Done" ], "author": { - "login": "aiakubovich", - "html_url": "https://github.com/aiakubovich" + "login": "ajram23", + "html_url": "https://github.com/ajram23" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1952, - "title": "How to communicate trace-id between backend and frontend ? (langchain+langserve integration)", - "href": "https://github.com/orgs/langfuse/discussions/1952", - "created_at": "2024-05-02T13:48:20Z", + "number": 1904, + "title": "Retrieve prompts based on versioning rather than times for caching", + "href": "https://github.com/orgs/langfuse/discussions/1904", + "created_at": "2024-04-29T14:04:27Z", "upvotes": 1, - "comment_count": 3, + "comment_count": 2, "resolved": false, "labels": [ - "integration-langchain" + "feat-prompt-management" ], "author": { - "login": "Sinnaeve", - "html_url": "https://github.com/Sinnaeve" + "login": "ajram23", + "html_url": "https://github.com/ajram23" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1946, - "title": "Not able to build docker image from web/Dockerfile", - "href": "https://github.com/orgs/langfuse/discussions/1946", - "created_at": "2024-05-02T09:41:18Z", - "upvotes": 2, - "comment_count": 1, - "resolved": true, + "number": 1896, + "title": "Delete Session", + "href": "https://github.com/orgs/langfuse/discussions/1896", + "created_at": "2024-04-29T08:01:05Z", + "upvotes": 15, + "comment_count": 0, + "resolved": false, "labels": [ - "self-hosting" + "feat-sessions" ], "author": { - "login": "Subham0793", - "html_url": "https://github.com/Subham0793" + "login": "rohan-gt", + "html_url": "https://github.com/rohan-gt" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1940, - "title": "Simple Prompt -> LLM error with Usage Object?", - "href": "https://github.com/orgs/langfuse/discussions/1940", - "created_at": "2024-05-01T13:47:14Z", - "upvotes": 2, - "comment_count": 1, - "resolved": true, - "labels": [], + "number": 1895, + "title": "linking prompts with tracing in langchain integration", + "href": "https://github.com/orgs/langfuse/discussions/1895", + "created_at": "2024-04-28T13:13:08Z", + "upvotes": 10, + "comment_count": 3, + "resolved": false, + "labels": [ + "feat-prompt-management", + "integration-langchain", + "✅ Done" + ], "author": { - "login": "tzilkha", - "html_url": "https://github.com/tzilkha" + "login": "SatheeshJM", + "html_url": "https://github.com/SatheeshJM" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1864, - "title": "Can't see traces in the webUI if callback_handler passed to LLM init constructor", - "href": "https://github.com/orgs/langfuse/discussions/1864", - "created_at": "2024-04-25T21:01:54Z", - "upvotes": 2, + "number": 1867, + "title": "Add integration with evaluation frameworks", + "href": "https://github.com/orgs/langfuse/discussions/1867", + "created_at": "2024-04-25T23:09:03Z", + "upvotes": 1, "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "gabrielfior", - "html_url": "https://github.com/gabrielfior" + "login": "johnnydevriese", + "html_url": "https://github.com/johnnydevriese" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1860, - "title": "Alter generation names with LangChain integration", - "href": "https://github.com/orgs/langfuse/discussions/1860", - "created_at": "2024-04-25T18:12:35Z", + "number": 1862, + "title": "Support Linking Execution Trace to DatasetItem without Fetching Entire Dataset", + "href": "https://github.com/orgs/langfuse/discussions/1862", + "created_at": "2024-04-25T18:57:08Z", "upvotes": 1, "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [ - "integration-langchain" + "feat-datasets" ], "author": { - "login": "nic-asnes-klaviyo", - "html_url": "https://github.com/nic-asnes-klaviyo" - }, - "category": "Support" - }, - { - "number": 1831, - "title": "how to check only output tokens and models costs related to only output tokens?", - "href": "https://github.com/orgs/langfuse/discussions/1831", - "created_at": "2024-04-24T12:27:17Z", - "upvotes": 2, - "comment_count": 1, - "resolved": false, - "labels": [], - "author": { - "login": "manishiitg", - "html_url": "https://github.com/manishiitg" + "login": "sfarthin", + "html_url": "https://github.com/sfarthin" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1814, - "title": "Deploy to heroku", - "href": "https://github.com/orgs/langfuse/discussions/1814", - "created_at": "2024-04-23T13:56:27Z", + "number": 1858, + "title": "Platform User roles to allow or disable project creation", + "href": "https://github.com/orgs/langfuse/discussions/1858", + "created_at": "2024-04-25T16:00:12Z", "upvotes": 1, "comment_count": 2, - "resolved": true, + "resolved": false, "labels": [ - "self-hosting" + "✅ Done", + "feat-rbac" ], "author": { - "login": "MarcoSteinke", - "html_url": "https://github.com/MarcoSteinke" + "login": "JMcGenn", + "html_url": "https://github.com/JMcGenn" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1788, - "title": "Need help with resolving long runtimes when Langfuse tracing is enabled", - "href": "https://github.com/orgs/langfuse/discussions/1788", - "created_at": "2024-04-19T17:46:05Z", - "upvotes": 2, + "number": 1851, + "title": "[oauth] Keycloak provider support", + "href": "https://github.com/orgs/langfuse/discussions/1851", + "created_at": "2024-04-25T12:39:26Z", + "upvotes": 7, "comment_count": 1, "resolved": false, - "labels": [], + "labels": [ + "self-hosting" + ], "author": { - "login": "pooja1423", - "html_url": "https://github.com/pooja1423" + "login": "9teen90nine", + "html_url": "https://github.com/9teen90nine" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1785, - "title": "How to limit the number of traces", - "href": "https://github.com/orgs/langfuse/discussions/1785", - "created_at": "2024-04-19T10:29:17Z", + "number": 1843, + "title": "Support GigaChat model from LangChain", + "href": "https://github.com/orgs/langfuse/discussions/1843", + "created_at": "2024-04-25T09:24:07Z", "upvotes": 1, - "comment_count": 1, + "comment_count": 0, "resolved": false, - "labels": [], + "labels": [ + "integration-langchain" + ], "author": { - "login": "secsilm", - "html_url": "https://github.com/secsilm" + "login": "Rai220", + "html_url": "https://github.com/Rai220" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1773, - "title": "Flowise 1.6.5 can not Trace", - "href": "https://github.com/orgs/langfuse/discussions/1773", - "created_at": "2024-04-18T11:55:32Z", + "number": 1830, + "title": "Decorator should also be able to return JSON or Dictionary object", + "href": "https://github.com/orgs/langfuse/discussions/1830", + "created_at": "2024-04-24T09:41:39Z", "upvotes": 1, - "comment_count": 1, + "comment_count": 2, "resolved": false, "labels": [], "author": { - "login": "lknbv5", - "html_url": "https://github.com/lknbv5" + "login": "nathan-vo810", + "html_url": "https://github.com/nathan-vo810" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1759, - "title": "How to get generations and scores in the same trace when using OpenAI sdk or other tools", - "href": "https://github.com/orgs/langfuse/discussions/1759", - "created_at": "2024-04-17T15:56:51Z", + "number": 1826, + "title": "Having a session_with_user client", + "href": "https://github.com/orgs/langfuse/discussions/1826", + "created_at": "2024-04-24T08:31:05Z", "upvotes": 1, - "comment_count": 1, + "comment_count": 0, "resolved": false, "labels": [], "author": { - "login": "databill86", - "html_url": "https://github.com/databill86" + "login": "rtzy7", + "html_url": "https://github.com/rtzy7" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1712, - "title": "Invalid public key", - "href": "https://github.com/orgs/langfuse/discussions/1712", - "created_at": "2024-04-14T18:11:51Z", + "number": 1823, + "title": "Change `/api/chatCompletion` to be a standard OpenAI proxy on `/api/v1/chat/completions`?", + "href": "https://github.com/orgs/langfuse/discussions/1823", + "created_at": "2024-04-23T19:48:34Z", "upvotes": 1, "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "taaha3244", - "html_url": "https://github.com/taaha3244" + "login": "Manouchehri", + "html_url": "https://github.com/Manouchehri" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1672, - "title": "Cookies not allowed", - "href": "https://github.com/orgs/langfuse/discussions/1672", - "created_at": "2024-04-11T07:43:53Z", + "number": 1820, + "title": "Auth using Microsoft Entra ID", + "href": "https://github.com/orgs/langfuse/discussions/1820", + "created_at": "2024-04-23T18:32:42Z", "upvotes": 1, - "comment_count": 3, + "comment_count": 2, "resolved": false, - "labels": [], + "labels": [ + "✅ Done", + "self-hosting" + ], "author": { - "login": "danielpirs", - "html_url": "https://github.com/danielpirs" + "login": "Stadly", + "html_url": "https://github.com/Stadly" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1649, - "title": "Run Langchain Evaluations on data in Langfuse , Why is the prompt not considered, and could this lead to evaluation flaws?", - "href": "https://github.com/orgs/langfuse/discussions/1649", - "created_at": "2024-04-10T05:25:28Z", - "upvotes": 1, - "comment_count": 1, + "number": 1816, + "title": "Add a metrics endpoint for Prometheus", + "href": "https://github.com/orgs/langfuse/discussions/1816", + "created_at": "2024-04-23T14:33:38Z", + "upvotes": 5, + "comment_count": 2, "resolved": false, "labels": [], "author": { - "login": "pengpengIlove", - "html_url": "https://github.com/pengpengIlove" + "login": "nolwennz", + "html_url": "https://github.com/nolwennz" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1610, - "title": "Scoring a trace after the LLM chain returns", - "href": "https://github.com/orgs/langfuse/discussions/1610", - "created_at": "2024-04-07T15:12:34Z", - "upvotes": 1, - "comment_count": 1, - "resolved": true, + "number": 1813, + "title": "Provide an integration with Matomo Analytics so as for Posthog", + "href": "https://github.com/orgs/langfuse/discussions/1813", + "created_at": "2024-04-23T12:24:41Z", + "upvotes": 12, + "comment_count": 4, + "resolved": false, "labels": [ - "feat-scores" + "integrations" ], "author": { - "login": "pooja1423", - "html_url": "https://github.com/pooja1423" + "login": "Chardonneaur", + "html_url": "https://github.com/Chardonneaur" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1601, - "title": "Okta auth got `read ECONNRESET`", - "href": "https://github.com/orgs/langfuse/discussions/1601", - "created_at": "2024-04-04T03:46:08Z", - "upvotes": 1, + "number": 1800, + "title": "Add command r/command r plus via Azure Marketplace", + "href": "https://github.com/orgs/langfuse/discussions/1800", + "created_at": "2024-04-22T16:11:38Z", + "upvotes": 2, "comment_count": 2, "resolved": false, - "labels": [], + "labels": [ + "bug", + "integration-langchain" + ], "author": { - "login": "tmwatchanan", - "html_url": "https://github.com/tmwatchanan" + "login": "jayfk", + "html_url": "https://github.com/jayfk" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1538, - "title": "Trace input is null when passing in nodes, or Documents with transformations to VectorStoreIndex constructor", - "href": "https://github.com/orgs/langfuse/discussions/1538", - "created_at": "2024-03-29T00:30:49Z", + "number": 1794, + "title": "User-level dashboard", + "href": "https://github.com/orgs/langfuse/discussions/1794", + "created_at": "2024-04-22T01:56:15Z", "upvotes": 1, "comment_count": 1, "resolved": false, - "labels": [], - "author": { - "login": "mwertheim-zco", - "html_url": "https://github.com/mwertheim-zco" - }, - "category": "Support" - }, - { - "number": 1536, - "title": "Tracing and Session support on Integrations like LiteLLM Proxy and others and Is LangFuse logging a background process?", - "href": "https://github.com/orgs/langfuse/discussions/1536", - "created_at": "2024-03-28T20:22:49Z", - "upvotes": 1, - "comment_count": 1, - "resolved": true, "labels": [ - "integration-litellm", - "feat-sessions" + "feat-users" ], "author": { - "login": "Harryalways317", - "html_url": "https://github.com/Harryalways317" + "login": "secsilm", + "html_url": "https://github.com/secsilm" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1528, - "title": "Aggregated project from multiple langfuse servers", - "href": "https://github.com/orgs/langfuse/discussions/1528", - "created_at": "2024-03-28T09:01:37Z", - "upvotes": 3, + "number": 1793, + "title": "Request chart of min/avg/max input/output tokens", + "href": "https://github.com/orgs/langfuse/discussions/1793", + "created_at": "2024-04-21T13:33:39Z", + "upvotes": 2, "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "juan-abia", - "html_url": "https://github.com/juan-abia" + "login": "secsilm", + "html_url": "https://github.com/secsilm" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1524, - "title": "How to add default user and project to self-hosted docker?", - "href": "https://github.com/orgs/langfuse/discussions/1524", - "created_at": "2024-03-28T08:00:07Z", + "number": 1783, + "title": "Limit new user registration", + "href": "https://github.com/orgs/langfuse/discussions/1783", + "created_at": "2024-04-19T09:34:55Z", "upvotes": 1, - "comment_count": 2, - "resolved": true, + "comment_count": 1, + "resolved": false, "labels": [ "self-hosting" ], "author": { - "login": "tzsombor95", - "html_url": "https://github.com/tzsombor95" + "login": "secsilm", + "html_url": "https://github.com/secsilm" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1512, - "title": "[Alerts] Connect to Slack", - "href": "https://github.com/orgs/langfuse/discussions/1512", - "created_at": "2024-03-27T08:04:49Z", - "upvotes": 4, + "number": 1781, + "title": "feature for python client:get traces by score", + "href": "https://github.com/orgs/langfuse/discussions/1781", + "created_at": "2024-04-19T09:12:48Z", + "upvotes": 1, "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [], "author": { - "login": "hypernovas", - "html_url": "https://github.com/hypernovas" + "login": "StarsSparkle", + "html_url": "https://github.com/StarsSparkle" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1486, - "title": "Update/delete score using python sdk", - "href": "https://github.com/orgs/langfuse/discussions/1486", - "created_at": "2024-03-25T20:13:55Z", - "upvotes": 5, + "number": 1780, + "title": "Log for Function Calling", + "href": "https://github.com/orgs/langfuse/discussions/1780", + "created_at": "2024-04-19T06:40:55Z", + "upvotes": 6, "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [ - "feat-scores" + "integration-openai" ], "author": { - "login": "msanand", - "html_url": "https://github.com/msanand" + "login": "jaindees", + "html_url": "https://github.com/jaindees" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1481, - "title": "502-Bad Request", - "href": "https://github.com/orgs/langfuse/discussions/1481", - "created_at": "2024-03-22T13:06:18Z", + "number": 1776, + "title": "SSO: Cognito", + "href": "https://github.com/orgs/langfuse/discussions/1776", + "created_at": "2024-04-18T20:40:43Z", "upvotes": 1, - "comment_count": 3, - "resolved": true, + "comment_count": 2, + "resolved": false, "labels": [ + "✅ Done", "self-hosting" ], "author": { - "login": "tbarbito", - "html_url": "https://github.com/tbarbito" + "login": "theluk", + "html_url": "https://github.com/theluk" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1466, - "title": "bug: Potential bug with AzureAD auth setup", - "href": "https://github.com/orgs/langfuse/discussions/1466", - "created_at": "2024-03-22T07:12:43Z", + "number": 1774, + "title": "PromptClient: Support mustache type export to langchain", + "href": "https://github.com/orgs/langfuse/discussions/1774", + "created_at": "2024-04-18T18:52:40Z", "upvotes": 1, "comment_count": 1, "resolved": false, - "labels": [ - "self-hosting" - ], + "labels": [], "author": { - "login": "mprudra", - "html_url": "https://github.com/mprudra" + "login": "maxjacu", + "html_url": "https://github.com/maxjacu" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1449, - "title": "Langfuse session ID when using Chainlit", - "href": "https://github.com/orgs/langfuse/discussions/1449", - "created_at": "2024-03-20T00:57:09Z", + "number": 1770, + "title": "New REST API endpoint to get all prompts", + "href": "https://github.com/orgs/langfuse/discussions/1770", + "created_at": "2024-04-18T02:40:14Z", "upvotes": 1, "comment_count": 2, "resolved": false, "labels": [], "author": { - "login": "tituslhy", - "html_url": "https://github.com/tituslhy" + "login": "zoltan-fedor", + "html_url": "https://github.com/zoltan-fedor" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1445, - "title": "Linking dataset run items with existing callback handler", - "href": "https://github.com/orgs/langfuse/discussions/1445", - "created_at": "2024-03-19T16:54:54Z", + "number": 1769, + "title": "Request chart of the generation speed of tokens (tokens/s)", + "href": "https://github.com/orgs/langfuse/discussions/1769", + "created_at": "2024-04-18T02:14:37Z", "upvotes": 1, "comment_count": 1, "resolved": false, - "labels": [ - "feat-datasets" - ], + "labels": [], "author": { - "login": "subandwho", - "html_url": "https://github.com/subandwho" + "login": "secsilm", + "html_url": "https://github.com/secsilm" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1434, - "title": "Add UserID and Feedback when using LlamaIndex Integration", - "href": "https://github.com/orgs/langfuse/discussions/1434", - "created_at": "2024-03-18T20:24:29Z", - "upvotes": 1, - "comment_count": 1, - "resolved": true, + "number": 1760, + "title": "annotation of traces in langfuse console?", + "href": "https://github.com/orgs/langfuse/discussions/1760", + "created_at": "2024-04-17T17:51:47Z", + "upvotes": 3, + "comment_count": 2, + "resolved": false, "labels": [ - "integraton-llamaindex" + "✅ Done", + "feat-annotation" ], "author": { - "login": "skelleex", - "html_url": "https://github.com/skelleex" + "login": "erik-squared", + "html_url": "https://github.com/erik-squared" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1432, - "title": "langfuse.api.resources.commons.errors.not_found_error.NotFoundError: status_code: 404, body: {'message': 'Observation not found'}", - "href": "https://github.com/orgs/langfuse/discussions/1432", - "created_at": "2024-03-18T13:29:05Z", - "upvotes": 1, - "comment_count": 1, + "number": 1755, + "title": "feat: Prompt API Search (by tags)", + "href": "https://github.com/orgs/langfuse/discussions/1755", + "created_at": "2024-04-17T09:37:50Z", + "upvotes": 2, + "comment_count": 2, "resolved": false, - "labels": [], + "labels": [ + "✅ Done" + ], "author": { - "login": "emailic", - "html_url": "https://github.com/emailic" + "login": "bryan-agicap", + "html_url": "https://github.com/bryan-agicap" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1429, - "title": "Hybrid usage Langfuse among OpenAI calls as well Langchain", - "href": "https://github.com/orgs/langfuse/discussions/1429", - "created_at": "2024-03-17T14:09:57Z", - "upvotes": 1, - "comment_count": 1, - "resolved": true, - "labels": [], + "number": 1744, + "title": "Is it possible to support Dify?", + "href": "https://github.com/orgs/langfuse/discussions/1744", + "created_at": "2024-04-16T20:55:11Z", + "upvotes": 2, + "comment_count": 2, + "resolved": false, + "labels": [ + "integrations", + "✅ Done", + "integration-dify" + ], "author": { - "login": "mikeon", - "html_url": "https://github.com/mikeon" + "login": "jtsang4", + "html_url": "https://github.com/jtsang4" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1420, - "title": "Datasets list / by id", - "href": "https://github.com/orgs/langfuse/discussions/1420", - "created_at": "2024-03-15T02:22:27Z", - "upvotes": 2, + "number": 1716, + "title": "feat: Add `TRACE_EVENTS` flag", + "href": "https://github.com/orgs/langfuse/discussions/1716", + "created_at": "2024-04-15T12:29:30Z", + "upvotes": 1, "comment_count": 2, - "resolved": true, + "resolved": false, "labels": [ - "feat-datasets" + "✅ Done" ], "author": { - "login": "norton120", - "html_url": "https://github.com/norton120" + "login": "JorisAndrade", + "html_url": "https://github.com/JorisAndrade" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1417, - "title": "Running Langfuse in Kubernetes", - "href": "https://github.com/orgs/langfuse/discussions/1417", - "created_at": "2024-03-14T19:59:42Z", + "number": 1715, + "title": "Add support for ZITADEL OIDC", + "href": "https://github.com/orgs/langfuse/discussions/1715", + "created_at": "2024-04-15T12:27:54Z", "upvotes": 1, - "comment_count": 2, - "resolved": true, - "labels": [], + "comment_count": 1, + "resolved": false, + "labels": [ + "self-hosting" + ], "author": { - "login": "mikeon", - "html_url": "https://github.com/mikeon" + "login": "bitfactory-sem-denbroeder", + "html_url": "https://github.com/bitfactory-sem-denbroeder" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1382, - "title": "Match LLMs from AWS Bedrock to added model definition", - "href": "https://github.com/orgs/langfuse/discussions/1382", - "created_at": "2024-03-09T08:28:53Z", - "upvotes": 2, - "comment_count": 0, + "number": 1711, + "title": "Webhook to trigger CI/CD pipeline when new prompt version is created", + "href": "https://github.com/orgs/langfuse/discussions/1711", + "created_at": "2024-04-14T13:46:30Z", + "upvotes": 5, + "comment_count": 1, "resolved": false, - "labels": [], + "labels": [ + "feat-prompt-management", + "feat-api" + ], "author": { - "login": "DominikNeumaier", - "html_url": "https://github.com/DominikNeumaier" + "login": "tamdoEH", + "html_url": "https://github.com/tamdoEH" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1380, - "title": "Langfuse flush() taking a long time and hangs", - "href": "https://github.com/orgs/langfuse/discussions/1380", - "created_at": "2024-03-09T00:09:55Z", - "upvotes": 1, - "comment_count": 2, - "resolved": true, - "labels": [], + "number": 1710, + "title": "Review feature for prompt deployment", + "href": "https://github.com/orgs/langfuse/discussions/1710", + "created_at": "2024-04-14T13:39:50Z", + "upvotes": 3, + "comment_count": 3, + "resolved": false, + "labels": [ + "feat-prompt-management" + ], "author": { - "login": "venu-shapley", - "html_url": "https://github.com/venu-shapley" + "login": "tamdoEH", + "html_url": "https://github.com/tamdoEH" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1373, - "title": "How to fix error when running docs app demo chat", - "href": "https://github.com/orgs/langfuse/discussions/1373", - "created_at": "2024-03-08T00:08:46Z", - "upvotes": 1, - "comment_count": 1, - "resolved": true, - "labels": [], + "number": 1707, + "title": "API for custom model <> token usage pricing", + "href": "https://github.com/orgs/langfuse/discussions/1707", + "created_at": "2024-04-13T22:37:38Z", + "upvotes": 3, + "comment_count": 2, + "resolved": false, + "labels": [ + "✅ Done", + "feat-api" + ], "author": { - "login": "luandro", - "html_url": "https://github.com/luandro" + "login": "rydamckinney", + "html_url": "https://github.com/rydamckinney" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1357, - "title": "Run items not appearing when linking to a trace and not a span or a generation", - "href": "https://github.com/orgs/langfuse/discussions/1357", - "created_at": "2024-03-07T10:17:34Z", - "upvotes": 1, - "comment_count": 2, - "resolved": true, + "number": 1696, + "title": "Export & import for prompts, copy between projects", + "href": "https://github.com/orgs/langfuse/discussions/1696", + "created_at": "2024-04-12T20:28:47Z", + "upvotes": 16, + "comment_count": 7, + "resolved": false, "labels": [ - "feat-datasets" + "feat-prompt-management" ], "author": { - "login": "ladislasdellinger", - "html_url": "https://github.com/ladislasdellinger" + "login": "zoltan-fedor", + "html_url": "https://github.com/zoltan-fedor" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1353, - "title": "How do I add custom LLM APIs to the Langfuse UI?", - "href": "https://github.com/orgs/langfuse/discussions/1353", - "created_at": "2024-03-07T06:33:23Z", - "upvotes": 0, - "comment_count": 1, + "number": 1692, + "title": "Read-only prompt keys?", + "href": "https://github.com/orgs/langfuse/discussions/1692", + "created_at": "2024-04-12T00:57:44Z", + "upvotes": 2, + "comment_count": 2, "resolved": false, "labels": [], "author": { - "login": "yudhiesh", - "html_url": "https://github.com/yudhiesh" + "login": "Manouchehri", + "html_url": "https://github.com/Manouchehri" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1336, - "title": "Applying database migrations failed. This is mostly caused by the database being unavailable.", - "href": "https://github.com/orgs/langfuse/discussions/1336", - "created_at": "2024-03-06T09:10:19Z", + "number": 1671, + "title": "Ability to run langfuse in tests automatically without manual involvement", + "href": "https://github.com/orgs/langfuse/discussions/1671", + "created_at": "2024-04-11T05:29:44Z", "upvotes": 1, "comment_count": 2, "resolved": false, - "labels": [], + "labels": [ + "✅ Done", + "self-hosting" + ], "author": { - "login": "everyfin-in", - "html_url": "https://github.com/everyfin-in" + "login": "SinghCoder", + "html_url": "https://github.com/SinghCoder" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1335, - "title": "Openai and null traces for input/output/metadata", - "href": "https://github.com/orgs/langfuse/discussions/1335", - "created_at": "2024-03-06T02:02:46Z", + "number": 1664, + "title": "\"Task\" and \"Bot\" core abstractions", + "href": "https://github.com/orgs/langfuse/discussions/1664", + "created_at": "2024-04-10T20:24:53Z", "upvotes": 2, - "comment_count": 0, + "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "aiakubovich", - "html_url": "https://github.com/aiakubovich" + "login": "sfarthin", + "html_url": "https://github.com/sfarthin" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1328, - "title": "Incompatibility between openllmetry and langfuse OpenAI wrapper", - "href": "https://github.com/orgs/langfuse/discussions/1328", - "created_at": "2024-03-05T17:03:34Z", - "upvotes": 1, - "comment_count": 1, + "number": 1660, + "title": "Prompt Composability", + "href": "https://github.com/orgs/langfuse/discussions/1660", + "created_at": "2024-04-10T15:25:05Z", + "upvotes": 10, + "comment_count": 5, "resolved": false, - "labels": [], + "labels": [ + "feat-prompt-management" + ], "author": { - "login": "pamelafox", - "html_url": "https://github.com/pamelafox" + "login": "meissnereric", + "html_url": "https://github.com/meissnereric" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1326, - "title": "Does Langfuse integrate with LiteLLM Proxy Server?", - "href": "https://github.com/orgs/langfuse/discussions/1326", - "created_at": "2024-03-05T15:25:37Z", - "upvotes": 1, + "number": 1633, + "title": "feat: Function Calling Under OpenAI Format", + "href": "https://github.com/orgs/langfuse/discussions/1633", + "created_at": "2024-04-09T08:49:58Z", + "upvotes": 2, "comment_count": 1, - "resolved": true, - "labels": [], + "resolved": false, + "labels": [ + "feat-playground" + ], "author": { - "login": "alphanome", - "html_url": "https://github.com/alphanome" + "login": "anhphong22", + "html_url": "https://github.com/anhphong22" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1325, - "title": "Do you need a helm chart of langfuse?", - "href": "https://github.com/orgs/langfuse/discussions/1325", - "created_at": "2024-03-05T15:02:42Z", + "number": 1630, + "title": "Groq - Mixtral", + "href": "https://github.com/orgs/langfuse/discussions/1630", + "created_at": "2024-04-09T05:11:12Z", "upvotes": 1, "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "artemus717", - "html_url": "https://github.com/artemus717" + "login": "mike4lyf", + "html_url": "https://github.com/mike4lyf" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1323, - "title": "When referencing the local langfuse in the langserve code, an error occurs:“ImportError: cannot import name 'ChatDeepInfra' from 'langchain_community.chat_models...”", - "href": "https://github.com/orgs/langfuse/discussions/1323", - "created_at": "2024-03-05T13:03:49Z", - "upvotes": 2, - "comment_count": 2, - "resolved": true, - "labels": [], - "author": { - "login": "zhenlong-zhu", - "html_url": "https://github.com/zhenlong-zhu" - }, - "category": "Support" - }, - { - "number": 1225, - "title": "Can Langfuse be used to record the records of ConversationChain in LangChain?", - "href": "https://github.com/orgs/langfuse/discussions/1225", - "created_at": "2024-02-22T09:24:34Z", - "upvotes": 1, + "number": 1627, + "title": "VertexAI support", + "href": "https://github.com/orgs/langfuse/discussions/1627", + "created_at": "2024-04-08T22:43:38Z", + "upvotes": 3, "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [ "integration-langchain" ], "author": { - "login": "lyzltysgithub", - "html_url": "https://github.com/lyzltysgithub" + "login": "eles13", + "html_url": "https://github.com/eles13" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1193, - "title": "What is the shadow database needed for?", - "href": "https://github.com/orgs/langfuse/discussions/1193", - "created_at": "2024-02-17T08:23:33Z", + "number": 1613, + "title": "[Feature] Add a score value filter", + "href": "https://github.com/orgs/langfuse/discussions/1613", + "created_at": "2024-04-08T07:58:58Z", "upvotes": 1, - "comment_count": 2, - "resolved": true, + "comment_count": 0, + "resolved": false, "labels": [], "author": { - "login": "Stadly", - "html_url": "https://github.com/Stadly" + "login": "Hacky-DH", + "html_url": "https://github.com/Hacky-DH" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1184, - "title": "Unable to set session id or other CallbackHandler parameters when passing trace client in langchain sdk", - "href": "https://github.com/orgs/langfuse/discussions/1184", - "created_at": "2024-02-16T08:01:51Z", + "number": 1612, + "title": "DSPY integration", + "href": "https://github.com/orgs/langfuse/discussions/1612", + "created_at": "2024-04-07T18:54:32Z", "upvotes": 1, "comment_count": 1, - "resolved": true, + "resolved": false, + "labels": [], + "author": { + "login": "wdhitchc", + "html_url": "https://github.com/wdhitchc" + }, + "category": "Ideas" + }, + { + "number": 1566, + "title": "LangchainCallbackHandler httpx_client not accessible", + "href": "https://github.com/orgs/langfuse/discussions/1566", + "created_at": "2024-04-03T09:18:12Z", + "upvotes": 2, + "comment_count": 1, + "resolved": false, "labels": [ "integration-langchain" ], "author": { - "login": "sasidevtool", - "html_url": "https://github.com/sasidevtool" + "login": "dlmatt", + "html_url": "https://github.com/dlmatt" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1186, - "title": "How to set tags when using the Langchain Callback handler", - "href": "https://github.com/orgs/langfuse/discussions/1186", - "created_at": "2024-02-16T05:47:31Z", - "upvotes": 2, - "comment_count": 2, - "resolved": true, + "number": 1541, + "title": "Disable events logging", + "href": "https://github.com/orgs/langfuse/discussions/1541", + "created_at": "2024-03-29T18:08:13Z", + "upvotes": 8, + "comment_count": 3, + "resolved": false, "labels": [ - "sdk-python", - "integration-langchain", - "feat-tags" + "✅ Done" ], "author": { - "login": "reza-mohideen", - "html_url": "https://github.com/reza-mohideen" + "login": "omgovich", + "html_url": "https://github.com/omgovich" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1179, - "title": "Ollama token counts", - "href": "https://github.com/orgs/langfuse/discussions/1179", - "created_at": "2024-02-15T23:38:39Z", - "upvotes": 2, + "number": 1535, + "title": "Request for Integration of Mistral Models into Langfuse", + "href": "https://github.com/orgs/langfuse/discussions/1535", + "created_at": "2024-03-28T16:10:25Z", + "upvotes": 5, "comment_count": 2, - "resolved": true, + "resolved": false, "labels": [ - "feat-cost-tracking" + "integrations", + "✅ Done" ], "author": { - "login": "aiseei", - "html_url": "https://github.com/aiseei" + "login": "Zherdev1996", + "html_url": "https://github.com/Zherdev1996" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1310, - "title": "Trace of custom classes gives nondescriptive info", - "href": "https://github.com/orgs/langfuse/discussions/1310", - "created_at": "2024-02-06T14:13:26Z", + "number": 1533, + "title": "Managing Embeddings", + "href": "https://github.com/orgs/langfuse/discussions/1533", + "created_at": "2024-03-28T15:36:21Z", "upvotes": 1, "comment_count": 0, "resolved": false, "labels": [], "author": { - "login": "mjungiewicz-exadel", - "html_url": "https://github.com/mjungiewicz-exadel" + "login": "Botman-Hotman", + "html_url": "https://github.com/Botman-Hotman" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1091, - "title": "How to pass span id to OpenAI `chat.completions.create`", - "href": "https://github.com/orgs/langfuse/discussions/1091", - "created_at": "2024-02-06T09:33:30Z", - "upvotes": 1, - "comment_count": 1, - "resolved": true, + "number": 1513, + "title": "Langfuse Trace with OpenAI Assistants", + "href": "https://github.com/orgs/langfuse/discussions/1513", + "created_at": "2024-03-27T11:47:19Z", + "upvotes": 10, + "comment_count": 5, + "resolved": false, "labels": [ "integration-openai" ], "author": { - "login": "techytushar", - "html_url": "https://github.com/techytushar" + "login": "marco-introvigne", + "html_url": "https://github.com/marco-introvigne" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1081, - "title": "Sessions vs Traces?", - "href": "https://github.com/orgs/langfuse/discussions/1081", - "created_at": "2024-02-05T21:06:03Z", + "number": 1500, + "title": "Comment column can have any name the user chooses, there could be multiple comment columns per metric", + "href": "https://github.com/orgs/langfuse/discussions/1500", + "created_at": "2024-03-26T08:42:45Z", "upvotes": 1, - "comment_count": 2, - "resolved": true, - "labels": [ - "feat-sessions" - ], + "comment_count": 1, + "resolved": false, + "labels": [], "author": { - "login": "Manouchehri", - "html_url": "https://github.com/Manouchehri" + "login": "emailic", + "html_url": "https://github.com/emailic" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1071, - "title": "feat: support for custom httpx.client", - "href": "https://github.com/orgs/langfuse/discussions/1071", - "created_at": "2024-02-05T06:35:23Z", - "upvotes": 1, - "comment_count": 2, + "number": 1488, + "title": "Make Langfuse switchable", + "href": "https://github.com/orgs/langfuse/discussions/1488", + "created_at": "2024-03-25T21:05:17Z", + "upvotes": 2, + "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "brandonkzw", - "html_url": "https://github.com/brandonkzw" + "login": "MrMojoR", + "html_url": "https://github.com/MrMojoR" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1070, - "title": "Where to log request and response headers of generations? (litellm)", - "href": "https://github.com/orgs/langfuse/discussions/1070", - "created_at": "2024-02-05T02:40:38Z", + "number": 1479, + "title": "Add total filtered Generations to UI", + "href": "https://github.com/orgs/langfuse/discussions/1479", + "created_at": "2024-03-24T17:19:51Z", "upvotes": 1, - "comment_count": 2, - "resolved": true, - "labels": [ - "integration-litellm" - ], + "comment_count": 0, + "resolved": false, + "labels": [], "author": { - "login": "Manouchehri", - "html_url": "https://github.com/Manouchehri" + "login": "PhiBrandon", + "html_url": "https://github.com/PhiBrandon" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1055, - "title": "Best way to flush LF in Next.js?", - "href": "https://github.com/orgs/langfuse/discussions/1055", - "created_at": "2024-02-02T17:50:58Z", + "number": 1461, + "title": "Loose prisma datasource db provider.", + "href": "https://github.com/orgs/langfuse/discussions/1461", + "created_at": "2024-03-21T13:09:15Z", "upvotes": 1, "comment_count": 1, - "resolved": true, - "labels": [], + "resolved": false, + "labels": [ + "self-hosting" + ], "author": { - "login": "gullerg", - "html_url": "https://github.com/gullerg" + "login": "muazhari", + "html_url": "https://github.com/muazhari" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1054, - "title": "Sentry for self-hosted?", - "href": "https://github.com/orgs/langfuse/discussions/1054", - "created_at": "2024-02-02T17:21:06Z", + "number": 1460, + "title": "Langfuse images for arm64 (mac silicon, some cloud vms)", + "href": "https://github.com/orgs/langfuse/discussions/1460", + "created_at": "2024-03-21T05:48:56Z", "upvotes": 1, "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [], "author": { - "login": "Manouchehri", - "html_url": "https://github.com/Manouchehri" + "login": "verdverm", + "html_url": "https://github.com/verdverm" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1051, - "title": "How can I get the trace_id in langfuse.openai.OpenAI?", - "href": "https://github.com/orgs/langfuse/discussions/1051", - "created_at": "2024-02-02T09:39:55Z", - "upvotes": 1, - "comment_count": 1, - "resolved": true, + "number": 1454, + "title": "Add a time based filter option", + "href": "https://github.com/orgs/langfuse/discussions/1454", + "created_at": "2024-03-20T16:06:15Z", + "upvotes": 4, + "comment_count": 2, + "resolved": false, "labels": [ - "integration-openai" + "✅ Done" ], "author": { - "login": "yangge2333", - "html_url": "https://github.com/yangge2333" + "login": "Kurumindla-Kranthivardhan", + "html_url": "https://github.com/Kurumindla-Kranthivardhan" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1044, - "title": "AWS SES IAM Policy", - "href": "https://github.com/orgs/langfuse/discussions/1044", - "created_at": "2024-02-02T01:58:26Z", - "upvotes": 2, - "comment_count": 1, + "number": 1431, + "title": "Integration with Langserve", + "href": "https://github.com/orgs/langfuse/discussions/1431", + "created_at": "2024-03-18T08:40:32Z", + "upvotes": 1, + "comment_count": 2, "resolved": false, "labels": [], "author": { - "login": "Manouchehri", - "html_url": "https://github.com/Manouchehri" + "login": "Haxeebraja", + "html_url": "https://github.com/Haxeebraja" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1019, - "title": "WAF Rules for self-hosted", - "href": "https://github.com/orgs/langfuse/discussions/1019", - "created_at": "2024-02-01T01:41:51Z", - "upvotes": 3, - "comment_count": 0, + "number": 1428, + "title": "allow to delete sessions", + "href": "https://github.com/orgs/langfuse/discussions/1428", + "created_at": "2024-03-16T15:56:35Z", + "upvotes": 4, + "comment_count": 2, "resolved": false, - "labels": [], + "labels": [ + "feat-sessions" + ], "author": { - "login": "Manouchehri", - "html_url": "https://github.com/Manouchehri" + "login": "morganveyret", + "html_url": "https://github.com/morganveyret" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1016, - "title": "Scaling / Parallelism / Concurrency safe?", - "href": "https://github.com/orgs/langfuse/discussions/1016", - "created_at": "2024-01-31T22:33:36Z", + "number": 1427, + "title": "Toggle collection of traces on a per-trace basis", + "href": "https://github.com/orgs/langfuse/discussions/1427", + "created_at": "2024-03-16T15:19:07Z", "upvotes": 1, "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [], "author": { - "login": "Manouchehri", - "html_url": "https://github.com/Manouchehri" + "login": "foragerr", + "html_url": "https://github.com/foragerr" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1013, - "title": "Building Docker container without database connection?", - "href": "https://github.com/orgs/langfuse/discussions/1013", - "created_at": "2024-01-31T19:32:47Z", - "upvotes": 1, + "number": 1415, + "title": "Add a \"correction\" field on the user feedback info", + "href": "https://github.com/orgs/langfuse/discussions/1415", + "created_at": "2024-03-14T14:18:30Z", + "upvotes": 3, "comment_count": 2, - "resolved": true, - "labels": [], - "author": { - "login": "Manouchehri", - "html_url": "https://github.com/Manouchehri" - }, - "category": "Support" - }, - { - "number": 973, - "title": "If we use cloud services, when we migrate to our own host later, do all the above data support export?", - "href": "https://github.com/orgs/langfuse/discussions/973", - "created_at": "2024-01-27T09:55:41Z", - "upvotes": 1, - "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [], "author": { - "login": "wsdo", - "html_url": "https://github.com/wsdo" + "login": "almirb", + "html_url": "https://github.com/almirb" }, - "category": "Support" + "category": "Ideas" }, { - "number": 866, - "title": "Cannot see Add to Dataset button in the UI", - "href": "https://github.com/orgs/langfuse/discussions/866", - "created_at": "2024-01-11T09:12:16Z", - "upvotes": 1, - "comment_count": 2, - "resolved": true, - "labels": [ - "feat-datasets" - ], - "author": { - "login": "SinghCoder", - "html_url": "https://github.com/SinghCoder" - }, - "category": "Support" - } - ] - }, - { - "category": "Ideas", - "discussions": [ - { - "number": 4414, - "title": "langfuse-python: simple static method listing prompt template var names", - "href": "https://github.com/orgs/langfuse/discussions/4414", - "created_at": "2024-11-25T16:28:05Z", - "upvotes": 1, - "comment_count": 1, + "number": 1408, + "title": "Trace Latencies line chart please", + "href": "https://github.com/orgs/langfuse/discussions/1408", + "created_at": "2024-03-13T15:00:35Z", + "upvotes": 2, + "comment_count": 0, "resolved": false, - "labels": [ - "feat-prompt-management" - ], + "labels": [], "author": { - "login": "rhighs", - "html_url": "https://github.com/rhighs" + "login": "Huarong", + "html_url": "https://github.com/Huarong" }, "category": "Ideas" }, { - "number": 4397, - "title": "n8n Integration", - "href": "https://github.com/orgs/langfuse/discussions/4397", - "created_at": "2024-11-24T09:43:01Z", - "upvotes": 1, + "number": 1398, + "title": "What standardized dataset formats are people using?", + "href": "https://github.com/orgs/langfuse/discussions/1398", + "created_at": "2024-03-12T15:47:53Z", + "upvotes": 2, "comment_count": 0, "resolved": false, - "labels": [], + "labels": [ + "feat-datasets" + ], "author": { - "login": "aibucketmail", - "html_url": "https://github.com/aibucketmail" + "login": "norton120", + "html_url": "https://github.com/norton120" }, "category": "Ideas" }, { - "number": 4381, - "title": "Feature Request: Add Tagging Pipelines for Evaluation-Based Tagging", - "href": "https://github.com/orgs/langfuse/discussions/4381", - "created_at": "2024-11-22T03:44:17Z", - "upvotes": 1, - "comment_count": 0, + "number": 1397, + "title": "Reorder columns in tables", + "href": "https://github.com/orgs/langfuse/discussions/1397", + "created_at": "2024-03-12T14:45:37Z", + "upvotes": 3, + "comment_count": 2, "resolved": false, - "labels": [], + "labels": [ + "✅ Done" + ], "author": { - "login": "wesleyearlstander", - "html_url": "https://github.com/wesleyearlstander" + "login": "marcklingen", + "html_url": "https://github.com/marcklingen" }, "category": "Ideas" }, { - "number": 4380, - "title": "Adding types for evals in Langfuse", - "href": "https://github.com/orgs/langfuse/discussions/4380", - "created_at": "2024-11-22T03:35:26Z", - "upvotes": 1, + "number": 1394, + "title": "Adding a \"Select all\" button to tables", + "href": "https://github.com/orgs/langfuse/discussions/1394", + "created_at": "2024-03-12T10:37:23Z", + "upvotes": 2, "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "wesleyearlstander", - "html_url": "https://github.com/wesleyearlstander" + "login": "samyxdev", + "html_url": "https://github.com/samyxdev" }, "category": "Ideas" }, { - "number": 4372, - "title": "LaTex Rendering", - "href": "https://github.com/orgs/langfuse/discussions/4372", - "created_at": "2024-11-21T22:06:07Z", - "upvotes": 1, - "comment_count": 0, + "number": 1392, + "title": "Hide prompts/completions (privacy)", + "href": "https://github.com/orgs/langfuse/discussions/1392", + "created_at": "2024-03-12T07:48:22Z", + "upvotes": 10, + "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "wesleyearlstander", - "html_url": "https://github.com/wesleyearlstander" + "login": "ziodave", + "html_url": "https://github.com/ziodave" }, "category": "Ideas" }, { - "number": 4353, - "title": "Datasets: Add selection of traces to a dataset", - "href": "https://github.com/orgs/langfuse/discussions/4353", - "created_at": "2024-11-21T08:56:15Z", - "upvotes": 1, + "number": 1391, + "title": "Enhancements for Langfuse User Sign-Up Control", + "href": "https://github.com/orgs/langfuse/discussions/1391", + "created_at": "2024-03-11T23:38:18Z", + "upvotes": 7, "comment_count": 0, "resolved": false, "labels": [ - "feat-datasets" + "self-hosting" ], "author": { - "login": "jannikmaierhoefer", - "html_url": "https://github.com/jannikmaierhoefer" + "login": "udit-001", + "html_url": "https://github.com/udit-001" }, "category": "Ideas" }, { - "number": 4348, - "title": "Multi-user annotation capability in Score Configs", - "href": "https://github.com/orgs/langfuse/discussions/4348", - "created_at": "2024-11-20T19:16:38Z", - "upvotes": 1, + "number": 1385, + "title": "bug: Not allowing to limit Azure AD authentication for selected users in same tenent", + "href": "https://github.com/orgs/langfuse/discussions/1385", + "created_at": "2024-03-11T17:42:05Z", + "upvotes": 2, "comment_count": 2, "resolved": false, "labels": [ - "feat-annotation" + "self-hosting" ], "author": { - "login": "juanmleng", - "html_url": "https://github.com/juanmleng" + "login": "SathinduGA", + "html_url": "https://github.com/SathinduGA" }, "category": "Ideas" }, { - "number": 4342, - "title": "Feature request: Lifecycle hooks in LangFuse", - "href": "https://github.com/orgs/langfuse/discussions/4342", - "created_at": "2024-11-20T14:23:44Z", - "upvotes": 1, + "number": 1378, + "title": "Aggregate cost per span", + "href": "https://github.com/orgs/langfuse/discussions/1378", + "created_at": "2024-03-08T16:06:04Z", + "upvotes": 2, "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "barseghyanartur", - "html_url": "https://github.com/barseghyanartur" + "login": "ladislasdellinger", + "html_url": "https://github.com/ladislasdellinger" }, "category": "Ideas" }, { - "number": 4340, - "title": "RBAC: Restriction based on trace tags/metadata", - "href": "https://github.com/orgs/langfuse/discussions/4340", - "created_at": "2024-11-20T12:32:40Z", - "upvotes": 2, - "comment_count": 0, + "number": 1376, + "title": "Support parsing LLM model for ChatOllama", + "href": "https://github.com/orgs/langfuse/discussions/1376", + "created_at": "2024-03-08T14:13:58Z", + "upvotes": 1, + "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "jannikmaierhoefer", - "html_url": "https://github.com/jannikmaierhoefer" + "login": "kleebaum", + "html_url": "https://github.com/kleebaum" }, "category": "Ideas" }, { - "number": 4332, - "title": "Trace Table: Ability to sort table by score", - "href": "https://github.com/orgs/langfuse/discussions/4332", - "created_at": "2024-11-20T10:27:38Z", - "upvotes": 2, - "comment_count": 0, + "number": 1374, + "title": "Add LLamaIndexTS example", + "href": "https://github.com/orgs/langfuse/discussions/1374", + "created_at": "2024-03-08T00:42:30Z", + "upvotes": 1, + "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "jannikmaierhoefer", - "html_url": "https://github.com/jannikmaierhoefer" + "login": "luandro", + "html_url": "https://github.com/luandro" }, "category": "Ideas" }, { - "number": 4331, - "title": "More filter on daily metrics", - "href": "https://github.com/orgs/langfuse/discussions/4331", - "created_at": "2024-11-20T08:27:01Z", + "number": 1361, + "title": "Add a retention window for unnecessary data", + "href": "https://github.com/orgs/langfuse/discussions/1361", + "created_at": "2024-03-07T14:42:07Z", "upvotes": 1, - "comment_count": 2, + "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "takefy-dev", - "html_url": "https://github.com/takefy-dev" + "login": "albertoforcato", + "html_url": "https://github.com/albertoforcato" }, "category": "Ideas" }, { - "number": 4322, - "title": "Add the ability to remove tags from traces via the SDK/API", - "href": "https://github.com/orgs/langfuse/discussions/4322", - "created_at": "2024-11-19T20:09:18Z", + "number": 1337, + "title": "Support for Langchain ChatAnthropic", + "href": "https://github.com/orgs/langfuse/discussions/1337", + "created_at": "2024-03-06T10:42:36Z", "upvotes": 2, - "comment_count": 0, + "comment_count": 1, "resolved": false, - "labels": [], + "labels": [ + "integration-langchain" + ], "author": { - "login": "justinwiley", - "html_url": "https://github.com/justinwiley" + "login": "dotrunghieu96", + "html_url": "https://github.com/dotrunghieu96" }, "category": "Ideas" }, { - "number": 4316, - "title": "Prompt Changelog Management", - "href": "https://github.com/orgs/langfuse/discussions/4316", - "created_at": "2024-11-19T14:32:33Z", - "upvotes": 3, - "comment_count": 0, + "number": 1331, + "title": "Adding cost to the datasets tables", + "href": "https://github.com/orgs/langfuse/discussions/1331", + "created_at": "2024-03-05T18:53:25Z", + "upvotes": 1, + "comment_count": 1, "resolved": false, - "labels": [], + "labels": [ + "✅ Done" + ], "author": { - "login": "alexander-abramovich", - "html_url": "https://github.com/alexander-abramovich" + "login": "ladislasdellinger", + "html_url": "https://github.com/ladislasdellinger" }, "category": "Ideas" }, { - "number": 4315, - "title": "Smartly integrate with prompt templating tools (like Jinja templating engine)", - "href": "https://github.com/orgs/langfuse/discussions/4315", - "created_at": "2024-11-19T14:30:42Z", - "upvotes": 2, - "comment_count": 0, + "number": 1321, + "title": "More prompt environments/tags instead of just `active`", + "href": "https://github.com/orgs/langfuse/discussions/1321", + "created_at": "2024-03-05T11:05:17Z", + "upvotes": 3, + "comment_count": 2, "resolved": false, - "labels": [], + "labels": [ + "feat-prompt-management", + "✅ Done" + ], "author": { - "login": "alexander-abramovich", - "html_url": "https://github.com/alexander-abramovich" + "login": "ladislasdellinger", + "html_url": "https://github.com/ladislasdellinger" }, "category": "Ideas" }, { - "number": 4314, - "title": "Making prompt editing eye-pleasing and less error-prown", - "href": "https://github.com/orgs/langfuse/discussions/4314", - "created_at": "2024-11-19T14:24:29Z", - "upvotes": 2, - "comment_count": 0, + "number": 1309, + "title": "Log used prompt on generations when using Langchain", + "href": "https://github.com/orgs/langfuse/discussions/1309", + "created_at": "2024-03-04T09:03:35Z", + "upvotes": 5, + "comment_count": 2, "resolved": false, - "labels": [], + "labels": [ + "integration-langchain", + "✅ Done" + ], "author": { - "login": "alexander-abramovich", - "html_url": "https://github.com/alexander-abramovich" + "login": "TobinShaw", + "html_url": "https://github.com/TobinShaw" }, "category": "Ideas" }, { - "number": 4304, - "title": "Prompt Management: Metadata for Prompt Versions", - "href": "https://github.com/orgs/langfuse/discussions/4304", - "created_at": "2024-11-19T08:39:27Z", - "upvotes": 7, + "number": 1306, + "title": "[TS] Generating through OpenAI SDK directly", + "href": "https://github.com/orgs/langfuse/discussions/1306", + "created_at": "2024-03-02T10:56:07Z", + "upvotes": 1, "comment_count": 2, "resolved": false, "labels": [ - "feat-prompt-management" + "integrations", + "integration-openai", + "✅ Done" ], "author": { - "login": "jannikmaierhoefer", - "html_url": "https://github.com/jannikmaierhoefer" + "login": "louis030195", + "html_url": "https://github.com/louis030195" }, "category": "Ideas" }, { - "number": 4303, - "title": "Exporting comments", - "href": "https://github.com/orgs/langfuse/discussions/4303", - "created_at": "2024-11-19T06:59:31Z", + "number": 1305, + "title": "Allow Project-Specific Default Time Ranges", + "href": "https://github.com/orgs/langfuse/discussions/1305", + "created_at": "2024-03-02T03:42:42Z", "upvotes": 1, "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "jamesyu", - "html_url": "https://github.com/jamesyu" + "login": "dkindlund", + "html_url": "https://github.com/dkindlund" }, "category": "Ideas" }, { - "number": 4301, - "title": "[Feature Request] API to Remove or Update Trace Tags", - "href": "https://github.com/orgs/langfuse/discussions/4301", - "created_at": "2024-11-19T02:41:13Z", + "number": 1300, + "title": "Consider adding support for DSPy", + "href": "https://github.com/orgs/langfuse/discussions/1300", + "created_at": "2024-03-01T15:42:23Z", "upvotes": 1, - "comment_count": 0, + "comment_count": 2, "resolved": false, "labels": [], "author": { - "login": "0xcodedead", - "html_url": "https://github.com/0xcodedead" + "login": "sutyum", + "html_url": "https://github.com/sutyum" }, "category": "Ideas" }, { - "number": 4299, - "title": "Add XML/tree viewer to playground and trace viewer", - "href": "https://github.com/orgs/langfuse/discussions/4299", - "created_at": "2024-11-19T01:12:03Z", - "upvotes": 1, - "comment_count": 0, + "number": 1295, + "title": "Support DSPy", + "href": "https://github.com/orgs/langfuse/discussions/1295", + "created_at": "2024-03-01T11:34:05Z", + "upvotes": 19, + "comment_count": 9, "resolved": false, - "labels": [], + "labels": [ + "integrations", + "✅ Done", + "integration-dspy" + ], "author": { - "login": "jeff-an", - "html_url": "https://github.com/jeff-an" + "login": "sandangel", + "html_url": "https://github.com/sandangel" }, "category": "Ideas" }, { - "number": 4280, - "title": "Increase character limit of comments in Langfuse", - "href": "https://github.com/orgs/langfuse/discussions/4280", - "created_at": "2024-11-18T11:20:06Z", - "upvotes": 1, - "comment_count": 0, + "number": 1291, + "title": "Integration: LlamaIndex JS/TS", + "href": "https://github.com/orgs/langfuse/discussions/1291", + "created_at": "2024-02-29T11:56:42Z", + "upvotes": 33, + "comment_count": 3, "resolved": false, - "labels": [], + "labels": [ + "sdk-js", + "integrations", + "integraton-llamaindex" + ], "author": { - "login": "jannikmaierhoefer", - "html_url": "https://github.com/jannikmaierhoefer" + "login": "marcklingen", + "html_url": "https://github.com/marcklingen" }, "category": "Ideas" }, { - "number": 4276, - "title": "Enh prompt management system", - "href": "https://github.com/orgs/langfuse/discussions/4276", - "created_at": "2024-11-17T21:50:06Z", - "upvotes": 1, - "comment_count": 1, + "number": 1287, + "title": "Add filtering by errors", + "href": "https://github.com/orgs/langfuse/discussions/1287", + "created_at": "2024-02-28T22:52:59Z", + "upvotes": 3, + "comment_count": 2, "resolved": false, - "labels": [], + "labels": [ + "ui" + ], "author": { - "login": "flefevre", - "html_url": "https://github.com/flefevre" + "login": "ankerbachryhl", + "html_url": "https://github.com/ankerbachryhl" }, "category": "Ideas" }, { - "number": 4268, - "title": "Support image messages in the playground", - "href": "https://github.com/orgs/langfuse/discussions/4268", - "created_at": "2024-11-17T01:02:48Z", + "number": 1277, + "title": "Add Audit Logging System to Worker Tasks", + "href": "https://github.com/orgs/langfuse/discussions/1277", + "created_at": "2024-02-28T11:53:15Z", "upvotes": 1, - "comment_count": 1, + "comment_count": 3, "resolved": false, "labels": [], "author": { - "login": "jeff-an", - "html_url": "https://github.com/jeff-an" + "login": "khareyash05", + "html_url": "https://github.com/khareyash05" }, "category": "Ideas" }, { - "number": 4263, - "title": "Extend RBAC to Include Teams and Refine Permissions for Prompt Management", - "href": "https://github.com/orgs/langfuse/discussions/4263", - "created_at": "2024-11-16T04:22:27Z", - "upvotes": 1, - "comment_count": 0, + "number": 1268, + "title": "Possible with different units for input and output", + "href": "https://github.com/orgs/langfuse/discussions/1268", + "created_at": "2024-02-27T13:45:21Z", + "upvotes": 1, + "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "flefevre", - "html_url": "https://github.com/flefevre" + "login": "Stadly", + "html_url": "https://github.com/Stadly" }, "category": "Ideas" }, { - "number": 4258, - "title": "Automatically Trace from Playground", - "href": "https://github.com/orgs/langfuse/discussions/4258", - "created_at": "2024-11-15T18:58:05Z", - "upvotes": 1, - "comment_count": 0, + "number": 1264, + "title": "ChatML/ChatMessage Prompt Templates", + "href": "https://github.com/orgs/langfuse/discussions/1264", + "created_at": "2024-02-27T01:59:05Z", + "upvotes": 4, + "comment_count": 3, "resolved": false, - "labels": [], + "labels": [ + "feat-prompt-management", + "✅ Done" + ], "author": { - "login": "Chinoman10", - "html_url": "https://github.com/Chinoman10" + "login": "tuan3w", + "html_url": "https://github.com/tuan3w" }, "category": "Ideas" }, { - "number": 4247, - "title": "Reset LangfuseDecorator context to allow nested traces", - "href": "https://github.com/orgs/langfuse/discussions/4247", - "created_at": "2024-11-15T09:59:28Z", - "upvotes": 2, - "comment_count": 0, + "number": 1258, + "title": "Dashboard for all projects of an organization", + "href": "https://github.com/orgs/langfuse/discussions/1258", + "created_at": "2024-02-26T20:12:22Z", + "upvotes": 11, + "comment_count": 2, "resolved": false, - "labels": [], + "labels": [ + "feat-dashboard" + ], "author": { - "login": "vitalii-diachkov-sumup", - "html_url": "https://github.com/vitalii-diachkov-sumup" + "login": "aiakubovich", + "html_url": "https://github.com/aiakubovich" }, "category": "Ideas" }, { - "number": 4212, - "title": "Disable authentication in self-hosted deployments", - "href": "https://github.com/orgs/langfuse/discussions/4212", - "created_at": "2024-11-13T13:32:11Z", - "upvotes": 2, - "comment_count": 1, + "number": 1221, + "title": "Add Haystack integration", + "href": "https://github.com/orgs/langfuse/discussions/1221", + "created_at": "2024-02-21T13:06:06Z", + "upvotes": 9, + "comment_count": 2, "resolved": false, "labels": [ - "feat-auth", - "self-hosting" + "integrations", + "✅ Done", + "integration-haystack" ], "author": { - "login": "mariusp12", - "html_url": "https://github.com/mariusp12" + "login": "marcklingen", + "html_url": "https://github.com/marcklingen" }, "category": "Ideas" }, { - "number": 4208, - "title": "Multi-turn / session experiments in datasets", - "href": "https://github.com/orgs/langfuse/discussions/4208", - "created_at": "2024-11-13T11:43:31Z", + "number": 1220, + "title": "Export to S3", + "href": "https://github.com/orgs/langfuse/discussions/1220", + "created_at": "2024-02-21T12:46:58Z", "upvotes": 1, - "comment_count": 1, + "comment_count": 0, "resolved": false, "labels": [ - "feat-datasets" + "integrations" ], "author": { - "login": "bartsimo", - "html_url": "https://github.com/bartsimo" + "login": "marcklingen", + "html_url": "https://github.com/marcklingen" }, "category": "Ideas" }, { - "number": 4189, - "title": "feat: add support for SSR to allow runtime BASE_PATH", - "href": "https://github.com/orgs/langfuse/discussions/4189", - "created_at": "2024-11-12T12:39:25Z", - "upvotes": 2, - "comment_count": 1, + "number": 1219, + "title": "Export to BigQuery", + "href": "https://github.com/orgs/langfuse/discussions/1219", + "created_at": "2024-02-21T12:46:26Z", + "upvotes": 4, + "comment_count": 0, "resolved": false, "labels": [ - "self-hosting" + "integrations" ], "author": { - "login": "sinux-l5d", - "html_url": "https://github.com/sinux-l5d" + "login": "marcklingen", + "html_url": "https://github.com/marcklingen" }, "category": "Ideas" }, { - "number": 4168, - "title": "Centralized API Key Management with Secret Store Integration (e.g. HashiCorp Vault)", - "href": "https://github.com/orgs/langfuse/discussions/4168", - "created_at": "2024-11-11T11:11:10Z", - "upvotes": 1, - "comment_count": 2, + "number": 1212, + "title": "Adding support for async Langchain methods", + "href": "https://github.com/orgs/langfuse/discussions/1212", + "created_at": "2024-02-20T13:09:19Z", + "upvotes": 24, + "comment_count": 5, "resolved": false, "labels": [ - "security", - "self-hosting" + "integration-langchain", + "✅ Done" ], "author": { - "login": "bikram42", - "html_url": "https://github.com/bikram42" + "login": "marcklingen", + "html_url": "https://github.com/marcklingen" }, "category": "Ideas" }, { - "number": 4166, - "title": "Allow sending events to multiple LF projects within one client app", - "href": "https://github.com/orgs/langfuse/discussions/4166", - "created_at": "2024-11-11T10:51:01Z", - "upvotes": 1, + "number": 1208, + "title": "Add Images in Tracing", + "href": "https://github.com/orgs/langfuse/discussions/1208", + "created_at": "2024-02-20T00:41:41Z", + "upvotes": 11, "comment_count": 2, "resolved": false, - "labels": [], + "labels": [ + "✅ Done", + "feat-multimodal" + ], "author": { - "login": "snopoke", - "html_url": "https://github.com/snopoke" + "login": "aiakubovich", + "html_url": "https://github.com/aiakubovich" }, "category": "Ideas" }, { - "number": 4165, - "title": "Another glimpse into prompt management in LangFuse", - "href": "https://github.com/orgs/langfuse/discussions/4165", - "created_at": "2024-11-11T10:20:18Z", + "number": 1190, + "title": "Request to add 75 percentile under Model latency section as shown in image below", + "href": "https://github.com/orgs/langfuse/discussions/1190", + "created_at": "2024-02-16T21:41:29Z", "upvotes": 1, "comment_count": 1, "resolved": false, - "labels": [ - "feat-prompt-management" - ], + "labels": [], "author": { - "login": "barseghyanartur", - "html_url": "https://github.com/barseghyanartur" + "login": "ssubburaj85", + "html_url": "https://github.com/ssubburaj85" }, "category": "Ideas" }, { - "number": 4154, - "title": "Feature Request: Enable Invites with `AUTH_DISABLE_SIGNUP` (or/and GitHub OAuth for a given organization)", - "href": "https://github.com/orgs/langfuse/discussions/4154", - "created_at": "2024-11-10T15:04:41Z", - "upvotes": 2, - "comment_count": 1, + "number": 1170, + "title": "LLM Playground", + "href": "https://github.com/orgs/langfuse/discussions/1170", + "created_at": "2024-02-15T17:44:42Z", + "upvotes": 7, + "comment_count": 6, "resolved": false, "labels": [ - "feat-auth", - "self-hosting" + "feat-prompt-management", + "✅ Done", + "feat-playground" ], "author": { - "login": "shner-elmo", - "html_url": "https://github.com/shner-elmo" + "login": "reza-mohideen", + "html_url": "https://github.com/reza-mohideen" }, "category": "Ideas" }, { - "number": 4143, - "title": "Getting prompts using LiteLLM syntax", - "href": "https://github.com/orgs/langfuse/discussions/4143", - "created_at": "2024-11-09T17:01:10Z", - "upvotes": 1, - "comment_count": 0, + "number": 1159, + "title": "Looking for users (that are migrating off of something) to co-build Langfuse integration with", + "href": "https://github.com/orgs/langfuse/discussions/1159", + "created_at": "2024-02-14T19:05:27Z", + "upvotes": 2, + "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "doasfrancisco", - "html_url": "https://github.com/doasfrancisco" + "login": "skrawcz", + "html_url": "https://github.com/skrawcz" }, "category": "Ideas" }, { - "number": 4129, - "title": "Annotation Queue: Display trace id", - "href": "https://github.com/orgs/langfuse/discussions/4129", - "created_at": "2024-11-08T16:14:00Z", + "number": 1156, + "title": "Possible to set timestamp when creating trace", + "href": "https://github.com/orgs/langfuse/discussions/1156", + "created_at": "2024-02-14T14:26:22Z", "upvotes": 1, - "comment_count": 0, + "comment_count": 1, "resolved": false, - "labels": [], + "labels": [ + "sdk-js" + ], "author": { - "login": "jannikmaierhoefer", - "html_url": "https://github.com/jannikmaierhoefer" + "login": "Stadly", + "html_url": "https://github.com/Stadly" }, "category": "Ideas" }, { - "number": 4121, - "title": "Enable to use variable of prompt on evaluator.", - "href": "https://github.com/orgs/langfuse/discussions/4121", - "created_at": "2024-11-08T09:16:28Z", - "upvotes": 3, - "comment_count": 1, + "number": 1154, + "title": "Dedicated user object which can include groups/teams and other attributes", + "href": "https://github.com/orgs/langfuse/discussions/1154", + "created_at": "2024-02-14T09:45:40Z", + "upvotes": 6, + "comment_count": 5, "resolved": false, "labels": [ - "feat-evals" + "feat-users" ], "author": { - "login": "takryo00", - "html_url": "https://github.com/takryo00" + "login": "bryan-agicap", + "html_url": "https://github.com/bryan-agicap" }, "category": "Ideas" }, { - "number": 4120, - "title": "Sessions Table: Scores Column", - "href": "https://github.com/orgs/langfuse/discussions/4120", - "created_at": "2024-11-08T08:58:10Z", - "upvotes": 5, - "comment_count": 0, + "number": 1133, + "title": "API to delete scores", + "href": "https://github.com/orgs/langfuse/discussions/1133", + "created_at": "2024-02-12T11:19:59Z", + "upvotes": 2, + "comment_count": 1, "resolved": false, "labels": [ - "feat-sessions" + "feat-api", + "feat-scores" ], "author": { - "login": "jannikmaierhoefer", - "html_url": "https://github.com/jannikmaierhoefer" + "login": "Jason-CKY", + "html_url": "https://github.com/Jason-CKY" }, "category": "Ideas" }, { - "number": 4110, - "title": "Sort functionality in Users page", - "href": "https://github.com/orgs/langfuse/discussions/4110", - "created_at": "2024-11-07T19:43:07Z", - "upvotes": 1, - "comment_count": 0, - "resolved": false, - "labels": [], - "author": { - "login": "sal-dti", - "html_url": "https://github.com/sal-dti" - }, - "category": "Ideas" - }, - { - "number": 4106, - "title": "Add new filters for the LLM as a Judge Evaluation (other scores and cost)", - "href": "https://github.com/orgs/langfuse/discussions/4106", - "created_at": "2024-11-07T14:44:31Z", - "upvotes": 1, + "number": 1128, + "title": "Display all traces within a session", + "href": "https://github.com/orgs/langfuse/discussions/1128", + "created_at": "2024-02-10T17:36:48Z", + "upvotes": 2, "comment_count": 1, "resolved": false, "labels": [ - "feat-evals" + "ui", + "feat-sessions" ], "author": { - "login": "laisalvescw", - "html_url": "https://github.com/laisalvescw" + "login": "benm5678", + "html_url": "https://github.com/benm5678" }, "category": "Ideas" }, { - "number": 4103, - "title": "Prompt Management: Deployment level view", - "href": "https://github.com/orgs/langfuse/discussions/4103", - "created_at": "2024-11-07T12:40:07Z", - "upvotes": 2, + "number": 1118, + "title": "[Simple Feature/WebUI] Adding a button to hide the sidebar", + "href": "https://github.com/orgs/langfuse/discussions/1118", + "created_at": "2024-02-09T09:43:34Z", + "upvotes": 3, "comment_count": 1, "resolved": false, "labels": [ - "feat-prompt-management" + "ui" ], "author": { - "login": "jannikmaierhoefer", - "html_url": "https://github.com/jannikmaierhoefer" + "login": "samyxdev", + "html_url": "https://github.com/samyxdev" }, "category": "Ideas" }, { - "number": 4102, - "title": "Prompt Management: labels in prompt table", - "href": "https://github.com/orgs/langfuse/discussions/4102", - "created_at": "2024-11-07T12:38:00Z", - "upvotes": 2, - "comment_count": 0, + "number": 1115, + "title": "Prioritize traces captured from LangGraph by relevance", + "href": "https://github.com/orgs/langfuse/discussions/1115", + "created_at": "2024-02-08T06:44:34Z", + "upvotes": 8, + "comment_count": 3, "resolved": false, - "labels": [], + "labels": [ + "ui", + "integration-langchain" + ], "author": { - "login": "jannikmaierhoefer", - "html_url": "https://github.com/jannikmaierhoefer" + "login": "litagent", + "html_url": "https://github.com/litagent" }, "category": "Ideas" }, { - "number": 4099, - "title": "Does LangFuse support a (declarative) plugin architecture?", - "href": "https://github.com/orgs/langfuse/discussions/4099", - "created_at": "2024-11-07T11:27:39Z", + "number": 1114, + "title": "Pulling prompt/completions via API", + "href": "https://github.com/orgs/langfuse/discussions/1114", + "created_at": "2024-02-08T00:52:10Z", "upvotes": 1, "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "barseghyanartur", - "html_url": "https://github.com/barseghyanartur" + "login": "mukundt", + "html_url": "https://github.com/mukundt" }, "category": "Ideas" }, { - "number": 4097, - "title": "More Granular Target Objects for Langfuse Evaluators", - "href": "https://github.com/orgs/langfuse/discussions/4097", - "created_at": "2024-11-07T10:00:11Z", - "upvotes": 1, - "comment_count": 0, + "number": 1106, + "title": "Prompt version comments", + "href": "https://github.com/orgs/langfuse/discussions/1106", + "created_at": "2024-02-07T15:38:07Z", + "upvotes": 5, + "comment_count": 2, "resolved": false, - "labels": [], + "labels": [ + "ui", + "feat-prompt-management", + "✅ Done" + ], "author": { - "login": "qrosseel", - "html_url": "https://github.com/qrosseel" + "login": "mukundt", + "html_url": "https://github.com/mukundt" }, "category": "Ideas" }, { - "number": 4096, - "title": "Evaluator CRUD in UI and API", - "href": "https://github.com/orgs/langfuse/discussions/4096", - "created_at": "2024-11-07T09:46:01Z", - "upvotes": 1, + "number": 1105, + "title": "\"Git diff\" view between two prompt versions", + "href": "https://github.com/orgs/langfuse/discussions/1105", + "created_at": "2024-02-07T15:37:18Z", + "upvotes": 13, "comment_count": 1, "resolved": false, - "labels": [], - "author": { - "login": "qrosseel", - "html_url": "https://github.com/qrosseel" - }, - "category": "Ideas" - }, - { - "number": 4078, - "title": "Specify data masking on decorator itself", - "href": "https://github.com/orgs/langfuse/discussions/4078", - "created_at": "2024-11-06T14:00:47Z", - "upvotes": 1, - "comment_count": 0, - "resolved": false, "labels": [ - "integration-python-decorator", - "feat-data-masking" + "ui", + "feat-prompt-management" ], "author": { - "login": "marcklingen", - "html_url": "https://github.com/marcklingen" + "login": "mukundt", + "html_url": "https://github.com/mukundt" }, "category": "Ideas" }, { - "number": 4077, - "title": "Export dataset run table", - "href": "https://github.com/orgs/langfuse/discussions/4077", - "created_at": "2024-11-06T13:58:30Z", - "upvotes": 4, - "comment_count": 0, + "number": 1097, + "title": "Ability to post-process generation data", + "href": "https://github.com/orgs/langfuse/discussions/1097", + "created_at": "2024-02-06T17:45:58Z", + "upvotes": 2, + "comment_count": 1, "resolved": false, - "labels": [ - "feat-datasets" - ], + "labels": [], "author": { - "login": "marcklingen", - "html_url": "https://github.com/marcklingen" + "login": "denisergashbaev", + "html_url": "https://github.com/denisergashbaev" }, "category": "Ideas" }, { - "number": 4076, - "title": "Customizable data mask (input/output, observation names, observation type)", - "href": "https://github.com/orgs/langfuse/discussions/4076", - "created_at": "2024-11-06T13:56:36Z", + "number": 1096, + "title": "[Python SDK] Link prompt to OpenAI Chat Completion directly", + "href": "https://github.com/orgs/langfuse/discussions/1096", + "created_at": "2024-02-06T17:19:29Z", "upvotes": 2, - "comment_count": 0, + "comment_count": 2, "resolved": false, "labels": [ - "feat-data-masking" + "sdk-python", + "feat-prompt-management", + "integration-openai" ], "author": { - "login": "marcklingen", - "html_url": "https://github.com/marcklingen" + "login": "fancyweb", + "html_url": "https://github.com/fancyweb" }, "category": "Ideas" }, { - "number": 4060, - "title": "Add support for more complex Jinja constructs", - "href": "https://github.com/orgs/langfuse/discussions/4060", - "created_at": "2024-11-05T14:28:17Z", + "number": 1089, + "title": "Use JWTs for API private key", + "href": "https://github.com/orgs/langfuse/discussions/1089", + "created_at": "2024-02-06T02:11:39Z", "upvotes": 1, - "comment_count": 1, + "comment_count": 2, "resolved": false, - "labels": [ - "feat-prompt-management" - ], + "labels": [], "author": { - "login": "alex-stoica", - "html_url": "https://github.com/alex-stoica" + "login": "Manouchehri", + "html_url": "https://github.com/Manouchehri" }, "category": "Ideas" }, { - "number": 4040, - "title": "Linking ChatPromptTemplate to Multiple Prompts", - "href": "https://github.com/orgs/langfuse/discussions/4040", - "created_at": "2024-11-04T13:49:06Z", + "number": 1082, + "title": "Add LLM call duration on session and trace table", + "href": "https://github.com/orgs/langfuse/discussions/1082", + "created_at": "2024-02-05T20:52:23Z", "upvotes": 1, "comment_count": 1, "resolved": false, "labels": [ - "feat-prompt-management" + "ui" ], "author": { - "login": "sternr", - "html_url": "https://github.com/sternr" + "login": "Manouchehri", + "html_url": "https://github.com/Manouchehri" }, "category": "Ideas" }, { - "number": 4037, - "title": "feat: support adding trace tags in annotation queue view", - "href": "https://github.com/orgs/langfuse/discussions/4037", - "created_at": "2024-11-04T13:04:02Z", + "number": 1077, + "title": "Flowise: Allow adding metadata in API call to populate Langfuse trace metadata", + "href": "https://github.com/orgs/langfuse/discussions/1077", + "created_at": "2024-02-05T15:55:07Z", "upvotes": 2, "comment_count": 0, "resolved": false, "labels": [ - "feat-annotation" + "integration-flowise" ], "author": { - "login": "marliessophie", - "html_url": "https://github.com/marliessophie" + "login": "jpmin7", + "html_url": "https://github.com/jpmin7" }, "category": "Ideas" }, { - "number": 4035, - "title": "Feat: De-dupe and show info when adding the same trace/observation to an annotation queue multiple times", - "href": "https://github.com/orgs/langfuse/discussions/4035", - "created_at": "2024-11-04T12:58:59Z", + "number": 1076, + "title": "Flowise: Allow Langfuse traceId to be set or passed on with API response", + "href": "https://github.com/orgs/langfuse/discussions/1076", + "created_at": "2024-02-05T14:58:23Z", "upvotes": 1, "comment_count": 1, "resolved": false, "labels": [ - "feat-annotation" + "sdk-js", + "integration-flowise" ], "author": { - "login": "marliessophie", - "html_url": "https://github.com/marliessophie" + "login": "jpmin7", + "html_url": "https://github.com/jpmin7" }, "category": "Ideas" }, { - "number": 4025, - "title": "Diff support for dataset runs view", - "href": "https://github.com/orgs/langfuse/discussions/4025", - "created_at": "2024-11-04T03:48:40Z", - "upvotes": 3, - "comment_count": 0, + "number": 1074, + "title": "Model costs in terms of energy for self hosted models (or cloud hosted)", + "href": "https://github.com/orgs/langfuse/discussions/1074", + "created_at": "2024-02-05T10:15:27Z", + "upvotes": 1, + "comment_count": 1, "resolved": false, - "labels": [ - "feat-datasets" - ], + "labels": [], "author": { - "login": "saikatmitra91", - "html_url": "https://github.com/saikatmitra91" + "login": "vquilon", + "html_url": "https://github.com/vquilon" }, "category": "Ideas" }, { - "number": 4019, - "title": "Create Support for gemini models in playground", - "href": "https://github.com/orgs/langfuse/discussions/4019", - "created_at": "2024-11-03T11:12:42Z", - "upvotes": 1, - "comment_count": 2, + "number": 1073, + "title": "Use proper logger for backend API to make it configurable", + "href": "https://github.com/orgs/langfuse/discussions/1073", + "created_at": "2024-02-05T09:19:01Z", + "upvotes": 3, + "comment_count": 5, "resolved": false, "labels": [ - "feat-evals", - "feat-playground" + "✅ Done", + "self-hosting" ], "author": { - "login": "anuraj-suman", - "html_url": "https://github.com/anuraj-suman" + "login": "code-haven", + "html_url": "https://github.com/code-haven" }, "category": "Ideas" }, { - "number": 4012, - "title": "Duplicate a template prompt to start a new prompt with all the boilerplate prepared", - "href": "https://github.com/orgs/langfuse/discussions/4012", - "created_at": "2024-11-02T15:26:33Z", - "upvotes": 1, + "number": 1049, + "title": "API Examples for Generations", + "href": "https://github.com/orgs/langfuse/discussions/1049", + "created_at": "2024-02-02T07:02:08Z", + "upvotes": 2, "comment_count": 1, "resolved": false, - "labels": [ - "feat-prompt-management" - ], + "labels": [], "author": { - "login": "jakelucasnyc", - "html_url": "https://github.com/jakelucasnyc" + "login": "Manouchehri", + "html_url": "https://github.com/Manouchehri" }, "category": "Ideas" }, { - "number": 4009, - "title": "SDK-Python: Get all prompts from LangfuseSDK Client", - "href": "https://github.com/orgs/langfuse/discussions/4009", - "created_at": "2024-11-01T18:39:02Z", - "upvotes": 1, - "comment_count": 1, + "number": 1048, + "title": "Allow sharing traces as a self contained HTML file via presigned S3 URL", + "href": "https://github.com/orgs/langfuse/discussions/1048", + "created_at": "2024-02-02T06:05:47Z", + "upvotes": 2, + "comment_count": 0, "resolved": false, "labels": [], "author": { - "login": "nthanapaisal", - "html_url": "https://github.com/nthanapaisal" + "login": "Manouchehri", + "html_url": "https://github.com/Manouchehri" }, "category": "Ideas" }, { - "number": 4000, - "title": "Support custom aggregated queries through the UI", - "href": "https://github.com/orgs/langfuse/discussions/4000", - "created_at": "2024-11-01T14:19:58Z", - "upvotes": 2, - "comment_count": 0, + "number": 1043, + "title": "Ability to query entities from SDK", + "href": "https://github.com/orgs/langfuse/discussions/1043", + "created_at": "2024-02-01T23:51:00Z", + "upvotes": 4, + "comment_count": 2, "resolved": false, - "labels": [], + "labels": [ + "feat-api" + ], "author": { - "login": "emieldatalytica", - "html_url": "https://github.com/emieldatalytica" + "login": "Pranov1", + "html_url": "https://github.com/Pranov1" }, "category": "Ideas" }, { - "number": 3997, - "title": "Alerts based on metrics (cost, evaluation, user-feedback), trigger webhook/email/slack/...", - "href": "https://github.com/orgs/langfuse/discussions/3997", - "created_at": "2024-11-01T11:25:05Z", - "upvotes": 1, - "comment_count": 0, + "number": 1033, + "title": "Subscribe to Langfuse Events via Webhooks", + "href": "https://github.com/orgs/langfuse/discussions/1033", + "created_at": "2024-02-01T18:59:56Z", + "upvotes": 34, + "comment_count": 6, "resolved": false, "labels": [], "author": { @@ -6508,6262 +6570,6217 @@ "category": "Ideas" }, { - "number": 3988, - "title": "Change AWS access pattern for Bedrock LLM usage, assume role", - "href": "https://github.com/orgs/langfuse/discussions/3988", - "created_at": "2024-10-31T17:45:48Z", - "upvotes": 1, + "number": 1032, + "title": "Periodic reports (email or slack)", + "href": "https://github.com/orgs/langfuse/discussions/1032", + "created_at": "2024-02-01T18:57:42Z", + "upvotes": 12, "comment_count": 1, "resolved": false, - "labels": [ - "feat-evals", - "feat-playground" - ], + "labels": [], "author": { - "login": "j10sanders", - "html_url": "https://github.com/j10sanders" + "login": "marcklingen", + "html_url": "https://github.com/marcklingen" }, "category": "Ideas" }, { - "number": 3986, - "title": "Support for Atlassian OAuth-Provider", - "href": "https://github.com/orgs/langfuse/discussions/3986", - "created_at": "2024-10-31T16:56:45Z", + "number": 1021, + "title": "Add `Embedding` observation type", + "href": "https://github.com/orgs/langfuse/discussions/1021", + "created_at": "2024-02-01T03:15:17Z", + "upvotes": 55, + "comment_count": 2, + "resolved": false, + "labels": [], + "author": { + "login": "marcklingen", + "html_url": "https://github.com/marcklingen" + }, + "category": "Ideas" + }, + { + "number": 1020, + "title": "Leveraging Azure OpenAI Diagnostic Settings?", + "href": "https://github.com/orgs/langfuse/discussions/1020", + "created_at": "2024-02-01T02:58:54Z", "upvotes": 1, - "comment_count": 1, + "comment_count": 0, "resolved": false, "labels": [ - "feat-auth", - "self-hosting" + "integration-openai", + "integration-litellm" ], "author": { - "login": "backface", - "html_url": "https://github.com/backface" + "login": "Manouchehri", + "html_url": "https://github.com/Manouchehri" }, "category": "Ideas" }, { - "number": 3981, - "title": "Async support for data masking in JS/TS SDK", - "href": "https://github.com/orgs/langfuse/discussions/3981", - "created_at": "2024-10-31T14:06:21Z", - "upvotes": 3, - "comment_count": 3, + "number": 1011, + "title": "Configurable dashboards", + "href": "https://github.com/orgs/langfuse/discussions/1011", + "created_at": "2024-01-31T13:40:59Z", + "upvotes": 17, + "comment_count": 2, "resolved": false, "labels": [ - "feat-data-masking" + "ui", + "feat-dashboard" ], "author": { - "login": "pexxi", - "html_url": "https://github.com/pexxi" + "login": "marcklingen", + "html_url": "https://github.com/marcklingen" }, "category": "Ideas" }, { - "number": 3970, - "title": "Add ability to export and import evaluators between projects", - "href": "https://github.com/orgs/langfuse/discussions/3970", - "created_at": "2024-10-30T16:13:20Z", + "number": 1010, + "title": "Add new integration: LLM Proxy", + "href": "https://github.com/orgs/langfuse/discussions/1010", + "created_at": "2024-01-31T12:40:35Z", "upvotes": 2, "comment_count": 1, "resolved": false, "labels": [ - "feat-evals" + "integrations" ], "author": { - "login": "j10sanders", - "html_url": "https://github.com/j10sanders" + "login": "marcklingen", + "html_url": "https://github.com/marcklingen" }, "category": "Ideas" }, { - "number": 3954, - "title": "Decorator: disable tracing at the decorated function level", - "href": "https://github.com/orgs/langfuse/discussions/3954", - "created_at": "2024-10-29T11:45:13Z", - "upvotes": 3, - "comment_count": 2, + "number": 1009, + "title": "Decorator-based integration with Langfuse", + "href": "https://github.com/orgs/langfuse/discussions/1009", + "created_at": "2024-01-31T12:19:26Z", + "upvotes": 7, + "comment_count": 3, "resolved": false, "labels": [ "sdk-python", + "integrations", + "✅ Done", "integration-python-decorator" ], "author": { - "login": "klemenstraeger", - "html_url": "https://github.com/klemenstraeger" + "login": "marcklingen", + "html_url": "https://github.com/marcklingen" }, "category": "Ideas" }, { - "number": 3941, - "title": "Add keyword highlighting and color coding", - "href": "https://github.com/orgs/langfuse/discussions/3941", - "created_at": "2024-10-28T12:17:38Z", - "upvotes": 1, + "number": 1004, + "title": "should work with OpenAI-compatible self-hosted endpoints", + "href": "https://github.com/orgs/langfuse/discussions/1004", + "created_at": "2024-01-31T09:04:28Z", + "upvotes": 2, "comment_count": 2, "resolved": false, "labels": [ - "feat-prompt-management" + "sdk-python", + "integration-openai" ], "author": { - "login": "ignazflam", - "html_url": "https://github.com/ignazflam" + "login": "7flash", + "html_url": "https://github.com/7flash" }, "category": "Ideas" }, { - "number": 3935, - "title": "feat: Folder structure for dataset organisation", - "href": "https://github.com/orgs/langfuse/discussions/3935", - "created_at": "2024-10-28T08:23:14Z", + "number": 999, + "title": "Users should be able to pass metadata and tags via `overrideConfig` when using the Flowise integration", + "href": "https://github.com/orgs/langfuse/discussions/999", + "created_at": "2024-01-30T19:52:41Z", "upvotes": 2, "comment_count": 1, "resolved": false, "labels": [ - "feat-datasets" + "sdk-js", + "integration-flowise", + "✅ Done" ], "author": { - "login": "marliessophie", - "html_url": "https://github.com/marliessophie" + "login": "giorgosera", + "html_url": "https://github.com/giorgosera" }, "category": "Ideas" }, { - "number": 3918, - "title": "Model-based evaluations triggered by observations", - "href": "https://github.com/orgs/langfuse/discussions/3918", - "created_at": "2024-10-25T14:25:49Z", - "upvotes": 2, - "comment_count": 0, + "number": 991, + "title": "Inferring cost of trace from metadata field if optionally provided", + "href": "https://github.com/orgs/langfuse/discussions/991", + "created_at": "2024-01-30T07:38:56Z", + "upvotes": 1, + "comment_count": 2, + "resolved": false, + "labels": [], + "author": { + "login": "sumba101", + "html_url": "https://github.com/sumba101" + }, + "category": "Ideas" + }, + { + "number": 990, + "title": "filtering sessions with metadata", + "href": "https://github.com/orgs/langfuse/discussions/990", + "created_at": "2024-01-30T06:21:42Z", + "upvotes": 7, + "comment_count": 2, "resolved": false, "labels": [ - "feat-evals" + "ui", + "feat-sessions", + "feat-metadata" ], "author": { - "login": "marcklingen", - "html_url": "https://github.com/marcklingen" + "login": "litagent", + "html_url": "https://github.com/litagent" }, "category": "Ideas" }, { - "number": 3904, - "title": "Support for Custom SSO Without AUTH_CUSTOM_CLIENT_SECRET and Incorrect Profile Mapping", - "href": "https://github.com/orgs/langfuse/discussions/3904", - "created_at": "2024-10-24T17:07:38Z", - "upvotes": 0, - "comment_count": 0, + "number": 989, + "title": "Enable Collaboration Platforms for Project Members", + "href": "https://github.com/orgs/langfuse/discussions/989", + "created_at": "2024-01-30T04:00:26Z", + "upvotes": 1, + "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "lucebert", - "html_url": "https://github.com/lucebert" + "login": "khareyash05", + "html_url": "https://github.com/khareyash05" }, "category": "Ideas" }, { - "number": 3893, - "title": "Allow prompt editing without creating new version (draft mode)", - "href": "https://github.com/orgs/langfuse/discussions/3893", - "created_at": "2024-10-24T08:47:13Z", - "upvotes": 2, - "comment_count": 1, + "number": 982, + "title": "Supporting OpenAI Vision", + "href": "https://github.com/orgs/langfuse/discussions/982", + "created_at": "2024-01-29T19:06:44Z", + "upvotes": 7, + "comment_count": 2, "resolved": false, "labels": [ - "feat-prompt-management" + "integration-openai", + "✅ Done", + "feat-multimodal" ], "author": { - "login": "dveyarangi", - "html_url": "https://github.com/dveyarangi" + "login": "pj747", + "html_url": "https://github.com/pj747" }, "category": "Ideas" }, { - "number": 3891, - "title": "feat: user consumption broken down by model", - "href": "https://github.com/orgs/langfuse/discussions/3891", - "created_at": "2024-10-24T05:41:12Z", - "upvotes": 1, - "comment_count": 0, + "number": 980, + "title": "Comments on objects across the Langfuse UI", + "href": "https://github.com/orgs/langfuse/discussions/980", + "created_at": "2024-01-29T18:21:03Z", + "upvotes": 3, + "comment_count": 3, "resolved": false, - "labels": [], + "labels": [ + "ui", + "✅ Done" + ], "author": { - "login": "belphegor-s", - "html_url": "https://github.com/belphegor-s" + "login": "marcklingen", + "html_url": "https://github.com/marcklingen" }, "category": "Ideas" }, { - "number": 3885, - "title": "Trace -> Playground: Populate variable fields to make input iteration easier.", - "href": "https://github.com/orgs/langfuse/discussions/3885", - "created_at": "2024-10-23T16:26:36Z", - "upvotes": 2, - "comment_count": 0, + "number": 976, + "title": "Support alternative databases next to Postgres, e.g. MySQL", + "href": "https://github.com/orgs/langfuse/discussions/976", + "created_at": "2024-01-28T21:44:11Z", + "upvotes": 3, + "comment_count": 6, "resolved": false, "labels": [ - "feat-prompt-management", - "feat-playground" + "self-hosting" ], "author": { - "login": "jannikmaierhoefer", - "html_url": "https://github.com/jannikmaierhoefer" + "login": "zoltan-fedor", + "html_url": "https://github.com/zoltan-fedor" }, "category": "Ideas" }, { - "number": 3875, - "title": "add gpt-4o-2024-08-06 model to langfuse models list", - "href": "https://github.com/orgs/langfuse/discussions/3875", - "created_at": "2024-10-23T10:54:01Z", - "upvotes": 1, - "comment_count": 1, + "number": 969, + "title": "Flowise - OpenAI Assistant cost tracking", + "href": "https://github.com/orgs/langfuse/discussions/969", + "created_at": "2024-01-26T18:04:07Z", + "upvotes": 2, + "comment_count": 0, "resolved": false, "labels": [ - "✅ Done" + "integration-flowise" ], "author": { - "login": "alex-stoica", - "html_url": "https://github.com/alex-stoica" + "login": "jozsef-gereby", + "html_url": "https://github.com/jozsef-gereby" }, "category": "Ideas" }, { - "number": 3874, - "title": "Ensure prompt validation when attaching prompts to generations", - "href": "https://github.com/orgs/langfuse/discussions/3874", - "created_at": "2024-10-23T10:48:38Z", - "upvotes": 1, - "comment_count": 0, + "number": 964, + "title": "Latency metrics - Time to first token, Tokens per second", + "href": "https://github.com/orgs/langfuse/discussions/964", + "created_at": "2024-01-26T15:37:01Z", + "upvotes": 8, + "comment_count": 3, "resolved": false, "labels": [ - "feat-prompt-management" + "✅ Done" ], "author": { - "login": "alex-stoica", - "html_url": "https://github.com/alex-stoica" + "login": "nikcaryo-super", + "html_url": "https://github.com/nikcaryo-super" }, "category": "Ideas" }, { - "number": 3866, - "title": "Support for OpenAI's cached input tokens", - "href": "https://github.com/orgs/langfuse/discussions/3866", - "created_at": "2024-10-22T19:38:33Z", - "upvotes": 4, + "number": 958, + "title": "LLM calls captured via Langchain integration should match what’s sent to the LLM", + "href": "https://github.com/orgs/langfuse/discussions/958", + "created_at": "2024-01-25T16:45:38Z", + "upvotes": 3, "comment_count": 2, "resolved": false, - "labels": [ - "feat-cost-tracking" - ], + "labels": [], "author": { - "login": "anatolec", - "html_url": "https://github.com/anatolec" + "login": "benm5678", + "html_url": "https://github.com/benm5678" }, "category": "Ideas" }, { - "number": 3862, - "title": "python generator request - return values", - "href": "https://github.com/orgs/langfuse/discussions/3862", - "created_at": "2024-10-22T11:43:22Z", + "number": 953, + "title": "Improve integration with flowise", + "href": "https://github.com/orgs/langfuse/discussions/953", + "created_at": "2024-01-24T19:57:06Z", "upvotes": 1, - "comment_count": 1, + "comment_count": 2, "resolved": false, "labels": [ - "integration-python-decorator" + "sdk-js", + "integration-flowise" ], "author": { - "login": "benji-finster", - "html_url": "https://github.com/benji-finster" + "login": "tsiougkosn", + "html_url": "https://github.com/tsiougkosn" }, "category": "Ideas" }, { - "number": 3842, - "title": "Scores: Conditional Annotation", - "href": "https://github.com/orgs/langfuse/discussions/3842", - "created_at": "2024-10-21T08:37:48Z", - "upvotes": 1, - "comment_count": 0, + "number": 941, + "title": "Dark mode", + "href": "https://github.com/orgs/langfuse/discussions/941", + "created_at": "2024-01-24T05:52:30Z", + "upvotes": 9, + "comment_count": 5, "resolved": false, "labels": [ - "feat-scores", - "feat-annotation" + "✅ Done" ], "author": { - "login": "marliessophie", - "html_url": "https://github.com/marliessophie" + "login": "archywillhe", + "html_url": "https://github.com/archywillhe" }, "category": "Ideas" }, { - "number": 3841, - "title": "Annotation Queues: define optional/mandatory score configs by queue", - "href": "https://github.com/orgs/langfuse/discussions/3841", - "created_at": "2024-10-21T08:32:46Z", - "upvotes": 1, - "comment_count": 0, + "number": 939, + "title": "Full-text search on trace/observation/generation input/output", + "href": "https://github.com/orgs/langfuse/discussions/939", + "created_at": "2024-01-23T23:47:11Z", + "upvotes": 27, + "comment_count": 9, "resolved": false, "labels": [ - "feat-annotation" + "ui" ], "author": { - "login": "marliessophie", - "html_url": "https://github.com/marliessophie" + "login": "marcklingen", + "html_url": "https://github.com/marcklingen" }, "category": "Ideas" }, { - "number": 3840, - "title": "Scores: support for recording multiple choice selection as score value", - "href": "https://github.com/orgs/langfuse/discussions/3840", - "created_at": "2024-10-21T08:20:01Z", - "upvotes": 1, - "comment_count": 0, + "number": 917, + "title": "Download dashboard details", + "href": "https://github.com/orgs/langfuse/discussions/917", + "created_at": "2024-01-21T16:35:24Z", + "upvotes": 8, + "comment_count": 3, "resolved": false, - "labels": [ - "feat-scores" - ], + "labels": [], "author": { - "login": "marliessophie", - "html_url": "https://github.com/marliessophie" + "login": "kerenaba", + "html_url": "https://github.com/kerenaba" }, "category": "Ideas" }, { - "number": 3839, - "title": "Prompts: ability to share prompt or playground session", - "href": "https://github.com/orgs/langfuse/discussions/3839", - "created_at": "2024-10-21T08:00:15Z", + "number": 902, + "title": "Support secret in docker compose", + "href": "https://github.com/orgs/langfuse/discussions/902", + "created_at": "2024-01-17T14:03:26Z", "upvotes": 2, - "comment_count": 0, + "comment_count": 1, "resolved": false, - "labels": [ - "feat-prompt-management" - ], + "labels": [], "author": { - "login": "marliessophie", - "html_url": "https://github.com/marliessophie" + "login": "shuther", + "html_url": "https://github.com/shuther" }, "category": "Ideas" }, { - "number": 3836, - "title": "Distinguishing various steps", - "href": "https://github.com/orgs/langfuse/discussions/3836", - "created_at": "2024-10-20T16:54:32Z", + "number": 896, + "title": "generation usage should accept a list of dict for async generation", + "href": "https://github.com/orgs/langfuse/discussions/896", + "created_at": "2024-01-17T05:59:24Z", "upvotes": 1, - "comment_count": 0, + "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "ajram23", - "html_url": "https://github.com/ajram23" + "login": "dove-young", + "html_url": "https://github.com/dove-young" }, "category": "Ideas" }, { - "number": 3818, - "title": "Filter by status in dataset items table", - "href": "https://github.com/orgs/langfuse/discussions/3818", - "created_at": "2024-10-18T03:17:50Z", - "upvotes": 2, - "comment_count": 2, + "number": 874, + "title": "Improve exception handling and type safety in python SDK", + "href": "https://github.com/orgs/langfuse/discussions/874", + "created_at": "2024-01-12T17:01:58Z", + "upvotes": 5, + "comment_count": 3, "resolved": false, - "labels": [ - "feat-datasets" - ], + "labels": [], "author": { - "login": "FrankyCTY", - "html_url": "https://github.com/FrankyCTY" + "login": "hubert-springbok", + "html_url": "https://github.com/hubert-springbok" }, "category": "Ideas" }, { - "number": 3817, - "title": "Add generic types for prompt variables in the sdk clients, e.g. `langfuse.getPrompt<{input: string}>(\"prompt name\")`", - "href": "https://github.com/orgs/langfuse/discussions/3817", - "created_at": "2024-10-17T23:40:45Z", - "upvotes": 1, + "number": 854, + "title": "Feature: API should give User-Tokens", + "href": "https://github.com/orgs/langfuse/discussions/854", + "created_at": "2024-01-09T14:26:47Z", + "upvotes": 6, "comment_count": 0, "resolved": false, - "labels": [ - "feat-prompt-management" - ], + "labels": [], "author": { - "login": "marcklingen", - "html_url": "https://github.com/marcklingen" + "login": "droggta", + "html_url": "https://github.com/droggta" }, "category": "Ideas" }, { - "number": 3801, - "title": "Add image type with image_url for vision apo", - "href": "https://github.com/orgs/langfuse/discussions/3801", - "created_at": "2024-10-17T15:27:23Z", - "upvotes": 1, - "comment_count": 1, + "number": 852, + "title": "Add prompt.to_langchain() to get a Langchain Prompt Template", + "href": "https://github.com/orgs/langfuse/discussions/852", + "created_at": "2024-01-09T13:20:55Z", + "upvotes": 7, + "comment_count": 2, "resolved": false, "labels": [ + "integrations", "feat-prompt-management", - "feat-playground" + "✅ Done" ], "author": { - "login": "profikid", - "html_url": "https://github.com/profikid" + "login": "marcklingen", + "html_url": "https://github.com/marcklingen" }, "category": "Ideas" }, { - "number": 3798, - "title": "Versioning/edit of Evaluator Configuration", - "href": "https://github.com/orgs/langfuse/discussions/3798", - "created_at": "2024-10-17T11:59:39Z", - "upvotes": 3, + "number": 853, + "title": "feat(ui): Dashboard filter and highlight", + "href": "https://github.com/orgs/langfuse/discussions/853", + "created_at": "2024-01-09T05:37:34Z", + "upvotes": 2, "comment_count": 1, "resolved": false, "labels": [ - "feat-evals" + "ui", + "Dashboard" ], "author": { - "login": "filipmihal", - "html_url": "https://github.com/filipmihal" + "login": "lkNGAT", + "html_url": "https://github.com/lkNGAT" }, "category": "Ideas" }, { - "number": 3782, - "title": "Measure time to last generated token", - "href": "https://github.com/orgs/langfuse/discussions/3782", - "created_at": "2024-10-16T17:45:12Z", - "upvotes": 2, - "comment_count": 0, + "number": 844, + "title": "Integration: Node.js/Typescript OpenAI SDK", + "href": "https://github.com/orgs/langfuse/discussions/844", + "created_at": "2024-01-08T22:39:27Z", + "upvotes": 8, + "comment_count": 2, "resolved": false, - "labels": [], + "labels": [ + "sdk-js", + "integrations", + "✅ Done" + ], "author": { - "login": "dsherry", - "html_url": "https://github.com/dsherry" + "login": "marcklingen", + "html_url": "https://github.com/marcklingen" }, "category": "Ideas" }, { - "number": 3772, - "title": "Support annotation role permission to only access Annotation Queue feature", - "href": "https://github.com/orgs/langfuse/discussions/3772", - "created_at": "2024-10-16T03:49:43Z", - "upvotes": 1, - "comment_count": 1, + "number": 828, + "title": "LlamaIndex integration (Python)", + "href": "https://github.com/orgs/langfuse/discussions/828", + "created_at": "2024-01-06T18:21:02Z", + "upvotes": 20, + "comment_count": 7, "resolved": false, "labels": [ - "feat-annotation" + "sdk-python", + "integrations", + "✅ Done", + "integraton-llamaindex" ], "author": { - "login": "ytqh", - "html_url": "https://github.com/ytqh" + "login": "marcklingen", + "html_url": "https://github.com/marcklingen" }, "category": "Ideas" }, { - "number": 3765, - "title": "OpenAI integration support for realtime api", - "href": "https://github.com/orgs/langfuse/discussions/3765", - "created_at": "2024-10-15T21:35:13Z", - "upvotes": 5, - "comment_count": 3, + "number": 1007, + "title": "Admin API: projects, api keys, user management", + "href": "https://github.com/orgs/langfuse/discussions/1007", + "created_at": "2023-12-21T13:22:28Z", + "upvotes": 23, + "comment_count": 13, "resolved": false, "labels": [ - "integration-openai" + "feat-api", + "self-hosting" ], "author": { - "login": "marcklingen", - "html_url": "https://github.com/marcklingen" + "login": "maxxte", + "html_url": "https://github.com/maxxte" }, "category": "Ideas" }, { - "number": 3761, - "title": "DsPY type optimization functionality", - "href": "https://github.com/orgs/langfuse/discussions/3761", - "created_at": "2024-10-15T20:02:39Z", + "number": 1006, + "title": "Versioning of docs", + "href": "https://github.com/orgs/langfuse/discussions/1006", + "created_at": "2023-12-18T01:27:09Z", "upvotes": 1, "comment_count": 1, "resolved": false, "labels": [ - "integration-dspy" + "docs" ], "author": { - "login": "nikshepsvn", - "html_url": "https://github.com/nikshepsvn" + "login": "flxwu", + "html_url": "https://github.com/flxwu" }, "category": "Ideas" }, { - "number": 3755, - "title": "Intergrate with Ragflow", - "href": "https://github.com/orgs/langfuse/discussions/3755", - "created_at": "2024-10-15T06:54:12Z", - "upvotes": 3, - "comment_count": 1, + "number": 1008, + "title": "Datasets: Diff of output and expected output", + "href": "https://github.com/orgs/langfuse/discussions/1008", + "created_at": "2023-11-29T00:35:13Z", + "upvotes": 6, + "comment_count": 3, "resolved": false, "labels": [ - "integrations" + "ui", + "feat-datasets" ], "author": { - "login": "chuwe000", - "html_url": "https://github.com/chuwe000" + "login": "marcklingen", + "html_url": "https://github.com/marcklingen" }, "category": "Ideas" }, { - "number": 3802, - "title": "Get Observation IDs of sub chains when using @observe decorator combined with Langchain", - "href": "https://github.com/orgs/langfuse/discussions/3802", - "created_at": "2024-10-14T14:22:38Z", + "number": 1066, + "title": "feat: Publish arm64 compatible docker images", + "href": "https://github.com/orgs/langfuse/discussions/1066", + "created_at": "2023-11-08T16:06:08Z", "upvotes": 1, - "comment_count": 4, + "comment_count": 10, "resolved": false, "labels": [ - "sdk-python", - "integration-langchain", - "integration-python-decorator" + "✅ Done", + "self-hosting" ], "author": { - "login": "guusfrenken-wk", - "html_url": "https://github.com/guusfrenken-wk" + "login": "code-haven", + "html_url": "https://github.com/code-haven" }, "category": "Ideas" }, { - "number": 3725, - "title": "observe context manager", - "href": "https://github.com/orgs/langfuse/discussions/3725", - "created_at": "2024-10-12T07:33:09Z", + "number": 1065, + "title": "OpenAI SDK wrapper for JS", + "href": "https://github.com/orgs/langfuse/discussions/1065", + "created_at": "2023-09-15T10:55:35Z", "upvotes": 1, - "comment_count": 1, + "comment_count": 3, "resolved": false, - "labels": [], + "labels": [ + "sdk-js", + "integrations", + "integration-openai", + "✅ Done" + ], "author": { - "login": "eliorc", - "html_url": "https://github.com/eliorc" + "login": "marcklingen", + "html_url": "https://github.com/marcklingen" }, "category": "Ideas" - }, + } + ] + }, + { + "category": "Support", + "discussions": [ { - "number": 3723, - "title": "Terminal version of Langfuse (Langfuse CLI)", - "href": "https://github.com/orgs/langfuse/discussions/3723", - "created_at": "2024-10-11T21:06:48Z", - "upvotes": 3, - "comment_count": 2, - "resolved": false, + "number": 4429, + "title": "Is there a way to rotate traces and generations?", + "href": "https://github.com/orgs/langfuse/discussions/4429", + "created_at": "2024-11-26T03:17:35Z", + "upvotes": 1, + "comment_count": 1, + "resolved": true, "labels": [], "author": { - "login": "Shahin-rmz", - "html_url": "https://github.com/Shahin-rmz" + "login": "woung717", + "html_url": "https://github.com/woung717" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3681, - "title": "Evalution of a prompt by a LLM", - "href": "https://github.com/orgs/langfuse/discussions/3681", - "created_at": "2024-10-09T19:17:30Z", - "upvotes": 3, - "comment_count": 0, - "resolved": false, + "number": 4418, + "title": "Cannot use prompt experiments \"No dataset item contains any variables\"", + "href": "https://github.com/orgs/langfuse/discussions/4418", + "created_at": "2024-11-25T20:32:59Z", + "upvotes": 1, + "comment_count": 3, + "resolved": true, "labels": [ - "feat-prompt-management" + "feat-prompt-experiments" ], "author": { - "login": "jannikmaierhoefer", - "html_url": "https://github.com/jannikmaierhoefer" + "login": "j10sanders", + "html_url": "https://github.com/j10sanders" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3663, - "title": "Dashboard: Add time to first token chart (ttft)", - "href": "https://github.com/orgs/langfuse/discussions/3663", - "created_at": "2024-10-08T23:56:42Z", - "upvotes": 6, - "comment_count": 0, + "number": 4417, + "title": "does token & cost counting take into consideration prompt caching, eg openai prompt caching?", + "href": "https://github.com/orgs/langfuse/discussions/4417", + "created_at": "2024-11-25T19:59:13Z", + "upvotes": 2, + "comment_count": 2, "resolved": false, "labels": [ - "feat-dashboard" + "feat-cost-tracking" ], "author": { - "login": "marcklingen", - "html_url": "https://github.com/marcklingen" + "login": "dwstevens", + "html_url": "https://github.com/dwstevens" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3646, - "title": "Table sorting and filtering in database runs", - "href": "https://github.com/orgs/langfuse/discussions/3646", - "created_at": "2024-10-08T11:13:52Z", - "upvotes": 2, - "comment_count": 0, + "number": 4413, + "title": "Help needed with CustomSSOProvider Configuration for GitHub Enterprise", + "href": "https://github.com/orgs/langfuse/discussions/4413", + "created_at": "2024-11-25T15:30:23Z", + "upvotes": 1, + "comment_count": 3, "resolved": false, - "labels": [], + "labels": [ + "feat-auth", + "self-hosting" + ], "author": { - "login": "FlorDonnaSanders", - "html_url": "https://github.com/FlorDonnaSanders" + "login": "jay0129", + "html_url": "https://github.com/jay0129" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3618, - "title": "User Aliases", - "href": "https://github.com/orgs/langfuse/discussions/3618", - "created_at": "2024-10-07T07:51:49Z", + "number": 4393, + "title": "Openai JS: Tracing for multiple iterations and tool calling", + "href": "https://github.com/orgs/langfuse/discussions/4393", + "created_at": "2024-11-23T06:57:40Z", "upvotes": 1, "comment_count": 1, - "resolved": false, - "labels": [], + "resolved": true, + "labels": [ + "integration-openai" + ], "author": { - "login": "FlorDonnaSanders", - "html_url": "https://github.com/FlorDonnaSanders" + "login": "uhhfeef", + "html_url": "https://github.com/uhhfeef" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3576, - "title": "feat: edit custom model definitions", - "href": "https://github.com/orgs/langfuse/discussions/3576", - "created_at": "2024-10-04T12:40:54Z", - "upvotes": 3, + "number": 4389, + "title": "Does Langfuse tracing work in Vercel edge functions?", + "href": "https://github.com/orgs/langfuse/discussions/4389", + "created_at": "2024-11-22T22:41:52Z", + "upvotes": 1, "comment_count": 0, "resolved": false, "labels": [], "author": { - "login": "nialldevlin1", - "html_url": "https://github.com/nialldevlin1" - }, - "category": "Ideas" - }, - { - "number": 3558, - "title": "Dashboard: split prompt/completion/total tokens", - "href": "https://github.com/orgs/langfuse/discussions/3558", - "created_at": "2024-10-02T02:17:47Z", - "upvotes": 6, - "comment_count": 0, - "resolved": false, - "labels": [ - "feat-dashboard" - ], - "author": { - "login": "marcklingen", - "html_url": "https://github.com/marcklingen" + "login": "holdenmatt", + "html_url": "https://github.com/holdenmatt" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3551, - "title": "Metrics API to support the OpenMetrics format", - "href": "https://github.com/orgs/langfuse/discussions/3551", - "created_at": "2024-10-01T15:03:02Z", - "upvotes": 3, - "comment_count": 0, + "number": 4388, + "title": "How to completely discard image with new multi-modal system?", + "href": "https://github.com/orgs/langfuse/discussions/4388", + "created_at": "2024-11-22T18:56:07Z", + "upvotes": 1, + "comment_count": 2, "resolved": false, "labels": [], "author": { - "login": "shukawam", - "html_url": "https://github.com/shukawam" + "login": "bioshazard", + "html_url": "https://github.com/bioshazard" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3550, - "title": "Asynchronous Langfuse Client.", - "href": "https://github.com/orgs/langfuse/discussions/3550", - "created_at": "2024-10-01T14:03:48Z", - "upvotes": 8, - "comment_count": 1, - "resolved": false, - "labels": [ - "sdk-python" - ], + "number": 4374, + "title": "Error while migrating schema", + "href": "https://github.com/orgs/langfuse/discussions/4374", + "created_at": "2024-11-21T22:39:36Z", + "upvotes": 1, + "comment_count": 2, + "resolved": true, + "labels": [], "author": { - "login": "fimselamse", - "html_url": "https://github.com/fimselamse" + "login": "geek1s42", + "html_url": "https://github.com/geek1s42" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3546, - "title": "Add SCIM support for user/role/identity management", - "href": "https://github.com/orgs/langfuse/discussions/3546", - "created_at": "2024-10-01T02:18:33Z", + "number": 4373, + "title": "Silent failure when attempting adding scores to trace", + "href": "https://github.com/orgs/langfuse/discussions/4373", + "created_at": "2024-11-21T22:18:26Z", "upvotes": 1, - "comment_count": 1, - "resolved": false, - "labels": [ - "feat-api", - "security" - ], + "comment_count": 2, + "resolved": true, + "labels": [], "author": { - "login": "marcklingen", - "html_url": "https://github.com/marcklingen" + "login": "bioshazard", + "html_url": "https://github.com/bioshazard" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3538, - "title": "Vector search for datasets for few-shot prompting", - "href": "https://github.com/orgs/langfuse/discussions/3538", - "created_at": "2024-09-30T17:31:18Z", + "number": 4365, + "title": "Not able to see traces", + "href": "https://github.com/orgs/langfuse/discussions/4365", + "created_at": "2024-11-21T16:56:26Z", "upvotes": 1, - "comment_count": 1, - "resolved": false, - "labels": [ - "feat-datasets" - ], + "comment_count": 2, + "resolved": true, + "labels": [], "author": { - "login": "antoniomdk", - "html_url": "https://github.com/antoniomdk" + "login": "uhhfeef", + "html_url": "https://github.com/uhhfeef" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3529, - "title": "Sampling for JS/TS SDKs and integrations", - "href": "https://github.com/orgs/langfuse/discussions/3529", - "created_at": "2024-09-30T05:44:07Z", - "upvotes": 8, - "comment_count": 0, - "resolved": false, - "labels": [ - "feat-sampling" - ], + "number": 4363, + "title": "Langchain with ChatVertexAI: Image/Audio Input Not Displayed in Dashboard with Multi-Modal Traces", + "href": "https://github.com/orgs/langfuse/discussions/4363", + "created_at": "2024-11-21T16:41:35Z", + "upvotes": 1, + "comment_count": 2, + "resolved": true, + "labels": [], "author": { - "login": "marcklingen", - "html_url": "https://github.com/marcklingen" + "login": "pleomax0730", + "html_url": "https://github.com/pleomax0730" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3528, - "title": "Add saved filters config", - "href": "https://github.com/orgs/langfuse/discussions/3528", - "created_at": "2024-09-30T05:36:44Z", + "number": 4361, + "title": "Is downgrade available for self-hosted version?", + "href": "https://github.com/orgs/langfuse/discussions/4361", + "created_at": "2024-11-21T15:52:18Z", "upvotes": 1, "comment_count": 1, - "resolved": false, - "labels": [ - "ui" - ], + "resolved": true, + "labels": [], "author": { - "login": "emaugars12", - "html_url": "https://github.com/emaugars12" + "login": "skabbit", + "html_url": "https://github.com/skabbit" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3527, - "title": "Show prompt-level aggregate metrics on the prompts table", - "href": "https://github.com/orgs/langfuse/discussions/3527", - "created_at": "2024-09-30T00:33:43Z", - "upvotes": 4, - "comment_count": 0, - "resolved": false, + "number": 4359, + "title": "Unexpected error occurred", + "href": "https://github.com/orgs/langfuse/discussions/4359", + "created_at": "2024-11-21T14:21:11Z", + "upvotes": 1, + "comment_count": 1, + "resolved": true, "labels": [ - "feat-prompt-management" + "self-hosting" ], "author": { - "login": "marcklingen", - "html_url": "https://github.com/marcklingen" + "login": "jguokion", + "html_url": "https://github.com/jguokion" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3524, - "title": "Field-level selection for input/output filtering in decorator instead of using update_current_observation/trace", - "href": "https://github.com/orgs/langfuse/discussions/3524", - "created_at": "2024-09-29T08:28:45Z", + "number": 4358, + "title": "Tracing of Async Tasks in Agentic Workflow", + "href": "https://github.com/orgs/langfuse/discussions/4358", + "created_at": "2024-11-21T10:46:31Z", "upvotes": 1, - "comment_count": 4, + "comment_count": 2, "resolved": false, - "labels": [ - "integration-python-decorator" - ], + "labels": [], "author": { - "login": "amir-mic-lin", - "html_url": "https://github.com/amir-mic-lin" + "login": "ashish-vwo", + "html_url": "https://github.com/ashish-vwo" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3508, - "title": "feat: organization level dashboard", - "href": "https://github.com/orgs/langfuse/discussions/3508", - "created_at": "2024-09-27T13:48:13Z", + "number": 4352, + "title": "Send metrics to ELK", + "href": "https://github.com/orgs/langfuse/discussions/4352", + "created_at": "2024-11-21T05:57:10Z", "upvotes": 1, "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "nialldevlin1", - "html_url": "https://github.com/nialldevlin1" + "login": "Kratemis", + "html_url": "https://github.com/Kratemis" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3478, - "title": "TextGrad integration", - "href": "https://github.com/orgs/langfuse/discussions/3478", - "created_at": "2024-09-25T16:13:45Z", + "number": 4331, + "title": "UserIds missing on some traces", + "href": "https://github.com/orgs/langfuse/discussions/4331", + "created_at": "2024-11-20T08:27:01Z", "upvotes": 1, - "comment_count": 1, + "comment_count": 3, "resolved": false, - "labels": [ - "integrations" - ], + "labels": [], "author": { - "login": "sakthi-geek", - "html_url": "https://github.com/sakthi-geek" + "login": "takefy-dev", + "html_url": "https://github.com/takefy-dev" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3476, - "title": "Chart: usage/metrics grouped by tags", - "href": "https://github.com/orgs/langfuse/discussions/3476", - "created_at": "2024-09-25T13:54:14Z", - "upvotes": 2, - "comment_count": 0, + "number": 4330, + "title": "Request for Simplified Custom `trace_id` Implementation in `CallbackHandler` for LangServe", + "href": "https://github.com/orgs/langfuse/discussions/4330", + "created_at": "2024-11-20T07:55:51Z", + "upvotes": 1, + "comment_count": 1, "resolved": false, "labels": [ - "feat-dashboard", - "feat-tags" + "integration-langchain" ], "author": { - "login": "marcklingen", - "html_url": "https://github.com/marcklingen" + "login": "wertycn", + "html_url": "https://github.com/wertycn" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3472, - "title": "Dashboard: add chart for unique users (MAU/WAU/DAU)", - "href": "https://github.com/orgs/langfuse/discussions/3472", - "created_at": "2024-09-25T11:37:30Z", - "upvotes": 2, - "comment_count": 0, - "resolved": false, + "number": 4309, + "title": "Langchain//Langgraph prompt link", + "href": "https://github.com/orgs/langfuse/discussions/4309", + "created_at": "2024-11-19T11:18:16Z", + "upvotes": 1, + "comment_count": 3, + "resolved": true, "labels": [ - "feat-dashboard", - "feat-users" + "feat-prompt-management", + "integration-langchain" ], "author": { - "login": "marcklingen", - "html_url": "https://github.com/marcklingen" + "login": "BuragaIonut", + "html_url": "https://github.com/BuragaIonut" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3447, - "title": "Playground: Move messages / add messages in-between others", - "href": "https://github.com/orgs/langfuse/discussions/3447", - "created_at": "2024-09-23T09:16:23Z", - "upvotes": 2, - "comment_count": 0, - "resolved": false, - "labels": [ - "feat-playground" - ], + "number": 4293, + "title": "slower than expected langfuse_context.update_current_observation operation?", + "href": "https://github.com/orgs/langfuse/discussions/4293", + "created_at": "2024-11-18T17:00:12Z", + "upvotes": 1, + "comment_count": 2, + "resolved": true, + "labels": [], "author": { - "login": "jannikmaierhoefer", - "html_url": "https://github.com/jannikmaierhoefer" + "login": "nikcaryo-super", + "html_url": "https://github.com/nikcaryo-super" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3443, - "title": "Why not extend observeOpenAI to support message-level user id?", - "href": "https://github.com/orgs/langfuse/discussions/3443", - "created_at": "2024-09-21T23:57:57Z", + "number": 4286, + "title": "Langfuse returning a internal server error message sometimes", + "href": "https://github.com/orgs/langfuse/discussions/4286", + "created_at": "2024-11-18T13:37:41Z", "upvotes": 1, - "comment_count": 1, + "comment_count": 2, "resolved": false, "labels": [], "author": { - "login": "derrickstaten", - "html_url": "https://github.com/derrickstaten" + "login": "nithin1995", + "html_url": "https://github.com/nithin1995" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3439, - "title": "Filtering dataset items", - "href": "https://github.com/orgs/langfuse/discussions/3439", - "created_at": "2024-09-21T01:51:33Z", - "upvotes": 3, - "comment_count": 0, - "resolved": false, + "number": 4284, + "title": "Update prompt label programatically", + "href": "https://github.com/orgs/langfuse/discussions/4284", + "created_at": "2024-11-18T13:18:06Z", + "upvotes": 1, + "comment_count": 1, + "resolved": true, "labels": [ - "feat-datasets" + "feat-prompt-management" ], "author": { - "login": "emaugars12", - "html_url": "https://github.com/emaugars12" + "login": "nikitagupta5566", + "html_url": "https://github.com/nikitagupta5566" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3438, - "title": "Support export for Dataset Items", - "href": "https://github.com/orgs/langfuse/discussions/3438", - "created_at": "2024-09-20T22:57:21Z", - "upvotes": 4, - "comment_count": 0, - "resolved": false, - "labels": [ - "feat-datasets" - ], + "number": 4281, + "title": "Preventing Input and Output Capture for GENERATION span in Langfuse", + "href": "https://github.com/orgs/langfuse/discussions/4281", + "created_at": "2024-11-18T11:23:08Z", + "upvotes": 1, + "comment_count": 2, + "resolved": true, + "labels": [], "author": { - "login": "uladkaminski", - "html_url": "https://github.com/uladkaminski" + "login": "ootkin", + "html_url": "https://github.com/ootkin" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3436, - "title": "Prompt label promotion via api/sdk", - "href": "https://github.com/orgs/langfuse/discussions/3436", - "created_at": "2024-09-20T21:32:07Z", - "upvotes": 2, + "number": 4262, + "title": "why setup trace is showing SETUP Tracing Pending always and Trace doesn't show in dashboard", + "href": "https://github.com/orgs/langfuse/discussions/4262", + "created_at": "2024-11-15T23:49:20Z", + "upvotes": 1, "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [], "author": { - "login": "mrdrprofuroboros", - "html_url": "https://github.com/mrdrprofuroboros" + "login": "msgateway", + "html_url": "https://github.com/msgateway" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3431, - "title": "3rd option for \"sharing\" traces publicly", - "href": "https://github.com/orgs/langfuse/discussions/3431", - "created_at": "2024-09-20T16:29:28Z", + "number": 4261, + "title": "Disable tracing for certain calls", + "href": "https://github.com/orgs/langfuse/discussions/4261", + "created_at": "2024-11-15T22:54:27Z", "upvotes": 1, - "comment_count": 0, - "resolved": false, + "comment_count": 1, + "resolved": true, "labels": [], "author": { - "login": "jannikmaierhoefer", - "html_url": "https://github.com/jannikmaierhoefer" + "login": "yliuaaron", + "html_url": "https://github.com/yliuaaron" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3415, - "title": "Only use traces in the dataset to render score columns", - "href": "https://github.com/orgs/langfuse/discussions/3415", - "created_at": "2024-09-19T17:36:44Z", + "number": 4259, + "title": "Custom trace properties in AsyncOpenAI", + "href": "https://github.com/orgs/langfuse/discussions/4259", + "created_at": "2024-11-15T19:50:10Z", "upvotes": 1, - "comment_count": 1, + "comment_count": 2, "resolved": false, - "labels": [ - "feat-datasets" - ], + "labels": [], "author": { - "login": "micahstairs", - "html_url": "https://github.com/micahstairs" + "login": "yliuaaron", + "html_url": "https://github.com/yliuaaron" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3412, - "title": "Source code versioning and automatic statistics caluclation from scores", - "href": "https://github.com/orgs/langfuse/discussions/3412", - "created_at": "2024-09-19T10:44:02Z", + "number": 4231, + "title": "Langfuse overwriting ingested usage for gpt-4o-mini models & incorrect inferred usage for low-detail image data", + "href": "https://github.com/orgs/langfuse/discussions/4231", + "created_at": "2024-11-14T12:29:51Z", "upvotes": 1, - "comment_count": 1, + "comment_count": 2, "resolved": false, "labels": [ - "feat-scores" + "integration-openai", + "feat-cost-tracking" ], "author": { - "login": "ge28yen", - "html_url": "https://github.com/ge28yen" + "login": "LastRemote", + "html_url": "https://github.com/LastRemote" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3409, - "title": "Add graph view for LangGraph traces", - "href": "https://github.com/orgs/langfuse/discussions/3409", - "created_at": "2024-09-19T07:55:02Z", - "upvotes": 5, - "comment_count": 1, - "resolved": false, + "number": 4228, + "title": "Why my langgrpahjs agent can't show token", + "href": "https://github.com/orgs/langfuse/discussions/4228", + "created_at": "2024-11-14T08:46:36Z", + "upvotes": 1, + "comment_count": 2, + "resolved": true, "labels": [ "integration-langchain" ], "author": { - "login": "hassiebp", - "html_url": "https://github.com/hassiebp" + "login": "VittorioYan", + "html_url": "https://github.com/VittorioYan" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3402, - "title": "Mask / redact PII from traces logged to langfuse", - "href": "https://github.com/orgs/langfuse/discussions/3402", - "created_at": "2024-09-18T21:04:06Z", - "upvotes": 6, + "number": 4223, + "title": "How/which environment var do I need to set to get OAuth2.0 authentication flow?", + "href": "https://github.com/orgs/langfuse/discussions/4223", + "created_at": "2024-11-13T19:57:27Z", + "upvotes": 1, "comment_count": 3, "resolved": false, "labels": [ - "✅ Done", - "security" + "self-hosting" ], "author": { - "login": "marcklingen", - "html_url": "https://github.com/marcklingen" + "login": "itay-moav", + "html_url": "https://github.com/itay-moav" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3401, - "title": "Make compile and get_langchain_prompt interoperable when using a prompt from langfuse in langchain", - "href": "https://github.com/orgs/langfuse/discussions/3401", - "created_at": "2024-09-18T21:03:20Z", + "number": 4213, + "title": "Is there a way to keep database connections open longer?", + "href": "https://github.com/orgs/langfuse/discussions/4213", + "created_at": "2024-11-13T13:53:25Z", "upvotes": 1, "comment_count": 2, "resolved": false, "labels": [ - "feat-prompt-management", - "integration-langchain", - "✅ Done" + "self-hosting" ], "author": { - "login": "ajram23", - "html_url": "https://github.com/ajram23" + "login": "tomi-bigpi", + "html_url": "https://github.com/tomi-bigpi" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3396, - "title": "Better mustache/jinja support in langfuse playground", - "href": "https://github.com/orgs/langfuse/discussions/3396", - "created_at": "2024-09-18T11:54:28Z", - "upvotes": 3, + "number": 4205, + "title": "Tokenizer config for Qwen 2.5 models", + "href": "https://github.com/orgs/langfuse/discussions/4205", + "created_at": "2024-11-13T08:05:03Z", + "upvotes": 1, "comment_count": 2, "resolved": false, - "labels": [ - "feat-playground" - ], - "author": { - "login": "FlorDonnaSanders", - "html_url": "https://github.com/FlorDonnaSanders" - }, - "category": "Ideas" - }, - { - "number": 3395, - "title": "Add fine-grained filtering options in python `fetch_traces` API to match web UI", - "href": "https://github.com/orgs/langfuse/discussions/3395", - "created_at": "2024-09-18T11:18:20Z", - "upvotes": 2, - "comment_count": 0, - "resolved": false, "labels": [], "author": { - "login": "evangriffiths", - "html_url": "https://github.com/evangriffiths" + "login": "mediumsizeworkingdog", + "html_url": "https://github.com/mediumsizeworkingdog" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3376, - "title": "Allow LangchainCallbackHandler to specify custom input/output?", - "href": "https://github.com/orgs/langfuse/discussions/3376", - "created_at": "2024-09-16T23:45:18Z", + "number": 4197, + "title": "[Generations]: Support n parameter", + "href": "https://github.com/orgs/langfuse/discussions/4197", + "created_at": "2024-11-12T18:58:32Z", "upvotes": 1, "comment_count": 1, "resolved": false, "labels": [ - "integration-langchain" + "integration-openai" ], "author": { - "login": "xxkennyxu", - "html_url": "https://github.com/xxkennyxu" + "login": "ngamolsky", + "html_url": "https://github.com/ngamolsky" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3375, - "title": "Promptfoo integration", - "href": "https://github.com/orgs/langfuse/discussions/3375", - "created_at": "2024-09-16T23:34:34Z", - "upvotes": 2, - "comment_count": 1, - "resolved": false, + "number": 4179, + "title": "Is there a way to get process to exit on DB connection errors when rotating database passwords?", + "href": "https://github.com/orgs/langfuse/discussions/4179", + "created_at": "2024-11-11T21:55:56Z", + "upvotes": 1, + "comment_count": 3, + "resolved": true, "labels": [ - "integrations" + "self-hosting" ], "author": { - "login": "aiseei", - "html_url": "https://github.com/aiseei" + "login": "tomi-bigpi", + "html_url": "https://github.com/tomi-bigpi" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3367, - "title": "Default closed dropdown view in trace details", - "href": "https://github.com/orgs/langfuse/discussions/3367", - "created_at": "2024-09-16T12:47:26Z", - "upvotes": 2, + "number": 4178, + "title": "How to update a score?", + "href": "https://github.com/orgs/langfuse/discussions/4178", + "created_at": "2024-11-11T21:48:51Z", + "upvotes": 1, "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [ - "ui" + "feat-scores" ], "author": { - "login": "jannikmaierhoefer", - "html_url": "https://github.com/jannikmaierhoefer" + "login": "leichx", + "html_url": "https://github.com/leichx" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3363, - "title": "Dashboard: TPM chart", - "href": "https://github.com/orgs/langfuse/discussions/3363", - "created_at": "2024-09-16T07:53:52Z", - "upvotes": 2, - "comment_count": 1, - "resolved": false, + "number": 4172, + "title": "TypeError: LangfuseTracer.trace() got an unexpected keyword argument 'parent_span'", + "href": "https://github.com/orgs/langfuse/discussions/4172", + "created_at": "2024-11-11T13:31:14Z", + "upvotes": 1, + "comment_count": 2, + "resolved": true, "labels": [ - "feat-dashboard" + "integration-haystack" ], "author": { - "login": "afonsomatos", - "html_url": "https://github.com/afonsomatos" + "login": "schwasa", + "html_url": "https://github.com/schwasa" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3361, - "title": "Group Similar or Consecutive Traces", - "href": "https://github.com/orgs/langfuse/discussions/3361", - "created_at": "2024-09-16T05:38:40Z", + "number": 4169, + "title": "Tenant based prompt management ?", + "href": "https://github.com/orgs/langfuse/discussions/4169", + "created_at": "2024-11-11T11:22:21Z", "upvotes": 1, - "comment_count": 1, - "resolved": false, - "labels": [], + "comment_count": 2, + "resolved": true, + "labels": [ + "feat-prompt-management" + ], "author": { - "login": "rvndbalaji", - "html_url": "https://github.com/rvndbalaji" + "login": "PreetamGKatakali", + "html_url": "https://github.com/PreetamGKatakali" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3358, - "title": "More customization in graphs and dashboard panels", - "href": "https://github.com/orgs/langfuse/discussions/3358", - "created_at": "2024-09-14T03:12:38Z", + "number": 4134, + "title": "LangGraph traces cause self-hosted instance to hang", + "href": "https://github.com/orgs/langfuse/discussions/4134", + "created_at": "2024-11-08T22:54:34Z", "upvotes": 1, - "comment_count": 1, + "comment_count": 2, "resolved": false, "labels": [ - "feat-dashboard" + "integration-langchain" ], "author": { - "login": "emaugars12", - "html_url": "https://github.com/emaugars12" + "login": "rishimo", + "html_url": "https://github.com/rishimo" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3352, - "title": "LLM Based Evaluation - more control with mapping a variable e.g. {{query}}, {{ground_truth}} etc inside of Input/Output/Metadata observation", - "href": "https://github.com/orgs/langfuse/discussions/3352", - "created_at": "2024-09-13T16:58:05Z", - "upvotes": 2, - "comment_count": 1, - "resolved": false, + "number": 4123, + "title": "Block strangers from signing in to your app", + "href": "https://github.com/orgs/langfuse/discussions/4123", + "created_at": "2024-11-08T10:14:08Z", + "upvotes": 1, + "comment_count": 2, + "resolved": true, "labels": [], "author": { - "login": "stepanogil", - "html_url": "https://github.com/stepanogil" + "login": "shner-elmo", + "html_url": "https://github.com/shner-elmo" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3351, - "title": "Support for Firebase Genkit", - "href": "https://github.com/orgs/langfuse/discussions/3351", - "created_at": "2024-09-13T16:29:07Z", + "number": 4119, + "title": "Can we use Langfuse without any Authentication enabled?", + "href": "https://github.com/orgs/langfuse/discussions/4119", + "created_at": "2024-11-08T08:32:30Z", "upvotes": 1, "comment_count": 1, - "resolved": false, - "labels": [ - "integrations" - ], + "resolved": true, + "labels": [], "author": { - "login": "debkanchan", - "html_url": "https://github.com/debkanchan" + "login": "SudhaGarimella", + "html_url": "https://github.com/SudhaGarimella" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3338, - "title": "o1-preview and o1-mini support", - "href": "https://github.com/orgs/langfuse/discussions/3338", - "created_at": "2024-09-13T07:16:22Z", - "upvotes": 2, - "comment_count": 3, - "resolved": false, + "number": 4118, + "title": "Can I evaluate Span using the External Evaluation Pipeline?", + "href": "https://github.com/orgs/langfuse/discussions/4118", + "created_at": "2024-11-08T08:04:55Z", + "upvotes": 1, + "comment_count": 1, + "resolved": true, "labels": [ - "✅ Done" + "feat-evals" ], "author": { - "login": "juan-abia", - "html_url": "https://github.com/juan-abia" + "login": "ygt1qa8", + "html_url": "https://github.com/ygt1qa8" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3336, - "title": "Add Notification for / in Comments Objects", - "href": "https://github.com/orgs/langfuse/discussions/3336", - "created_at": "2024-09-13T00:04:16Z", + "number": 4117, + "title": "ERROR - An error occurred: 'function' object is not subscriptable", + "href": "https://github.com/orgs/langfuse/discussions/4117", + "created_at": "2024-11-08T04:51:09Z", "upvotes": 1, "comment_count": 1, "resolved": false, - "labels": [ - "feat-comments" - ], + "labels": [], "author": { - "login": "Zugunruhekami", - "html_url": "https://github.com/Zugunruhekami" + "login": "MazarSayed", + "html_url": "https://github.com/MazarSayed" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3335, - "title": "Extend Searchability (through filter) for Comments Objects", - "href": "https://github.com/orgs/langfuse/discussions/3335", - "created_at": "2024-09-12T23:58:17Z", + "number": 4116, + "title": "How can I implement a knowledge base and multi-turn file dialogue with pip deployment?! How does this “history” work?", + "href": "https://github.com/orgs/langfuse/discussions/4116", + "created_at": "2024-11-08T03:05:40Z", "upvotes": 1, - "comment_count": 0, - "resolved": false, - "labels": [ - "feat-comments" - ], + "comment_count": 2, + "resolved": true, + "labels": [], "author": { - "login": "Zugunruhekami", - "html_url": "https://github.com/Zugunruhekami" + "login": "SKKKKYLAR", + "html_url": "https://github.com/SKKKKYLAR" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3291, - "title": "Filter by error in sub span", - "href": "https://github.com/orgs/langfuse/discussions/3291", - "created_at": "2024-09-10T13:20:11Z", - "upvotes": 2, - "comment_count": 3, - "resolved": false, + "number": 4115, + "title": "Configure LangFuse Project within CallbackHandler", + "href": "https://github.com/orgs/langfuse/discussions/4115", + "created_at": "2024-11-07T23:19:13Z", + "upvotes": 1, + "comment_count": 2, + "resolved": true, "labels": [ - "✅ Done", - "feat-log-levels" + "integration-langchain" ], "author": { - "login": "bettlebrox", - "html_url": "https://github.com/bettlebrox" + "login": "krlng", + "html_url": "https://github.com/krlng" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3289, - "title": "Deleting old, unused tags or making them unseen if weren't used in the chosen time window.", - "href": "https://github.com/orgs/langfuse/discussions/3289", - "created_at": "2024-09-10T12:56:43Z", + "number": 4091, + "title": "Openwebui and langfuse", + "href": "https://github.com/orgs/langfuse/discussions/4091", + "created_at": "2024-11-06T22:21:43Z", "upvotes": 1, "comment_count": 1, - "resolved": false, - "labels": [ - "feat-tags" - ], + "resolved": true, + "labels": [], "author": { - "login": "constalozinschi", - "html_url": "https://github.com/constalozinschi" + "login": "flefevre", + "html_url": "https://github.com/flefevre" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3285, - "title": "SDK-JS: Allow to delete one or more trace", - "href": "https://github.com/orgs/langfuse/discussions/3285", - "created_at": "2024-09-10T09:26:04Z", - "upvotes": 5, - "comment_count": 2, - "resolved": false, - "labels": [ - "sdk-js" - ], + "number": 4090, + "title": "Configuring logging", + "href": "https://github.com/orgs/langfuse/discussions/4090", + "created_at": "2024-11-06T21:39:03Z", + "upvotes": 1, + "comment_count": 5, + "resolved": true, + "labels": [], "author": { - "login": "Lunik", - "html_url": "https://github.com/Lunik" + "login": "pcoccoli", + "html_url": "https://github.com/pcoccoli" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3276, - "title": "Retrieve the trace by metdata", - "href": "https://github.com/orgs/langfuse/discussions/3276", - "created_at": "2024-09-09T20:51:08Z", - "upvotes": 3, - "comment_count": 0, + "number": 4080, + "title": "Langfuse User Management with Custom Oauth", + "href": "https://github.com/orgs/langfuse/discussions/4080", + "created_at": "2024-11-06T14:21:39Z", + "upvotes": 1, + "comment_count": 3, "resolved": false, "labels": [ - "feat-metadata" + "feat-auth", + "self-hosting" ], "author": { - "login": "gingerjx", - "html_url": "https://github.com/gingerjx" + "login": "bziolkowski", + "html_url": "https://github.com/bziolkowski" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3275, - "title": "Include metrics and scores in getDatasetRun / `GET /api/public/datasets/{datasetName}/runs/{runName}`", - "href": "https://github.com/orgs/langfuse/discussions/3275", - "created_at": "2024-09-09T20:48:16Z", - "upvotes": 3, - "comment_count": 0, - "resolved": false, + "number": 4079, + "title": "How to prevent strangers from creating an account on your app", + "href": "https://github.com/orgs/langfuse/discussions/4079", + "created_at": "2024-11-06T14:17:46Z", + "upvotes": 1, + "comment_count": 1, + "resolved": true, "labels": [ - "feat-datasets" + "self-hosting" ], "author": { - "login": "gingerjx", - "html_url": "https://github.com/gingerjx" + "login": "shner-elmo", + "html_url": "https://github.com/shner-elmo" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3273, - "title": "Custom Themes", - "href": "https://github.com/orgs/langfuse/discussions/3273", - "created_at": "2024-09-09T15:08:25Z", + "number": 4075, + "title": "Does it make sense to use multiple api-keys", + "href": "https://github.com/orgs/langfuse/discussions/4075", + "created_at": "2024-11-06T11:22:45Z", "upvotes": 1, - "comment_count": 1, - "resolved": false, + "comment_count": 2, + "resolved": true, "labels": [], "author": { - "login": "rvndbalaji", - "html_url": "https://github.com/rvndbalaji" + "login": "shner-elmo", + "html_url": "https://github.com/shner-elmo" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3263, - "title": "Comment API", - "href": "https://github.com/orgs/langfuse/discussions/3263", - "created_at": "2024-09-07T05:53:31Z", + "number": 4071, + "title": "Authentication not working?", + "href": "https://github.com/orgs/langfuse/discussions/4071", + "created_at": "2024-11-06T01:00:12Z", "upvotes": 1, - "comment_count": 1, - "resolved": false, - "labels": [ - "feat-api", - "feat-datasets" - ], + "comment_count": 2, + "resolved": true, + "labels": [], "author": { - "login": "darvin", - "html_url": "https://github.com/darvin" + "login": "shner-elmo", + "html_url": "https://github.com/shner-elmo" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3256, - "title": "Integration with LangChain4j", - "href": "https://github.com/orgs/langfuse/discussions/3256", - "created_at": "2024-09-06T15:50:51Z", - "upvotes": 2, - "comment_count": 2, + "number": 4056, + "title": "Langfuse deployment issue on k8", + "href": "https://github.com/orgs/langfuse/discussions/4056", + "created_at": "2024-11-05T11:54:57Z", + "upvotes": 1, + "comment_count": 4, "resolved": false, "labels": [ - "integrations", - "feat-prompt-management", - "integration-langchain" + "self-hosting" ], "author": { - "login": "ruizrube", - "html_url": "https://github.com/ruizrube" + "login": "hrone-dev-satyammishra", + "html_url": "https://github.com/hrone-dev-satyammishra" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3252, - "title": "Need to retain the old evaluation history results, including input and all ground truth", - "href": "https://github.com/orgs/langfuse/discussions/3252", - "created_at": "2024-09-06T03:29:17Z", + "number": 4046, + "title": "Should the Langfuse classs initialization be cached (does it do any I/O on init?) ?", + "href": "https://github.com/orgs/langfuse/discussions/4046", + "created_at": "2024-11-04T16:44:27Z", "upvotes": 1, "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [ - "feat-datasets" + "integration-langchain" ], "author": { - "login": "serlina", - "html_url": "https://github.com/serlina" + "login": "shner-elmo", + "html_url": "https://github.com/shner-elmo" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3243, - "title": "Add organization / project / user / API key management API", - "href": "https://github.com/orgs/langfuse/discussions/3243", - "created_at": "2024-09-05T08:10:12Z", - "upvotes": 9, - "comment_count": 5, - "resolved": false, - "labels": [ - "self-hosting" - ], + "number": 4043, + "title": "\"Custom\" traces not creating when Next.js Vercel instrumentation is on.", + "href": "https://github.com/orgs/langfuse/discussions/4043", + "created_at": "2024-11-04T14:07:46Z", + "upvotes": 1, + "comment_count": 2, + "resolved": true, + "labels": [], "author": { - "login": "EricAntidot", - "html_url": "https://github.com/EricAntidot" + "login": "rovnyart", + "html_url": "https://github.com/rovnyart" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3240, - "title": "Ability to export all traces/sessions/scores from langfuse and import back to another langfuse instance", - "href": "https://github.com/orgs/langfuse/discussions/3240", - "created_at": "2024-09-05T07:11:48Z", - "upvotes": 5, - "comment_count": 1, - "resolved": false, - "labels": [ - "self-hosting" - ], + "number": 4041, + "title": "When running in relatively high amount of concurrent requests we start getting: \"API error occurred: Service unavailable.\" from Langfuse server", + "href": "https://github.com/orgs/langfuse/discussions/4041", + "created_at": "2024-11-04T13:55:19Z", + "upvotes": 1, + "comment_count": 2, + "resolved": true, + "labels": [], "author": { - "login": "SinghCoder", - "html_url": "https://github.com/SinghCoder" + "login": "sternr", + "html_url": "https://github.com/sternr" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3237, - "title": "Support for Selecting Specific Paths from JSON Objects in Evaluation Prompts", - "href": "https://github.com/orgs/langfuse/discussions/3237", - "created_at": "2024-09-05T05:05:48Z", - "upvotes": 2, + "number": 4038, + "title": "SSL: CERTIFICATE_VERIFY_FAILED error when access the self hosted langfuse from the code", + "href": "https://github.com/orgs/langfuse/discussions/4038", + "created_at": "2024-11-04T13:14:05Z", + "upvotes": 1, "comment_count": 2, - "resolved": false, - "labels": [ - "feat-evals" - ], + "resolved": true, + "labels": [], "author": { - "login": "divyanshubhuta", - "html_url": "https://github.com/divyanshubhuta" + "login": "SugumarRavichandran", + "html_url": "https://github.com/SugumarRavichandran" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3220, - "title": "Trace Logprobs from OpenAI models", - "href": "https://github.com/orgs/langfuse/discussions/3220", - "created_at": "2024-09-04T01:25:15Z", - "upvotes": 2, - "comment_count": 0, + "number": 4026, + "title": "Blob is not defined for Node 16", + "href": "https://github.com/orgs/langfuse/discussions/4026", + "created_at": "2024-11-04T04:58:15Z", + "upvotes": 1, + "comment_count": 2, "resolved": false, - "labels": [ - "integration-openai" - ], + "labels": [], "author": { - "login": "yusuke-intern", - "html_url": "https://github.com/yusuke-intern" + "login": "jamesyu", + "html_url": "https://github.com/jamesyu" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3215, - "title": "(ui) Ability to hide \"scores\" column", - "href": "https://github.com/orgs/langfuse/discussions/3215", - "created_at": "2024-09-03T15:34:14Z", - "upvotes": 2, + "number": 4001, + "title": "Cloudron packaging issue with Prisma client", + "href": "https://github.com/orgs/langfuse/discussions/4001", + "created_at": "2024-11-01T14:21:59Z", + "upvotes": 1, "comment_count": 2, - "resolved": false, + "resolved": true, "labels": [], "author": { - "login": "marctorsoc", - "html_url": "https://github.com/marctorsoc" + "login": "Lanhild", + "html_url": "https://github.com/Lanhild" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3212, - "title": "Dataset run description and metadata should not be fixed on the page", - "href": "https://github.com/orgs/langfuse/discussions/3212", - "created_at": "2024-09-03T12:30:34Z", + "number": 3996, + "title": "Can you use the app without OAuth?", + "href": "https://github.com/orgs/langfuse/discussions/3996", + "created_at": "2024-11-01T03:36:33Z", "upvotes": 1, "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [ - "feat-datasets" + "feat-auth", + "self-hosting" ], "author": { - "login": "justinas-kazanavicius", - "html_url": "https://github.com/justinas-kazanavicius" + "login": "shner-elmo", + "html_url": "https://github.com/shner-elmo" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3208, - "title": "Support for exporting traces to CSV/JSON", - "href": "https://github.com/orgs/langfuse/discussions/3208", - "created_at": "2024-09-03T08:00:36Z", - "upvotes": 4, + "number": 3985, + "title": "Pending Badge Stuck on Setup Tracing Step", + "href": "https://github.com/orgs/langfuse/discussions/3985", + "created_at": "2024-10-31T15:51:08Z", + "upvotes": 1, "comment_count": 2, - "resolved": false, - "labels": [ - "✅ Done" - ], + "resolved": true, + "labels": [], "author": { - "login": "david1542", - "html_url": "https://github.com/david1542" + "login": "c0pper", + "html_url": "https://github.com/c0pper" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3194, - "title": "Optionally set timestamp when creating a score", - "href": "https://github.com/orgs/langfuse/discussions/3194", - "created_at": "2024-09-02T15:20:20Z", + "number": 3977, + "title": "getPromptStateless received 403 error when using `LangfuseWeb` SDK", + "href": "https://github.com/orgs/langfuse/discussions/3977", + "created_at": "2024-10-31T01:45:19Z", "upvotes": 1, "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [ - "feat-api", - "feat-scores" + "feat-prompt-management" ], "author": { - "login": "FlorDonnaSanders", - "html_url": "https://github.com/FlorDonnaSanders" + "login": "huangbaitu123", + "html_url": "https://github.com/huangbaitu123" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3186, - "title": "Setting trace ID and parent observation ID with Python decorator SDK", - "href": "https://github.com/orgs/langfuse/discussions/3186", - "created_at": "2024-09-02T09:27:36Z", + "number": 3976, + "title": "Missing scores after pushing scores to Langfuse", + "href": "https://github.com/orgs/langfuse/discussions/3976", + "created_at": "2024-10-31T00:02:59Z", "upvotes": 1, "comment_count": 3, - "resolved": false, - "labels": [ - "✅ Done", - "integration-python-decorator" - ], - "author": { - "login": "MrOrz", - "html_url": "https://github.com/MrOrz" - }, - "category": "Ideas" - }, - { - "number": 3181, - "title": "Log only metadata", - "href": "https://github.com/orgs/langfuse/discussions/3181", - "created_at": "2024-08-31T18:31:11Z", - "upvotes": 2, - "comment_count": 0, - "resolved": false, + "resolved": true, "labels": [], "author": { - "login": "jan-kubica", - "html_url": "https://github.com/jan-kubica" + "login": "laisalvescw", + "html_url": "https://github.com/laisalvescw" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3178, - "title": "The display time on the x-axis of the chart in the Dashboard shows only the date, without hours, minutes, and seconds.", - "href": "https://github.com/orgs/langfuse/discussions/3178", - "created_at": "2024-08-31T04:09:07Z", + "number": 3972, + "title": "For which kinds of data is `ENCRYPTION_KEY` used?", + "href": "https://github.com/orgs/langfuse/discussions/3972", + "created_at": "2024-10-30T18:21:25Z", "upvotes": 1, "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [ - "bug", - "✅ Done", - "feat-dashboard" + "self-hosting" ], "author": { - "login": "HGladiator", - "html_url": "https://github.com/HGladiator" + "login": "felix-sanchez-unmind", + "html_url": "https://github.com/felix-sanchez-unmind" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3166, - "title": "Support Tool Calls / Functions in Playground", - "href": "https://github.com/orgs/langfuse/discussions/3166", - "created_at": "2024-08-30T20:04:34Z", - "upvotes": 14, - "comment_count": 10, - "resolved": false, + "number": 3965, + "title": "How to set environment variables for custom oauth2.0 sso?", + "href": "https://github.com/orgs/langfuse/discussions/3965", + "created_at": "2024-10-30T06:27:15Z", + "upvotes": 1, + "comment_count": 1, + "resolved": true, "labels": [ - "feat-playground" + "feat-auth", + "self-hosting" ], "author": { - "login": "yuyuma", - "html_url": "https://github.com/yuyuma" - }, - "category": "Ideas" - }, - { - "number": 3147, - "title": "Add the ability to search by message words in traces and scores", - "href": "https://github.com/orgs/langfuse/discussions/3147", - "created_at": "2024-08-30T08:02:32Z", - "upvotes": 4, - "comment_count": 0, - "resolved": false, - "labels": [], - "author": { - "login": "ValentinKovalev", - "html_url": "https://github.com/ValentinKovalev" + "login": "IeohMingChan", + "html_url": "https://github.com/IeohMingChan" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3131, - "title": "Diff of prompt versions", - "href": "https://github.com/orgs/langfuse/discussions/3131", - "created_at": "2024-08-29T11:43:24Z", - "upvotes": 6, + "number": 3957, + "title": "Langfuse.create_prompt() got an unexpected keyword argument 'version'", + "href": "https://github.com/orgs/langfuse/discussions/3957", + "created_at": "2024-10-29T13:21:51Z", + "upvotes": 1, "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [ "feat-prompt-management" ], "author": { - "login": "dylanjcastillo", - "html_url": "https://github.com/dylanjcastillo" + "login": "silenceliang", + "html_url": "https://github.com/silenceliang" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3129, - "title": "The LangchainCallbackHandler supports statistical delay of the first token", - "href": "https://github.com/orgs/langfuse/discussions/3129", - "created_at": "2024-08-29T09:26:11Z", - "upvotes": 3, + "number": 3949, + "title": "Is there a way to clear trace data in batch?", + "href": "https://github.com/orgs/langfuse/discussions/3949", + "created_at": "2024-10-29T06:10:26Z", + "upvotes": 1, "comment_count": 2, - "resolved": false, - "labels": [ - "integration-langchain", - "✅ Done" - ], - "author": { - "login": "Hacky-DH", - "html_url": "https://github.com/Hacky-DH" - }, - "category": "Ideas" - }, - { - "number": 3112, - "title": "Request Role elevation from Langfuse UI", - "href": "https://github.com/orgs/langfuse/discussions/3112", - "created_at": "2024-08-28T13:15:21Z", - "upvotes": 1, - "comment_count": 0, - "resolved": false, + "resolved": true, "labels": [ - "feat-rbac" + "self-hosting" ], "author": { - "login": "thund3rbrd", - "html_url": "https://github.com/thund3rbrd" + "login": "renwei-work", + "html_url": "https://github.com/renwei-work" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3111, - "title": "Improve RBAC", - "href": "https://github.com/orgs/langfuse/discussions/3111", - "created_at": "2024-08-28T13:08:57Z", + "number": 3943, + "title": "Improvements of Langfuse-Haystack integration", + "href": "https://github.com/orgs/langfuse/discussions/3943", + "created_at": "2024-10-28T14:49:51Z", "upvotes": 1, - "comment_count": 0, - "resolved": false, + "comment_count": 2, + "resolved": true, "labels": [ - "feat-rbac" + "integration-haystack" ], "author": { - "login": "thund3rbrd", - "html_url": "https://github.com/thund3rbrd" + "login": "alex-stoica", + "html_url": "https://github.com/alex-stoica" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3074, - "title": "Add \"image_url\" to Langfuse Prompt types.", - "href": "https://github.com/orgs/langfuse/discussions/3074", - "created_at": "2024-08-26T11:54:32Z", + "number": 3924, + "title": "Postgres version mismatch when upgrading langfuse locally", + "href": "https://github.com/orgs/langfuse/discussions/3924", + "created_at": "2024-10-25T18:30:14Z", "upvotes": 2, "comment_count": 1, - "resolved": false, - "labels": [ - "feat-prompt-management" - ], + "resolved": true, + "labels": [], "author": { - "login": "grobruegge", - "html_url": "https://github.com/grobruegge" + "login": "nikcaryo-super", + "html_url": "https://github.com/nikcaryo-super" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3062, - "title": "Support for OpenAI.client.chat.completions.with_raw_response", - "href": "https://github.com/orgs/langfuse/discussions/3062", - "created_at": "2024-08-24T12:55:39Z", + "number": 3920, + "title": "Rate limit exceed using Langfuse Python SDK", + "href": "https://github.com/orgs/langfuse/discussions/3920", + "created_at": "2024-10-25T14:45:56Z", "upvotes": 1, "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [ - "integration-openai" + "feat-api" ], "author": { - "login": "aman-gupta-doc", - "html_url": "https://github.com/aman-gupta-doc" + "login": "laisalvescw", + "html_url": "https://github.com/laisalvescw" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3053, - "title": "Being able to link Prompts with Traces when using the LangChain integration", - "href": "https://github.com/orgs/langfuse/discussions/3053", - "created_at": "2024-08-23T13:14:21Z", + "number": 3910, + "title": "If I use Anthropic Claude component in Langflow, the trace data in Langfuse is all null", + "href": "https://github.com/orgs/langfuse/discussions/3910", + "created_at": "2024-10-25T06:50:02Z", "upvotes": 2, "comment_count": 2, - "resolved": false, - "labels": [ - "✅ Done" - ], + "resolved": true, + "labels": [], "author": { - "login": "jonnyforsterMSG", - "html_url": "https://github.com/jonnyforsterMSG" + "login": "b8heng", + "html_url": "https://github.com/b8heng" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3050, - "title": "Implement dataset removal method", - "href": "https://github.com/orgs/langfuse/discussions/3050", - "created_at": "2024-08-23T11:40:13Z", - "upvotes": 4, - "comment_count": 0, - "resolved": false, + "number": 3905, + "title": "Allow injection of generation context into evaluation prompt", + "href": "https://github.com/orgs/langfuse/discussions/3905", + "created_at": "2024-10-24T20:39:46Z", + "upvotes": 1, + "comment_count": 1, + "resolved": true, "labels": [ - "feat-datasets" + "feat-evals" ], "author": { - "login": "justinas-kazanavicius", - "html_url": "https://github.com/justinas-kazanavicius" + "login": "dveyarangi", + "html_url": "https://github.com/dveyarangi" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3023, - "title": "Track openai token usage from stream_options instead of tokenizing the response server-side", - "href": "https://github.com/orgs/langfuse/discussions/3023", - "created_at": "2024-08-22T17:08:08Z", - "upvotes": 3, - "comment_count": 3, - "resolved": false, + "number": 3902, + "title": "How to fetch the output and input tokens of a trace via API?", + "href": "https://github.com/orgs/langfuse/discussions/3902", + "created_at": "2024-10-24T16:16:56Z", + "upvotes": 0, + "comment_count": 1, + "resolved": true, "labels": [ - "integration-openai", - "✅ Done", + "feat-api", "feat-cost-tracking" ], "author": { - "login": "kilimchoi", - "html_url": "https://github.com/kilimchoi" + "login": "fdb02983rhy", + "html_url": "https://github.com/fdb02983rhy" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3021, - "title": "Pre-defined user access", - "href": "https://github.com/orgs/langfuse/discussions/3021", - "created_at": "2024-08-22T16:08:19Z", + "number": 3900, + "title": "Sometimes traces lack metadata completely", + "href": "https://github.com/orgs/langfuse/discussions/3900", + "created_at": "2024-10-24T15:06:32Z", "upvotes": 1, - "comment_count": 0, - "resolved": false, - "labels": [ - "self-hosting" - ], + "comment_count": 4, + "resolved": true, + "labels": [], "author": { - "login": "LucasMagnum", - "html_url": "https://github.com/LucasMagnum" + "login": "RichardSieg", + "html_url": "https://github.com/RichardSieg" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3014, - "title": "Supports filter string using regular expression matching", - "href": "https://github.com/orgs/langfuse/discussions/3014", - "created_at": "2024-08-22T14:39:34Z", + "number": 3890, + "title": "how to add invoked langchain tool names as tags or as metadata", + "href": "https://github.com/orgs/langfuse/discussions/3890", + "created_at": "2024-10-24T00:39:02Z", "upvotes": 1, "comment_count": 1, "resolved": false, - "labels": [], + "labels": [ + "integration-langchain" + ], "author": { - "login": "chai3", - "html_url": "https://github.com/chai3" + "login": "Wrashionis", + "html_url": "https://github.com/Wrashionis" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3004, - "title": "Support for more modalities and base64 content", - "href": "https://github.com/orgs/langfuse/discussions/3004", - "created_at": "2024-08-22T09:50:47Z", - "upvotes": 45, - "comment_count": 17, + "number": 3886, + "title": "Azure AD auth: OAUTH_PARSE_PROFILE_ERROR", + "href": "https://github.com/orgs/langfuse/discussions/3886", + "created_at": "2024-10-23T19:40:57Z", + "upvotes": 1, + "comment_count": 2, "resolved": false, - "labels": [ - "✅ Done", - "feat-multimodal" - ], + "labels": [], "author": { - "login": "marliessophie", - "html_url": "https://github.com/marliessophie" + "login": "kryvokhyzha", + "html_url": "https://github.com/kryvokhyzha" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2997, - "title": "Filter Span events in dashboard", - "href": "https://github.com/orgs/langfuse/discussions/2997", - "created_at": "2024-08-21T16:25:02Z", - "upvotes": 2, - "comment_count": 0, + "number": 3884, + "title": "I cant quite tell if i'm doing the parent span correctly. The trace is appearing but not associated to the Session", + "href": "https://github.com/orgs/langfuse/discussions/3884", + "created_at": "2024-10-23T16:12:44Z", + "upvotes": 1, + "comment_count": 2, "resolved": false, "labels": [], "author": { - "login": "tagaretiro", - "html_url": "https://github.com/tagaretiro" + "login": "PandelisZ", + "html_url": "https://github.com/PandelisZ" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2987, - "title": "Claude/openai/google prompt caching", - "href": "https://github.com/orgs/langfuse/discussions/2987", - "created_at": "2024-08-21T04:18:55Z", - "upvotes": 5, - "comment_count": 4, + "number": 3879, + "title": "No token information in observation of LLM run", + "href": "https://github.com/orgs/langfuse/discussions/3879", + "created_at": "2024-10-23T13:07:43Z", + "upvotes": 1, + "comment_count": 2, "resolved": false, "labels": [ "feat-cost-tracking" ], "author": { - "login": "mrdrprofuroboros", - "html_url": "https://github.com/mrdrprofuroboros" + "login": "noInterestIfPaidInFull", + "html_url": "https://github.com/noInterestIfPaidInFull" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2978, - "title": "Unexpected event format when using `ibm-watsonx-ai` with LangChain extension", - "href": "https://github.com/orgs/langfuse/discussions/2978", - "created_at": "2024-08-20T11:20:28Z", - "upvotes": 1, - "comment_count": 0, + "number": 3877, + "title": "Self host Langfuse not working - column `t6.cloud_config` does not exist", + "href": "https://github.com/orgs/langfuse/discussions/3877", + "created_at": "2024-10-23T11:54:13Z", + "upvotes": 1, + "comment_count": 4, "resolved": false, "labels": [ - "integration-langchain" + "self-hosting" ], "author": { - "login": "barvhaim", - "html_url": "https://github.com/barvhaim" + "login": "SugumarRavichandran", + "html_url": "https://github.com/SugumarRavichandran" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2975, - "title": "fetch all users via sdk/api", - "href": "https://github.com/orgs/langfuse/discussions/2975", - "created_at": "2024-08-20T06:52:47Z", + "number": 3868, + "title": "Langfuse Tracing not showing up on UI", + "href": "https://github.com/orgs/langfuse/discussions/3868", + "created_at": "2024-10-22T21:26:13Z", "upvotes": 1, - "comment_count": 3, - "resolved": false, - "labels": [ - "feat-users" - ], + "comment_count": 2, + "resolved": true, + "labels": [], "author": { - "login": "vincent-larisma", - "html_url": "https://github.com/vincent-larisma" + "login": "nthanapaisal", + "html_url": "https://github.com/nthanapaisal" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2967, - "title": "Tag based usage", - "href": "https://github.com/orgs/langfuse/discussions/2967", - "created_at": "2024-08-19T07:13:26Z", + "number": 3863, + "title": "Request Timeout for Dashboard", + "href": "https://github.com/orgs/langfuse/discussions/3863", + "created_at": "2024-10-22T14:18:43Z", "upvotes": 1, - "comment_count": 1, - "resolved": false, + "comment_count": 2, + "resolved": true, "labels": [ - "feat-dashboard", - "feat-tags" + "self-hosting" ], "author": { - "login": "aakash-vwo", - "html_url": "https://github.com/aakash-vwo" + "login": "mritonia", + "html_url": "https://github.com/mritonia" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2949, - "title": "Auto-patching Langchain to include Langfuse callback handler", - "href": "https://github.com/orgs/langfuse/discussions/2949", - "created_at": "2024-08-15T12:17:32Z", - "upvotes": 3, - "comment_count": 1, - "resolved": false, + "number": 3858, + "title": "Monitoring self-hosted langfuse.", + "href": "https://github.com/orgs/langfuse/discussions/3858", + "created_at": "2024-10-22T07:04:26Z", + "upvotes": 1, + "comment_count": 2, + "resolved": true, "labels": [ - "integration-langchain" + "self-hosting" ], "author": { - "login": "kongzii", - "html_url": "https://github.com/kongzii" + "login": "SinghCoder", + "html_url": "https://github.com/SinghCoder" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2923, - "title": "Feature: Add CAS (and maybe SAML) as a authentication method", - "href": "https://github.com/orgs/langfuse/discussions/2923", - "created_at": "2024-08-13T17:18:42Z", - "upvotes": 2, - "comment_count": 1, - "resolved": false, + "number": 3854, + "title": "Open AI Python SDK - 'OpenAI' object has no attribute 'langfuse_auth_check'", + "href": "https://github.com/orgs/langfuse/discussions/3854", + "created_at": "2024-10-21T21:41:17Z", + "upvotes": 1, + "comment_count": 4, + "resolved": true, "labels": [ - "self-hosting" + "integration-openai" ], "author": { - "login": "jayteaftw", - "html_url": "https://github.com/jayteaftw" + "login": "hjensen", + "html_url": "https://github.com/hjensen" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2919, - "title": "Adding access to User's sessions directly", - "href": "https://github.com/orgs/langfuse/discussions/2919", - "created_at": "2024-08-13T12:42:16Z", + "number": 3845, + "title": "Traces: Link a trace to multiple sessions", + "href": "https://github.com/orgs/langfuse/discussions/3845", + "created_at": "2024-10-21T11:31:54Z", "upvotes": 1, - "comment_count": 0, - "resolved": false, + "comment_count": 2, + "resolved": true, "labels": [ - "feat-users", "feat-sessions" ], "author": { - "login": "Youneesz", - "html_url": "https://github.com/Youneesz" + "login": "nikitagupta5566", + "html_url": "https://github.com/nikitagupta5566" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2883, - "title": "Compare two dataset runs side by side", - "href": "https://github.com/orgs/langfuse/discussions/2883", - "created_at": "2024-08-09T10:40:05Z", - "upvotes": 5, - "comment_count": 1, - "resolved": false, + "number": 3838, + "title": "How do I user wise \"Total Token\" counts via API or via python, As I want to track which user is consuming how much tokens", + "href": "https://github.com/orgs/langfuse/discussions/3838", + "created_at": "2024-10-21T06:51:06Z", + "upvotes": 2, + "comment_count": 3, + "resolved": true, "labels": [ - "feat-datasets" + "feat-cost-tracking" ], "author": { - "login": "dmaslov", - "html_url": "https://github.com/dmaslov" + "login": "hrone-dev-satyammishra", + "html_url": "https://github.com/hrone-dev-satyammishra" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2881, - "title": "feat (ui): Collapse sidebar by default", - "href": "https://github.com/orgs/langfuse/discussions/2881", - "created_at": "2024-08-09T10:03:39Z", + "number": 3835, + "title": "To use Gemini on playground", + "href": "https://github.com/orgs/langfuse/discussions/3835", + "created_at": "2024-10-20T12:20:22Z", "upvotes": 1, - "comment_count": 5, + "comment_count": 3, "resolved": false, - "labels": [ - "ui" - ], + "labels": [], "author": { - "login": "marctorsoc", - "html_url": "https://github.com/marctorsoc" + "login": "yu-tarrrr", + "html_url": "https://github.com/yu-tarrrr" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2877, - "title": "Make langfuse deployable to AWS Lambda", - "href": "https://github.com/orgs/langfuse/discussions/2877", - "created_at": "2024-08-09T08:24:14Z", - "upvotes": 3, + "number": 3824, + "title": "Traces and events not going through to Langfuse server even though they're generating", + "href": "https://github.com/orgs/langfuse/discussions/3824", + "created_at": "2024-10-18T13:49:53Z", + "upvotes": 1, "comment_count": 2, "resolved": false, - "labels": [], + "labels": [ + "integration-python-decorator" + ], "author": { - "login": "MeddahAbdellah", - "html_url": "https://github.com/MeddahAbdellah" + "login": "FaresKi", + "html_url": "https://github.com/FaresKi" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2870, - "title": "custom base path deployments", - "href": "https://github.com/orgs/langfuse/discussions/2870", - "created_at": "2024-08-08T13:15:51Z", + "number": 3800, + "title": "Insert API Keys in database", + "href": "https://github.com/orgs/langfuse/discussions/3800", + "created_at": "2024-10-17T12:40:17Z", "upvotes": 1, - "comment_count": 1, + "comment_count": 3, "resolved": false, "labels": [], "author": { - "login": "marioweid", - "html_url": "https://github.com/marioweid" + "login": "kryvokhyzha", + "html_url": "https://github.com/kryvokhyzha" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2864, - "title": "Add Bedrock Guardrails to the LLM Security documentation", - "href": "https://github.com/orgs/langfuse/discussions/2864", - "created_at": "2024-08-07T23:56:05Z", - "upvotes": 2, - "comment_count": 0, - "resolved": false, + "number": 3799, + "title": "Weird behaviour of metric values and their reasoning", + "href": "https://github.com/orgs/langfuse/discussions/3799", + "created_at": "2024-10-17T12:17:48Z", + "upvotes": 1, + "comment_count": 2, + "resolved": true, "labels": [ - "feat-llm-security", - "integration-amazon-bedrock" + "feat-evals" ], "author": { - "login": "wirjo", - "html_url": "https://github.com/wirjo" + "login": "filipmihal", + "html_url": "https://github.com/filipmihal" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2863, - "title": "Add AWS as a deployment option in the documentation", - "href": "https://github.com/orgs/langfuse/discussions/2863", - "created_at": "2024-08-07T23:53:40Z", - "upvotes": 3, - "comment_count": 1, - "resolved": false, + "number": 3797, + "title": "Filter Categorical Score Values", + "href": "https://github.com/orgs/langfuse/discussions/3797", + "created_at": "2024-10-17T10:15:58Z", + "upvotes": 1, + "comment_count": 3, + "resolved": true, "labels": [ - "✅ Done", - "self-hosting" + "feat-scores" ], "author": { - "login": "wirjo", - "html_url": "https://github.com/wirjo" + "login": "alabrashJr", + "html_url": "https://github.com/alabrashJr" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2850, - "title": "Feat (ui): Move columns", - "href": "https://github.com/orgs/langfuse/discussions/2850", - "created_at": "2024-08-07T11:55:55Z", + "number": 3796, + "title": "Manually setting up Langchain Callback handler with explicit values doesn't configure langfuse client in decorator approach", + "href": "https://github.com/orgs/langfuse/discussions/3796", + "created_at": "2024-10-17T08:36:51Z", "upvotes": 1, - "comment_count": 0, - "resolved": false, - "labels": [], - "author": { - "login": "marctorsoc", - "html_url": "https://github.com/marctorsoc" + "comment_count": 2, + "resolved": true, + "labels": [ + "integration-langchain" + ], + "author": { + "login": "FaresKi", + "html_url": "https://github.com/FaresKi" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2848, - "title": "Feat: Allow not sorting tags", - "href": "https://github.com/orgs/langfuse/discussions/2848", - "created_at": "2024-08-07T11:50:44Z", - "upvotes": 1, - "comment_count": 1, - "resolved": false, + "number": 3780, + "title": "How to use prompt management with litellm's integration with langfuse?", + "href": "https://github.com/orgs/langfuse/discussions/3780", + "created_at": "2024-10-16T16:48:40Z", + "upvotes": 2, + "comment_count": 8, + "resolved": true, "labels": [ - "feat-tags" + "feat-prompt-management", + "integration-litellm" ], "author": { - "login": "marctorsoc", - "html_url": "https://github.com/marctorsoc" + "login": "GildeshAbhay", + "html_url": "https://github.com/GildeshAbhay" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2823, - "title": "Need support for ChatOCIGenAI", - "href": "https://github.com/orgs/langfuse/discussions/2823", - "created_at": "2024-08-05T13:34:30Z", - "upvotes": 2, - "comment_count": 0, + "number": 3779, + "title": "Annotation Queues and Session IDs and Datasets and LLM Security", + "href": "https://github.com/orgs/langfuse/discussions/3779", + "created_at": "2024-10-16T14:55:09Z", + "upvotes": 1, + "comment_count": 3, "resolved": false, "labels": [], "author": { - "login": "engchina", - "html_url": "https://github.com/engchina" + "login": "paolotamag", + "html_url": "https://github.com/paolotamag" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2821, - "title": "Need API endpoints to add projects and users", - "href": "https://github.com/orgs/langfuse/discussions/2821", - "created_at": "2024-08-05T13:10:49Z", - "upvotes": 2, - "comment_count": 1, - "resolved": false, + "number": 3778, + "title": "Observe decorator not working with custom langchain model & custom langfuse callback handler", + "href": "https://github.com/orgs/langfuse/discussions/3778", + "created_at": "2024-10-16T12:36:02Z", + "upvotes": 1, + "comment_count": 2, + "resolved": true, "labels": [], "author": { - "login": "kameshbrao", - "html_url": "https://github.com/kameshbrao" + "login": "FaresKi", + "html_url": "https://github.com/FaresKi" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2812, - "title": "Could you make the Prompt label 36 char long?", - "href": "https://github.com/orgs/langfuse/discussions/2812", - "created_at": "2024-08-02T11:03:08Z", - "upvotes": 1, - "comment_count": 1, + "number": 3777, + "title": "Error when trying to upgrade my langfuse deployment", + "href": "https://github.com/orgs/langfuse/discussions/3777", + "created_at": "2024-10-16T09:25:53Z", + "upvotes": 2, + "comment_count": 2, "resolved": false, "labels": [ - "feat-prompt-management", - "✅ Done" + "self-hosting" ], "author": { - "login": "DevSageH", - "html_url": "https://github.com/DevSageH" + "login": "nithin1995", + "html_url": "https://github.com/nithin1995" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2810, - "title": "Enable setting a label to an existing prompt version via the api/sdk.", - "href": "https://github.com/orgs/langfuse/discussions/2810", - "created_at": "2024-08-01T16:53:06Z", - "upvotes": 10, - "comment_count": 4, - "resolved": false, - "labels": [ - "feat-prompt-management" - ], + "number": 3766, + "title": "Latency and total cost for runs are not computed", + "href": "https://github.com/orgs/langfuse/discussions/3766", + "created_at": "2024-10-15T21:38:15Z", + "upvotes": 1, + "comment_count": 3, + "resolved": true, + "labels": [], "author": { - "login": "ClementNguyen", - "html_url": "https://github.com/ClementNguyen" + "login": "ldbolanos", + "html_url": "https://github.com/ldbolanos" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2797, - "title": "Enable list_prompts/search_prompts using client", - "href": "https://github.com/orgs/langfuse/discussions/2797", - "created_at": "2024-07-31T13:45:38Z", - "upvotes": 4, - "comment_count": 2, - "resolved": false, + "number": 3764, + "title": "Best practices for tracing an app with history and tool usage", + "href": "https://github.com/orgs/langfuse/discussions/3764", + "created_at": "2024-10-15T21:27:34Z", + "upvotes": 2, + "comment_count": 3, + "resolved": true, "labels": [ - "feat-prompt-management" + "integration-openai" ], "author": { - "login": "krlng", - "html_url": "https://github.com/krlng" + "login": "machulav", + "html_url": "https://github.com/machulav" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2781, - "title": "Add support for custom serialization of observation fields", - "href": "https://github.com/orgs/langfuse/discussions/2781", - "created_at": "2024-07-29T18:49:03Z", + "number": 3756, + "title": "How to create an eval config for prompts using python api?", + "href": "https://github.com/orgs/langfuse/discussions/3756", + "created_at": "2024-10-15T09:20:06Z", "upvotes": 1, "comment_count": 2, - "resolved": false, + "resolved": true, "labels": [ - "sdk-python" + "feat-evals" ], "author": { - "login": "ashamlian-roadway", - "html_url": "https://github.com/ashamlian-roadway" + "login": "GildeshAbhay", + "html_url": "https://github.com/GildeshAbhay" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2770, - "title": "Add clickable link to the 'release' kwargs in a Trace - this will route to the documentations/change log of that release/version", - "href": "https://github.com/orgs/langfuse/discussions/2770", - "created_at": "2024-07-28T07:08:07Z", + "number": 3737, + "title": "Monitoring for multi agent systems (OpenWebUI)", + "href": "https://github.com/orgs/langfuse/discussions/3737", + "created_at": "2024-10-14T16:50:17Z", "upvotes": 1, - "comment_count": 0, - "resolved": false, - "labels": [], - "author": { - "login": "stepanogil", - "html_url": "https://github.com/stepanogil" - }, - "category": "Ideas" - }, - { - "number": 2766, - "title": "Support Exporting LangSmith Run Traces into Langfuse!", - "href": "https://github.com/orgs/langfuse/discussions/2766", - "created_at": "2024-07-27T02:34:44Z", - "upvotes": 3, - "comment_count": 1, - "resolved": false, - "labels": [], + "comment_count": 3, + "resolved": true, + "labels": [ + "integration-openwebui" + ], "author": { - "login": "p-barman", - "html_url": "https://github.com/p-barman" + "login": "OM-EL", + "html_url": "https://github.com/OM-EL" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2747, - "title": "A new configuration env variable for custom URL prefix", - "href": "https://github.com/orgs/langfuse/discussions/2747", - "created_at": "2024-07-25T17:00:57Z", + "number": 3735, + "title": "Is it possible to use tools calling and structured output in the Prompts UI and Playground?", + "href": "https://github.com/orgs/langfuse/discussions/3735", + "created_at": "2024-10-14T16:43:23Z", "upvotes": 1, - "comment_count": 1, - "resolved": false, - "labels": [], + "comment_count": 2, + "resolved": true, + "labels": [ + "feat-prompt-management", + "feat-playground" + ], "author": { - "login": "abdullah-retorio", - "html_url": "https://github.com/abdullah-retorio" + "login": "mifopen", + "html_url": "https://github.com/mifopen" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2746, - "title": "Returning prompts from expired cache may be disabled using a boolean argument", - "href": "https://github.com/orgs/langfuse/discussions/2746", - "created_at": "2024-07-25T15:57:26Z", + "number": 3718, + "title": "How to delete a Session?", + "href": "https://github.com/orgs/langfuse/discussions/3718", + "created_at": "2024-10-11T14:51:46Z", "upvotes": 1, - "comment_count": 1, - "resolved": false, + "comment_count": 2, + "resolved": true, "labels": [ - "feat-prompt-management" + "feat-sessions" ], "author": { - "login": "ogunoz", - "html_url": "https://github.com/ogunoz" + "login": "augustoolucas", + "html_url": "https://github.com/augustoolucas" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2745, - "title": "Lazy fallback for get_prompt", - "href": "https://github.com/orgs/langfuse/discussions/2745", - "created_at": "2024-07-25T15:50:32Z", + "number": 3717, + "title": "Llamaindex Workflow does't work with Instrumentation Module", + "href": "https://github.com/orgs/langfuse/discussions/3717", + "created_at": "2024-10-11T10:27:09Z", "upvotes": 1, - "comment_count": 1, - "resolved": false, + "comment_count": 3, + "resolved": true, "labels": [ - "feat-prompt-management" + "integraton-llamaindex" ], "author": { - "login": "ogunoz", - "html_url": "https://github.com/ogunoz" + "login": "ntdanhtma", + "html_url": "https://github.com/ntdanhtma" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2738, - "title": "Set variables in playground from dataset", - "href": "https://github.com/orgs/langfuse/discussions/2738", - "created_at": "2024-07-25T09:27:30Z", - "upvotes": 4, - "comment_count": 2, - "resolved": false, + "number": 3698, + "title": "Can I use Amazon Bedrock for Langfuse Evals?", + "href": "https://github.com/orgs/langfuse/discussions/3698", + "created_at": "2024-10-10T15:34:48Z", + "upvotes": 1, + "comment_count": 5, + "resolved": true, "labels": [ - "feat-datasets", - "feat-playground" + "feat-evals", + "integration-amazon-bedrock" ], "author": { - "login": "hbenyamina", - "html_url": "https://github.com/hbenyamina" + "login": "j10sanders", + "html_url": "https://github.com/j10sanders" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2729, - "title": "Comment thread on Traces", - "href": "https://github.com/orgs/langfuse/discussions/2729", - "created_at": "2024-07-24T13:52:51Z", + "number": 3679, + "title": "Langfuse / Langflow not intergrating", + "href": "https://github.com/orgs/langfuse/discussions/3679", + "created_at": "2024-10-09T17:06:32Z", "upvotes": 1, - "comment_count": 3, + "comment_count": 2, "resolved": false, "labels": [ - "✅ Done", - "feat-comments" + "integration-langflow" ], "author": { - "login": "guptakvgaurav", - "html_url": "https://github.com/guptakvgaurav" + "login": "colecal", + "html_url": "https://github.com/colecal" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2728, - "title": "Session-level scores", - "href": "https://github.com/orgs/langfuse/discussions/2728", - "created_at": "2024-07-24T10:05:40Z", - "upvotes": 3, - "comment_count": 3, + "number": 3678, + "title": "Langfuse not tracing code from my VM (server)", + "href": "https://github.com/orgs/langfuse/discussions/3678", + "created_at": "2024-10-09T14:56:05Z", + "upvotes": 1, + "comment_count": 1, "resolved": false, "labels": [ - "feat-scores", - "feat-sessions" + "self-hosting" ], "author": { - "login": "felixsg", - "html_url": "https://github.com/felixsg" + "login": "akbar-mta", + "html_url": "https://github.com/akbar-mta" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2721, - "title": "Add note on each prompt version", - "href": "https://github.com/orgs/langfuse/discussions/2721", - "created_at": "2024-07-23T14:48:02Z", - "upvotes": 2, - "comment_count": 1, - "resolved": false, + "number": 3674, + "title": "Docs for K8s deployments", + "href": "https://github.com/orgs/langfuse/discussions/3674", + "created_at": "2024-10-09T09:52:05Z", + "upvotes": 1, + "comment_count": 2, + "resolved": true, "labels": [ - "feat-prompt-management" + "self-hosting" ], "author": { - "login": "cubxxw", - "html_url": "https://github.com/cubxxw" + "login": "Brant-lzh", + "html_url": "https://github.com/Brant-lzh" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2720, - "title": "Feature request [UI]: Remember column selection PER project in Traces view", - "href": "https://github.com/orgs/langfuse/discussions/2720", - "created_at": "2024-07-23T13:53:38Z", + "number": 3645, + "title": "Cannot Sign In or Sign Up to Local Langfuse Instance", + "href": "https://github.com/orgs/langfuse/discussions/3645", + "created_at": "2024-10-08T11:09:48Z", "upvotes": 1, "comment_count": 2, - "resolved": false, + "resolved": true, "labels": [], "author": { - "login": "justingodden", - "html_url": "https://github.com/justingodden" + "login": "Patryk-Chlanda", + "html_url": "https://github.com/Patryk-Chlanda" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2710, - "title": "Support JSON messages in prompt management", - "href": "https://github.com/orgs/langfuse/discussions/2710", - "created_at": "2024-07-23T01:59:12Z", + "number": 3641, + "title": "Sign in and Sign up button is greyed out", + "href": "https://github.com/orgs/langfuse/discussions/3641", + "created_at": "2024-10-08T09:32:16Z", "upvotes": 1, - "comment_count": 0, - "resolved": false, + "comment_count": 2, + "resolved": true, "labels": [], "author": { - "login": "jasonslyvia", - "html_url": "https://github.com/jasonslyvia" + "login": "akbar-mta", + "html_url": "https://github.com/akbar-mta" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2704, - "title": "Deleting user's traces via API to be GDPR compliant", - "href": "https://github.com/orgs/langfuse/discussions/2704", - "created_at": "2024-07-22T12:03:22Z", - "upvotes": 8, + "number": 3637, + "title": "Sign In Button Remains Disabled When Logging in with Email/Password on Langfuse Self-Hosted", + "href": "https://github.com/orgs/langfuse/discussions/3637", + "created_at": "2024-10-08T06:40:05Z", + "upvotes": 2, "comment_count": 2, - "resolved": false, + "resolved": true, "labels": [], "author": { - "login": "Stormyy", - "html_url": "https://github.com/Stormyy" + "login": "tubone24", + "html_url": "https://github.com/tubone24" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2699, - "title": "Schemad or structured configuration for prompt", - "href": "https://github.com/orgs/langfuse/discussions/2699", - "created_at": "2024-07-22T02:29:13Z", + "number": 3615, + "title": "Failing with internal server error when trying to add score to a trace", + "href": "https://github.com/orgs/langfuse/discussions/3615", + "created_at": "2024-10-07T06:15:14Z", "upvotes": 1, - "comment_count": 1, - "resolved": false, - "labels": [ - "feat-prompt-management" - ], + "comment_count": 2, + "resolved": true, + "labels": [], "author": { - "login": "jasonslyvia", - "html_url": "https://github.com/jasonslyvia" + "login": "nithin1995", + "html_url": "https://github.com/nithin1995" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2697, - "title": "A transparent mode", - "href": "https://github.com/orgs/langfuse/discussions/2697", - "created_at": "2024-07-21T20:55:43Z", + "number": 3592, + "title": "Set trace_id in Langchain CallbackHandler", + "href": "https://github.com/orgs/langfuse/discussions/3592", + "created_at": "2024-10-05T11:09:30Z", "upvotes": 1, "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [], "author": { - "login": "emsi", - "html_url": "https://github.com/emsi" + "login": "michaelpoluektov", + "html_url": "https://github.com/michaelpoluektov" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2684, - "title": "Langfuse batch prompts api should return prompt configs as well", - "href": "https://github.com/orgs/langfuse/discussions/2684", - "created_at": "2024-07-19T10:05:45Z", - "upvotes": 2, - "comment_count": 3, - "resolved": false, + "number": 3574, + "title": "Automated provisioning of default resources in self hosting", + "href": "https://github.com/orgs/langfuse/discussions/3574", + "created_at": "2024-10-04T06:44:45Z", + "upvotes": 1, + "comment_count": 2, + "resolved": true, "labels": [ - "feat-prompt-management", - "✅ Done" + "self-hosting" ], "author": { - "login": "ashutoshsaboo", - "html_url": "https://github.com/ashutoshsaboo" + "login": "Harinisri29", + "html_url": "https://github.com/Harinisri29" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2669, - "title": "Visualisation of graph execution", - "href": "https://github.com/orgs/langfuse/discussions/2669", - "created_at": "2024-07-18T08:44:03Z", + "number": 3569, + "title": "UnauthorizedError: No authorization header After Switching to Headless Initialization", + "href": "https://github.com/orgs/langfuse/discussions/3569", + "created_at": "2024-10-03T08:52:35Z", "upvotes": 2, - "comment_count": 1, + "comment_count": 2, "resolved": false, "labels": [], "author": { - "login": "VMinB12", - "html_url": "https://github.com/VMinB12" + "login": "chandel-aman", + "html_url": "https://github.com/chandel-aman" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2668, - "title": "I want to say something about user feedback", - "href": "https://github.com/orgs/langfuse/discussions/2668", - "created_at": "2024-07-18T07:57:50Z", + "number": 3559, + "title": "Token Cost using OpenRouter", + "href": "https://github.com/orgs/langfuse/discussions/3559", + "created_at": "2024-10-02T05:25:14Z", "upvotes": 1, "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [], "author": { - "login": "cubxxw", - "html_url": "https://github.com/cubxxw" + "login": "austinm911", + "html_url": "https://github.com/austinm911" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2664, - "title": "Prompts are supported for export", - "href": "https://github.com/orgs/langfuse/discussions/2664", - "created_at": "2024-07-18T00:43:12Z", + "number": 3557, + "title": "Link 2 traces", + "href": "https://github.com/orgs/langfuse/discussions/3557", + "created_at": "2024-10-02T02:14:27Z", "upvotes": 1, "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [], "author": { - "login": "cubxxw", - "html_url": "https://github.com/cubxxw" + "login": "saiprasath21", + "html_url": "https://github.com/saiprasath21" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2653, - "title": "Web page request is a little slow, whether to consider using golang to reconstruct", - "href": "https://github.com/orgs/langfuse/discussions/2653", - "created_at": "2024-07-17T07:08:45Z", - "upvotes": 1, - "comment_count": 1, - "resolved": false, + "number": 3556, + "title": "Update a trace", + "href": "https://github.com/orgs/langfuse/discussions/3556", + "created_at": "2024-10-02T02:10:15Z", + "upvotes": 1, + "comment_count": 1, + "resolved": true, "labels": [], "author": { - "login": "cubxxw", - "html_url": "https://github.com/cubxxw" + "login": "saiprasath21", + "html_url": "https://github.com/saiprasath21" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2642, - "title": "Add ability to add name or label to a Langfuse API key", - "href": "https://github.com/orgs/langfuse/discussions/2642", - "created_at": "2024-07-16T17:08:42Z", - "upvotes": 5, + "number": 3553, + "title": "How to track DSPy call within Langgraph", + "href": "https://github.com/orgs/langfuse/discussions/3553", + "created_at": "2024-10-01T20:00:11Z", + "upvotes": 1, "comment_count": 1, "resolved": false, - "labels": [], + "labels": [ + "integration-langchain", + "integration-dspy" + ], "author": { - "login": "agibralter", - "html_url": "https://github.com/agibralter" + "login": "marcklingen", + "html_url": "https://github.com/marcklingen" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2625, - "title": "Track Openai Assistant API costs", - "href": "https://github.com/orgs/langfuse/discussions/2625", - "created_at": "2024-07-15T07:50:18Z", - "upvotes": 4, - "comment_count": 0, - "resolved": false, + "number": 3552, + "title": "LlamaIndex traces grouping", + "href": "https://github.com/orgs/langfuse/discussions/3552", + "created_at": "2024-10-01T18:35:11Z", + "upvotes": 1, + "comment_count": 2, + "resolved": true, "labels": [ - "integration-openai" + "integraton-llamaindex" ], "author": { - "login": "christos-bsq", - "html_url": "https://github.com/christos-bsq" + "login": "ivanviragine", + "html_url": "https://github.com/ivanviragine" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2624, - "title": "Add tool / function calling and tool messages to Prompt Management", - "href": "https://github.com/orgs/langfuse/discussions/2624", - "created_at": "2024-07-15T06:49:50Z", - "upvotes": 3, - "comment_count": 0, - "resolved": false, + "number": 3549, + "title": "create api keys pair using some method or api", + "href": "https://github.com/orgs/langfuse/discussions/3549", + "created_at": "2024-10-01T11:45:12Z", + "upvotes": 1, + "comment_count": 2, + "resolved": true, "labels": [ - "feat-prompt-management" + "self-hosting" ], "author": { - "login": "eloko7", - "html_url": "https://github.com/eloko7" + "login": "ryanrib14", + "html_url": "https://github.com/ryanrib14" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2622, - "title": "Inbuild langfuse tracing.", - "href": "https://github.com/orgs/langfuse/discussions/2622", - "created_at": "2024-07-13T10:39:13Z", + "number": 3545, + "title": "How to Set Custom Trace ID with a Decorator and Include langfuse_observation_id?", + "href": "https://github.com/orgs/langfuse/discussions/3545", + "created_at": "2024-10-01T02:04:03Z", "upvotes": 1, - "comment_count": 0, - "resolved": false, - "labels": [], + "comment_count": 2, + "resolved": true, + "labels": [ + "integration-python-decorator" + ], "author": { - "login": "rashid-globallogic", - "html_url": "https://github.com/rashid-globallogic" + "login": "octadion", + "html_url": "https://github.com/octadion" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2605, - "title": "DSPy tracing", - "href": "https://github.com/orgs/langfuse/discussions/2605", - "created_at": "2024-07-10T12:52:35Z", - "upvotes": 2, + "number": 3540, + "title": "error ❌ tRPC failed on public.checkUpdate: Failed to fetch or json parse the latest releases Failed to fetch or json parse the latest releases", + "href": "https://github.com/orgs/langfuse/discussions/3540", + "created_at": "2024-09-30T20:29:22Z", + "upvotes": 1, "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [ - "integrations", - "✅ Done", - "integration-dspy" + "self-hosting" ], "author": { - "login": "paolotamag", - "html_url": "https://github.com/paolotamag" + "login": "FaresKi", + "html_url": "https://github.com/FaresKi" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2586, - "title": "Feat: Ability to change curreny for model usage costs.", - "href": "https://github.com/orgs/langfuse/discussions/2586", - "created_at": "2024-07-09T15:40:22Z", - "upvotes": 2, - "comment_count": 1, - "resolved": false, + "number": 3531, + "title": "is it possible to assign a label to an existing prompt via API/SDK ?", + "href": "https://github.com/orgs/langfuse/discussions/3531", + "created_at": "2024-09-30T07:49:28Z", + "upvotes": 1, + "comment_count": 2, + "resolved": true, "labels": [ - "feat-cost-tracking" + "feat-prompt-management" ], "author": { - "login": "jannikstdl", - "html_url": "https://github.com/jannikstdl" + "login": "simicvm", + "html_url": "https://github.com/simicvm" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2578, - "title": "Conditional Trace Content/Message submission", - "href": "https://github.com/orgs/langfuse/discussions/2578", - "created_at": "2024-07-09T09:57:26Z", - "upvotes": 3, - "comment_count": 1, + "number": 3525, + "title": "Applying database migrations failed. This is mostly caused by the database being unavailable", + "href": "https://github.com/orgs/langfuse/discussions/3525", + "created_at": "2024-09-29T11:14:04Z", + "upvotes": 1, + "comment_count": 3, "resolved": false, - "labels": [], + "labels": [ + "self-hosting" + ], "author": { - "login": "simonwh", - "html_url": "https://github.com/simonwh" + "login": "NanthagopalEswaran", + "html_url": "https://github.com/NanthagopalEswaran" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2577, - "title": "Detailed and Interactive Plot Visualization like WandB", - "href": "https://github.com/orgs/langfuse/discussions/2577", - "created_at": "2024-07-09T09:19:38Z", + "number": 3521, + "title": "is it open source or not?", + "href": "https://github.com/orgs/langfuse/discussions/3521", + "created_at": "2024-09-27T22:07:52Z", "upvotes": 1, - "comment_count": 3, - "resolved": false, + "comment_count": 1, + "resolved": true, "labels": [], "author": { - "login": "yusuke-intern", - "html_url": "https://github.com/yusuke-intern" + "login": "severfire", + "html_url": "https://github.com/severfire" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2576, - "title": "Log prob on Langfuse", - "href": "https://github.com/orgs/langfuse/discussions/2576", - "created_at": "2024-07-09T09:16:23Z", + "number": 3520, + "title": "Langfuse not logging costs on Vertex AI gemini-1.5-flash-002.", + "href": "https://github.com/orgs/langfuse/discussions/3520", + "created_at": "2024-09-27T18:51:08Z", "upvotes": 1, "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [ - "integration-openai" + "integraton-llamaindex" ], "author": { - "login": "yusuke-intern", - "html_url": "https://github.com/yusuke-intern" + "login": "arthurbrenno", + "html_url": "https://github.com/arthurbrenno" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2573, - "title": "Prompt Cataloguing and prompt github", - "href": "https://github.com/orgs/langfuse/discussions/2573", - "created_at": "2024-07-08T20:05:23Z", - "upvotes": 1, - "comment_count": 1, - "resolved": false, + "number": 3503, + "title": "Not possible to delete prompts programmatically, (langfuse python library or api)", + "href": "https://github.com/orgs/langfuse/discussions/3503", + "created_at": "2024-09-27T12:33:52Z", + "upvotes": 2, + "comment_count": 2, + "resolved": true, "labels": [ "feat-prompt-management" ], "author": { - "login": "kunal2002", - "html_url": "https://github.com/kunal2002" + "login": "RealGammaNL", + "html_url": "https://github.com/RealGammaNL" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2571, - "title": "If Data/Metadata given to Langfuse SDK that exceeds Langfuse's limit, log/throw/emit Stack Trace", - "href": "https://github.com/orgs/langfuse/discussions/2571", - "created_at": "2024-07-08T15:17:52Z", + "number": 3496, + "title": "Unable to fetch prompts without production label", + "href": "https://github.com/orgs/langfuse/discussions/3496", + "created_at": "2024-09-27T03:27:52Z", "upvotes": 1, "comment_count": 1, - "resolved": false, - "labels": [], + "resolved": true, + "labels": [ + "feat-prompt-management" + ], "author": { - "login": "josiahbryan", - "html_url": "https://github.com/josiahbryan" + "login": "chandel-aman", + "html_url": "https://github.com/chandel-aman" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2539, - "title": "Include request's `tools` configuration in OpenAI LLM calls", - "href": "https://github.com/orgs/langfuse/discussions/2539", - "created_at": "2024-07-04T11:39:43Z", - "upvotes": 2, - "comment_count": 1, + "number": 3489, + "title": "Missing input/output on trace when using openai js integration", + "href": "https://github.com/orgs/langfuse/discussions/3489", + "created_at": "2024-09-26T15:36:06Z", + "upvotes": 1, + "comment_count": 2, "resolved": false, "labels": [ "integration-openai" ], "author": { - "login": "ricwo", - "html_url": "https://github.com/ricwo" - }, - "category": "Ideas" - }, - { - "number": 2534, - "title": "Simple graphs and metrics for scores and evaluations", - "href": "https://github.com/orgs/langfuse/discussions/2534", - "created_at": "2024-07-03T17:14:42Z", - "upvotes": 2, - "comment_count": 1, - "resolved": false, - "labels": [], - "author": { - "login": "justinwiley", - "html_url": "https://github.com/justinwiley" + "login": "dimitrydesilias", + "html_url": "https://github.com/dimitrydesilias" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2529, - "title": "feat: Track Exceptions while using Decorators", - "href": "https://github.com/orgs/langfuse/discussions/2529", - "created_at": "2024-07-03T11:40:19Z", + "number": 3486, + "title": "Bind all multiple hierarchical call against session-id instead of opening multiple threads", + "href": "https://github.com/orgs/langfuse/discussions/3486", + "created_at": "2024-09-26T06:31:20Z", "upvotes": 1, - "comment_count": 1, - "resolved": false, + "comment_count": 3, + "resolved": true, "labels": [ "integration-python-decorator" ], "author": { - "login": "Manonandan", - "html_url": "https://github.com/Manonandan" + "login": "ajeet6261", + "html_url": "https://github.com/ajeet6261" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2523, - "title": "Feature Request: Sidebar Display for Trace Details in Dataset Runs", - "href": "https://github.com/orgs/langfuse/discussions/2523", - "created_at": "2024-07-02T15:00:47Z", + "number": 3485, + "title": "How to avoid memory leaks due to LangchainCallbackHandler while using userId and sessionId", + "href": "https://github.com/orgs/langfuse/discussions/3485", + "created_at": "2024-09-26T00:07:14Z", "upvotes": 1, - "comment_count": 3, - "resolved": false, + "comment_count": 6, + "resolved": true, "labels": [ - "feat-datasets" + "integration-langchain", + "feat-users", + "feat-sessions" ], "author": { - "login": "tuan3w", - "html_url": "https://github.com/tuan3w" + "login": "Chengdyc", + "html_url": "https://github.com/Chengdyc" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2511, - "title": "Scoring dataset runs, e.g. precision, recall, f-value", - "href": "https://github.com/orgs/langfuse/discussions/2511", - "created_at": "2024-07-02T08:10:21Z", - "upvotes": 8, - "comment_count": 1, - "resolved": false, + "number": 3480, + "title": "How to provide a TLS Cert for PGSQL cloud connection in Langfuse docker container?", + "href": "https://github.com/orgs/langfuse/discussions/3480", + "created_at": "2024-09-25T20:44:17Z", + "upvotes": 1, + "comment_count": 2, + "resolved": true, "labels": [ - "feat-datasets", - "feat-scores" + "self-hosting" ], "author": { - "login": "yusuke-intern", - "html_url": "https://github.com/yusuke-intern" + "login": "barvhaim", + "html_url": "https://github.com/barvhaim" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2510, - "title": "How can we see traces of MULTIMODAL llms over langfuse ?", - "href": "https://github.com/orgs/langfuse/discussions/2510", - "created_at": "2024-07-02T05:15:59Z", - "upvotes": 4, - "comment_count": 3, + "number": 3477, + "title": "LangFuse Low Level SDK does not render images by passing the link", + "href": "https://github.com/orgs/langfuse/discussions/3477", + "created_at": "2024-09-25T15:15:54Z", + "upvotes": 1, + "comment_count": 1, "resolved": false, "labels": [ - "✅ Done", "feat-multimodal" ], "author": { - "login": "Aaryaveerkrishna23", - "html_url": "https://github.com/Aaryaveerkrishna23" - }, - "category": "Ideas" - }, - { - "number": 2509, - "title": "Support OpenTelemetry-based instrumentation (traceloop openllmetry and others)", - "href": "https://github.com/orgs/langfuse/discussions/2509", - "created_at": "2024-07-02T02:29:14Z", - "upvotes": 8, - "comment_count": 7, - "resolved": false, - "labels": [ - "integrations" - ], - "author": { - "login": "gyliu513", - "html_url": "https://github.com/gyliu513" + "login": "VikramShenoy97", + "html_url": "https://github.com/VikramShenoy97" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2508, - "title": "Enable Langfuse can expose metrics in Prometheus format", - "href": "https://github.com/orgs/langfuse/discussions/2508", - "created_at": "2024-07-02T02:25:24Z", - "upvotes": 7, - "comment_count": 1, + "number": 3469, + "title": "raise exception when handle_span_events", + "href": "https://github.com/orgs/langfuse/discussions/3469", + "created_at": "2024-09-25T00:56:32Z", + "upvotes": 1, + "comment_count": 2, "resolved": false, "labels": [], "author": { - "login": "gyliu513", - "html_url": "https://github.com/gyliu513" + "login": "nightosong", + "html_url": "https://github.com/nightosong" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2501, - "title": "Use Langchain LCEL + Langserve + run time user_id/session_id", - "href": "https://github.com/orgs/langfuse/discussions/2501", - "created_at": "2024-07-01T15:51:47Z", - "upvotes": 4, + "number": 3466, + "title": "How to get costs associated with an API call / user?", + "href": "https://github.com/orgs/langfuse/discussions/3466", + "created_at": "2024-09-24T19:33:56Z", + "upvotes": 1, "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [ - "integration-langchain", "feat-users", - "feat-sessions" + "feat-cost-tracking" ], "author": { - "login": "ravediamond", - "html_url": "https://github.com/ravediamond" + "login": "punkpeye", + "html_url": "https://github.com/punkpeye" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2493, - "title": "Easy token price estimates for 400+ LLMs", - "href": "https://github.com/orgs/langfuse/discussions/2493", - "created_at": "2024-07-01T06:55:56Z", + "number": 3465, + "title": "How to run langfuse locally while using a hosted database", + "href": "https://github.com/orgs/langfuse/discussions/3465", + "created_at": "2024-09-24T14:24:29Z", "upvotes": 1, "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [ - "feat-cost-tracking" + "self-hosting" ], "author": { - "login": "derevyan", - "html_url": "https://github.com/derevyan" + "login": "wil0u", + "html_url": "https://github.com/wil0u" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2488, - "title": "Add contextmanager support to python decorator", - "href": "https://github.com/orgs/langfuse/discussions/2488", - "created_at": "2024-06-29T20:43:50Z", - "upvotes": 6, + "number": 3462, + "title": "how to set user_id or session_id in trace?", + "href": "https://github.com/orgs/langfuse/discussions/3462", + "created_at": "2024-09-24T08:34:59Z", + "upvotes": 1, "comment_count": 2, - "resolved": false, + "resolved": true, "labels": [ - "integration-python-decorator" + "integration-python-decorator", + "feat-users", + "feat-sessions" ], "author": { - "login": "yaniv-aknin", - "html_url": "https://github.com/yaniv-aknin" + "login": "yumc2573", + "html_url": "https://github.com/yumc2573" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2469, - "title": "Adding userId / author to score (custom metadata)", - "href": "https://github.com/orgs/langfuse/discussions/2469", - "created_at": "2024-06-27T19:02:17Z", - "upvotes": 4, - "comment_count": 3, - "resolved": false, + "number": 3460, + "title": "Langfuse observation for openai embeddings method", + "href": "https://github.com/orgs/langfuse/discussions/3460", + "created_at": "2024-09-24T06:01:06Z", + "upvotes": 2, + "comment_count": 2, + "resolved": true, "labels": [ - "feat-scores", - "feat-users" + "integration-openai", + "integration-python-decorator", + "feat-cost-tracking" ], "author": { - "login": "ivanviragine", - "html_url": "https://github.com/ivanviragine" - }, - "category": "Ideas" - }, - { - "number": 2456, - "title": "Export to CSV feature in the Traces", - "href": "https://github.com/orgs/langfuse/discussions/2456", - "created_at": "2024-06-27T11:02:47Z", - "upvotes": 1, - "comment_count": 1, - "resolved": false, - "labels": [], - "author": { - "login": "Aniket3007", - "html_url": "https://github.com/Aniket3007" + "login": "simrangulati-jktech", + "html_url": "https://github.com/simrangulati-jktech" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2454, - "title": "Expand all json-views of Dataset items etc.", - "href": "https://github.com/orgs/langfuse/discussions/2454", - "created_at": "2024-06-27T08:18:23Z", + "number": 3446, + "title": "Right way to migrate langfuse deployed on K8s within an AWS account", + "href": "https://github.com/orgs/langfuse/discussions/3446", + "created_at": "2024-09-23T06:32:02Z", "upvotes": 1, "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [ - "✅ Done", - "feat-datasets" + "self-hosting" ], "author": { - "login": "tkreuder", - "html_url": "https://github.com/tkreuder" + "login": "nithin1995", + "html_url": "https://github.com/nithin1995" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2438, - "title": "Bedrock provider when using llamaindex", - "href": "https://github.com/orgs/langfuse/discussions/2438", - "created_at": "2024-06-26T11:00:54Z", + "number": 3435, + "title": "Langfuse is inconsistently generating span latencies table in traces greater than 36K entiries", + "href": "https://github.com/orgs/langfuse/discussions/3435", + "created_at": "2024-09-20T18:54:28Z", + "upvotes": 1, + "comment_count": 3, + "resolved": true, + "labels": [], + "author": { + "login": "databloom", + "html_url": "https://github.com/databloom" + }, + "category": "Support" + }, + { + "number": 3429, + "title": "Async version of Langfuse.get_prompt", + "href": "https://github.com/orgs/langfuse/discussions/3429", + "created_at": "2024-09-20T14:26:51Z", "upvotes": 1, "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [ - "integraton-llamaindex", - "integration-amazon-bedrock" + "feat-prompt-management" ], "author": { - "login": "mdciri", - "html_url": "https://github.com/mdciri" + "login": "antoniomdk", + "html_url": "https://github.com/antoniomdk" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2437, - "title": "Project members management via public API", - "href": "https://github.com/orgs/langfuse/discussions/2437", - "created_at": "2024-06-26T10:03:50Z", - "upvotes": 3, - "comment_count": 1, + "number": 3420, + "title": "Help setting up GCP host (cloudbuild or console)", + "href": "https://github.com/orgs/langfuse/discussions/3420", + "created_at": "2024-09-20T04:34:35Z", + "upvotes": 1, + "comment_count": 3, "resolved": false, "labels": [ - "feat-rbac" + "self-hosting" ], "author": { - "login": "tmarenko", - "html_url": "https://github.com/tmarenko" + "login": "elliottower", + "html_url": "https://github.com/elliottower" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2402, - "title": "Add string data type in score config", - "href": "https://github.com/orgs/langfuse/discussions/2402", - "created_at": "2024-06-24T11:12:54Z", + "number": 3410, + "title": "Configuring Evaluation with \"Correctness\" Template & Python Code Invocation", + "href": "https://github.com/orgs/langfuse/discussions/3410", + "created_at": "2024-09-19T09:44:42Z", "upvotes": 1, - "comment_count": 1, - "resolved": false, + "comment_count": 3, + "resolved": true, "labels": [ "feat-scores" ], "author": { - "login": "emfhal", - "html_url": "https://github.com/emfhal" + "login": "zoulou00", + "html_url": "https://github.com/zoulou00" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2400, - "title": "Support for Custom Base URL Prefix in Langfuse (nextjs basepath)", - "href": "https://github.com/orgs/langfuse/discussions/2400", - "created_at": "2024-06-24T09:57:57Z", - "upvotes": 21, - "comment_count": 9, - "resolved": false, + "number": 3406, + "title": "Module not found: Can't resolve '@langfuse'", + "href": "https://github.com/orgs/langfuse/discussions/3406", + "created_at": "2024-09-19T05:57:04Z", + "upvotes": 1, + "comment_count": 1, + "resolved": true, "labels": [ - "✅ Done", "self-hosting" ], "author": { - "login": "databill86", - "html_url": "https://github.com/databill86" + "login": "christosuster", + "html_url": "https://github.com/christosuster" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2397, - "title": "Add ARM64 docker image", - "href": "https://github.com/orgs/langfuse/discussions/2397", - "created_at": "2024-06-21T13:35:24Z", + "number": 3397, + "title": "tokens and usage cost", + "href": "https://github.com/orgs/langfuse/discussions/3397", + "created_at": "2024-09-18T13:05:07Z", "upvotes": 1, "comment_count": 2, - "resolved": false, + "resolved": true, "labels": [ - "✅ Done", - "self-hosting" + "feat-cost-tracking" ], "author": { - "login": "lucasiscovici", - "html_url": "https://github.com/lucasiscovici" + "login": "Karanaiinfox", + "html_url": "https://github.com/Karanaiinfox" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2390, - "title": "Implement Duplication Check for Prompt Versions in Langfuse", - "href": "https://github.com/orgs/langfuse/discussions/2390", - "created_at": "2024-06-21T08:03:39Z", + "number": 3393, + "title": "Self-Host evaluation feature", + "href": "https://github.com/orgs/langfuse/discussions/3393", + "created_at": "2024-09-18T07:55:30Z", "upvotes": 1, - "comment_count": 1, - "resolved": false, + "comment_count": 2, + "resolved": true, "labels": [ - "feat-prompt-management" + "feat-evals" ], "author": { - "login": "sapipoZZZ", - "html_url": "https://github.com/sapipoZZZ" + "login": "MayankBitcot", + "html_url": "https://github.com/MayankBitcot" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2378, - "title": "Number of times a prompt was fetched", - "href": "https://github.com/orgs/langfuse/discussions/2378", - "created_at": "2024-06-20T07:37:12Z", - "upvotes": 3, - "comment_count": 0, + "number": 3392, + "title": "not able to track entire request end to end in langchain + langfuse", + "href": "https://github.com/orgs/langfuse/discussions/3392", + "created_at": "2024-09-18T07:08:49Z", + "upvotes": 1, + "comment_count": 2, "resolved": false, "labels": [ - "feat-prompt-management" + "integration-langchain" ], "author": { - "login": "subhampasari", - "html_url": "https://github.com/subhampasari" + "login": "jaiswalvineet", + "html_url": "https://github.com/jaiswalvineet" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2376, - "title": "Allow for custom OAuth scopes when self-hosing", - "href": "https://github.com/orgs/langfuse/discussions/2376", - "created_at": "2024-06-19T22:23:59Z", + "number": 3379, + "title": "Feedback for “Langfuse Documentation”", + "href": "https://github.com/orgs/langfuse/discussions/3379", + "created_at": "2024-09-17T07:44:56Z", "upvotes": 1, - "comment_count": 1, + "comment_count": 3, "resolved": false, - "labels": [ - "feat-auth" - ], + "labels": [], "author": { - "login": "0x77dev", - "html_url": "https://github.com/0x77dev" + "login": "Preet1234-ux", + "html_url": "https://github.com/Preet1234-ux" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2371, - "title": "SBS Markdown mode for dataset runs", - "href": "https://github.com/orgs/langfuse/discussions/2371", - "created_at": "2024-06-19T14:57:32Z", + "number": 3364, + "title": "Hey want to change the Eval Templates name, can we do it from UI", + "href": "https://github.com/orgs/langfuse/discussions/3364", + "created_at": "2024-09-16T08:07:30Z", "upvotes": 1, - "comment_count": 1, - "resolved": false, + "comment_count": 3, + "resolved": true, "labels": [ - "feat-datasets" + "feat-evals" ], "author": { - "login": "pfurovYnP", - "html_url": "https://github.com/pfurovYnP" + "login": "divyanshubhuta", + "html_url": "https://github.com/divyanshubhuta" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2358, - "title": "Add view mode to Settings", - "href": "https://github.com/orgs/langfuse/discussions/2358", - "created_at": "2024-06-17T12:48:04Z", + "number": 3344, + "title": "How to use langfuse with LangGraph Studio", + "href": "https://github.com/orgs/langfuse/discussions/3344", + "created_at": "2024-09-13T11:35:53Z", "upvotes": 1, - "comment_count": 1, + "comment_count": 2, "resolved": false, - "labels": [], + "labels": [ + "integration-langchain" + ], "author": { - "login": "emfhal", - "html_url": "https://github.com/emfhal" + "login": "debkanchan", + "html_url": "https://github.com/debkanchan" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2352, - "title": "Support SAML login protocol", - "href": "https://github.com/orgs/langfuse/discussions/2352", - "created_at": "2024-06-17T07:14:14Z", - "upvotes": 4, + "number": 3321, + "title": "Session ids for Langserve", + "href": "https://github.com/orgs/langfuse/discussions/3321", + "created_at": "2024-09-11T22:40:01Z", + "upvotes": 1, "comment_count": 1, "resolved": false, "labels": [ - "self-hosting" + "integration-langchain", + "feat-sessions" ], "author": { - "login": "emfhal", - "html_url": "https://github.com/emfhal" + "login": "YaphetKG", + "html_url": "https://github.com/YaphetKG" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2343, - "title": "Bring Langfuse to Cloud Marketplaces", - "href": "https://github.com/orgs/langfuse/discussions/2343", - "created_at": "2024-06-14T06:41:18Z", - "upvotes": 2, - "comment_count": 2, - "resolved": false, + "number": 3313, + "title": "how to pass custom user managed model name to calculate the cost via langchain", + "href": "https://github.com/orgs/langfuse/discussions/3313", + "created_at": "2024-09-11T13:25:48Z", + "upvotes": 1, + "comment_count": 3, + "resolved": true, "labels": [ - "self-hosting" + "integration-langchain", + "feat-cost-tracking" ], "author": { - "login": "aiakubovich", - "html_url": "https://github.com/aiakubovich" + "login": "jaiswalvineet", + "html_url": "https://github.com/jaiswalvineet" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2336, - "title": "Saving a filter", - "href": "https://github.com/orgs/langfuse/discussions/2336", - "created_at": "2024-06-13T09:15:59Z", + "number": 3308, + "title": "Automated Prompt Management across Environments", + "href": "https://github.com/orgs/langfuse/discussions/3308", + "created_at": "2024-09-11T09:31:26Z", "upvotes": 1, - "comment_count": 0, + "comment_count": 1, + "resolved": true, + "labels": [ + "feat-prompt-management" + ], + "author": { + "login": "jonnyforsterMSG", + "html_url": "https://github.com/jonnyforsterMSG" + }, + "category": "Support" + }, + { + "number": 3307, + "title": "DataSet Scores are not being displayed", + "href": "https://github.com/orgs/langfuse/discussions/3307", + "created_at": "2024-09-11T08:46:31Z", + "upvotes": 1, + "comment_count": 3, + "resolved": true, + "labels": [ + "feat-datasets" + ], + "author": { + "login": "MaxYaz", + "html_url": "https://github.com/MaxYaz" + }, + "category": "Support" + }, + { + "number": 3305, + "title": "bug: cost usage are not getting captured automatically from llm response", + "href": "https://github.com/orgs/langfuse/discussions/3305", + "created_at": "2024-09-11T05:02:03Z", + "upvotes": 1, + "comment_count": 2, "resolved": false, "labels": [], "author": { - "login": "avinash361-devrev", - "html_url": "https://github.com/avinash361-devrev" + "login": "ajeet6261", + "html_url": "https://github.com/ajeet6261" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2331, - "title": "Pendo integration", - "href": "https://github.com/orgs/langfuse/discussions/2331", - "created_at": "2024-06-12T18:22:32Z", + "number": 3271, + "title": "Understanding pricing model (self-hosting vs cloud serving) from security perspective", + "href": "https://github.com/orgs/langfuse/discussions/3271", + "created_at": "2024-09-09T14:07:32Z", "upvotes": 1, - "comment_count": 1, + "comment_count": 2, "resolved": false, "labels": [], "author": { - "login": "mrunaaaaaal", - "html_url": "https://github.com/mrunaaaaaal" + "login": "uahmad235", + "html_url": "https://github.com/uahmad235" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2282, - "title": "[Dashboard] Update Scores Chart to include number of scores on secondary y axis", - "href": "https://github.com/orgs/langfuse/discussions/2282", - "created_at": "2024-06-10T08:41:41Z", + "number": 3267, + "title": "python decorator grouping in trace when using FastAPI Server Sent Events and Langraph + custom function", + "href": "https://github.com/orgs/langfuse/discussions/3267", + "created_at": "2024-09-09T11:10:00Z", "upvotes": 1, - "comment_count": 1, + "comment_count": 4, "resolved": false, "labels": [ - "feat-dashboard" + "integration-langchain", + "integration-python-decorator" ], "author": { - "login": "charlieviettq", - "html_url": "https://github.com/charlieviettq" + "login": "lixxvsky", + "html_url": "https://github.com/lixxvsky" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2278, - "title": "Type of input and output of each span visible in the UI", - "href": "https://github.com/orgs/langfuse/discussions/2278", - "created_at": "2024-06-08T21:17:48Z", - "upvotes": 3, + "number": 3254, + "title": "Vercel AI SDK and Svelte. How to push traces intermittently back to langfuse", + "href": "https://github.com/orgs/langfuse/discussions/3254", + "created_at": "2024-09-06T13:37:17Z", + "upvotes": 1, "comment_count": 1, "resolved": false, "labels": [ - "ui" + "integration-vercel-ai-sdk" ], "author": { - "login": "arthurGrigo", - "html_url": "https://github.com/arthurGrigo" + "login": "oghaAI", + "html_url": "https://github.com/oghaAI" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2268, - "title": "Langfuse retention settings", - "href": "https://github.com/orgs/langfuse/discussions/2268", - "created_at": "2024-06-07T12:27:32Z", - "upvotes": 8, - "comment_count": 6, + "number": 3210, + "title": "When using callbacks, the langfuse_context.update_current_trace method does not function properly.", + "href": "https://github.com/orgs/langfuse/discussions/3210", + "created_at": "2024-09-03T10:29:29Z", + "upvotes": 1, + "comment_count": 4, "resolved": false, "labels": [], "author": { - "login": "sudhanshu746", - "html_url": "https://github.com/sudhanshu746" + "login": "hgliyuhao", + "html_url": "https://github.com/hgliyuhao" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2241, - "title": "Tracing integration with unify.ai", - "href": "https://github.com/orgs/langfuse/discussions/2241", - "created_at": "2024-06-05T15:17:00Z", - "upvotes": 5, - "comment_count": 3, - "resolved": false, - "labels": [ - "integrations" - ], + "number": 3207, + "title": "change of data region", + "href": "https://github.com/orgs/langfuse/discussions/3207", + "created_at": "2024-09-03T06:06:48Z", + "upvotes": 1, + "comment_count": 1, + "resolved": true, + "labels": [], "author": { - "login": "marcklingen", - "html_url": "https://github.com/marcklingen" + "login": "divyanshubhuta", + "html_url": "https://github.com/divyanshubhuta" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2237, - "title": "Add Langchain Support to Prompt Management", - "href": "https://github.com/orgs/langfuse/discussions/2237", - "created_at": "2024-06-05T10:05:13Z", - "upvotes": 34, - "comment_count": 5, + "number": 3191, + "title": "Evaluation config setup related query", + "href": "https://github.com/orgs/langfuse/discussions/3191", + "created_at": "2024-09-02T14:48:01Z", + "upvotes": 1, + "comment_count": 2, "resolved": false, - "labels": [ - "feat-prompt-management", - "integration-langchain", - "✅ Done" - ], + "labels": [], "author": { - "login": "guidev", - "html_url": "https://github.com/guidev" + "login": "divyanshubhuta", + "html_url": "https://github.com/divyanshubhuta" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2226, - "title": "Monitoring Costs and Traces generated by RAGAS", - "href": "https://github.com/orgs/langfuse/discussions/2226", - "created_at": "2024-06-04T09:35:25Z", - "upvotes": 4, - "comment_count": 1, - "resolved": false, + "number": 3182, + "title": "What does `version` means when ingesting trace?", + "href": "https://github.com/orgs/langfuse/discussions/3182", + "created_at": "2024-08-31T20:44:26Z", + "upvotes": 1, + "comment_count": 2, + "resolved": true, "labels": [], "author": { - "login": "paolotamag", - "html_url": "https://github.com/paolotamag" + "login": "STRRL", + "html_url": "https://github.com/STRRL" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2215, - "title": "new chart in dashboard for booleans metrics", - "href": "https://github.com/orgs/langfuse/discussions/2215", - "created_at": "2024-06-03T12:48:37Z", + "number": 3176, + "title": "Get all the generations, events, etc. under Trace", + "href": "https://github.com/orgs/langfuse/discussions/3176", + "created_at": "2024-08-31T02:10:28Z", "upvotes": 1, "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [], "author": { - "login": "paolotamag", - "html_url": "https://github.com/paolotamag" + "login": "bytecod3r", + "html_url": "https://github.com/bytecod3r" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2210, - "title": "MessagesPlaceholder in \"Create New Prompt\" panel", - "href": "https://github.com/orgs/langfuse/discussions/2210", - "created_at": "2024-06-03T06:58:45Z", - "upvotes": 6, + "number": 3168, + "title": "usage pattern for new llamaindex integration", + "href": "https://github.com/orgs/langfuse/discussions/3168", + "created_at": "2024-08-30T20:23:17Z", + "upvotes": 1, "comment_count": 2, - "resolved": false, + "resolved": true, "labels": [ - "feat-prompt-management" + "integraton-llamaindex" ], "author": { - "login": "NIKsun", - "html_url": "https://github.com/NIKsun" + "login": "erik-squared", + "html_url": "https://github.com/erik-squared" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2209, - "title": "Enhance data in daily metrics api endpoint", - "href": "https://github.com/orgs/langfuse/discussions/2209", - "created_at": "2024-06-02T14:38:15Z", + "number": 3132, + "title": "Tracing ChatGoogleGenerativeAI calls in langchain doesn't return usage metadata", + "href": "https://github.com/orgs/langfuse/discussions/3132", + "created_at": "2024-08-29T13:09:13Z", "upvotes": 1, "comment_count": 1, "resolved": false, "labels": [ - "✅ Done", - "feat-api" + "integration-langchain" ], "author": { - "login": "matthiaslau", - "html_url": "https://github.com/matthiaslau" + "login": "NeerajG03", + "html_url": "https://github.com/NeerajG03" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2203, - "title": "Ability to add comments to versions of prompts (\"commit message\")", - "href": "https://github.com/orgs/langfuse/discussions/2203", - "created_at": "2024-06-01T13:13:27Z", - "upvotes": 4, - "comment_count": 4, - "resolved": false, - "labels": [ - "feat-prompt-management" - ], - "author": { - "login": "ajram23", - "html_url": "https://github.com/ajram23" - }, - "category": "Ideas" - }, + "number": 3124, + "title": "Generation does not come under @observe trace", + "href": "https://github.com/orgs/langfuse/discussions/3124", + "created_at": "2024-08-29T00:28:14Z", + "upvotes": 1, + "comment_count": 2, + "resolved": true, + "labels": [], + "author": { + "login": "SatheeshJM", + "html_url": "https://github.com/SatheeshJM" + }, + "category": "Support" + }, { - "number": 2195, - "title": "Timeline/graph visualization for traces", - "href": "https://github.com/orgs/langfuse/discussions/2195", - "created_at": "2024-05-31T08:18:11Z", - "upvotes": 7, - "comment_count": 4, + "number": 3120, + "title": "Langfuse 2.74.0 integration with Flowise 2.0.5", + "href": "https://github.com/orgs/langfuse/discussions/3120", + "created_at": "2024-08-28T20:18:19Z", + "upvotes": 1, + "comment_count": 2, "resolved": false, - "labels": [ - "✅ Done" - ], + "labels": [], "author": { - "login": "david1542", - "html_url": "https://github.com/david1542" + "login": "harshad-c1", + "html_url": "https://github.com/harshad-c1" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2194, - "title": "Terraform Provider for internal Langfuse configuration", - "href": "https://github.com/orgs/langfuse/discussions/2194", - "created_at": "2024-05-31T06:23:11Z", - "upvotes": 2, - "comment_count": 1, - "resolved": false, + "number": 3110, + "title": "How to set SMTP_CONNECTION_URL and reset password?", + "href": "https://github.com/orgs/langfuse/discussions/3110", + "created_at": "2024-08-28T10:05:06Z", + "upvotes": 1, + "comment_count": 2, + "resolved": true, + "labels": [], + "author": { + "login": "zs856", + "html_url": "https://github.com/zs856" + }, + "category": "Support" + }, + { + "number": 3105, + "title": "Dockerfile of langfuse/langfuse:2 image", + "href": "https://github.com/orgs/langfuse/discussions/3105", + "created_at": "2024-08-28T00:13:57Z", + "upvotes": 1, + "comment_count": 2, + "resolved": true, "labels": [ "self-hosting" ], "author": { - "login": "mroedder-d7", - "html_url": "https://github.com/mroedder-d7" + "login": "pparreira", + "html_url": "https://github.com/pparreira" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2184, - "title": "support query prompt via prompt id", - "href": "https://github.com/orgs/langfuse/discussions/2184", - "created_at": "2024-05-30T02:55:59Z", + "number": 3100, + "title": "Time to first token is not populating in trace detail or generations view", + "href": "https://github.com/orgs/langfuse/discussions/3100", + "created_at": "2024-08-27T20:12:14Z", "upvotes": 1, - "comment_count": 1, - "resolved": false, + "comment_count": 2, + "resolved": true, "labels": [], "author": { - "login": "hu9029", - "html_url": "https://github.com/hu9029" + "login": "databloom", + "html_url": "https://github.com/databloom" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2181, - "title": "Support for SDK entry-point wrapper around async REST API client", - "href": "https://github.com/orgs/langfuse/discussions/2181", - "created_at": "2024-05-29T17:50:22Z", + "number": 3099, + "title": "Pulling prompts by tag?", + "href": "https://github.com/orgs/langfuse/discussions/3099", + "created_at": "2024-08-27T20:01:45Z", "upvotes": 1, - "comment_count": 0, + "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "blazing-gig", - "html_url": "https://github.com/blazing-gig" + "login": "mayajosifo", + "html_url": "https://github.com/mayajosifo" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2176, - "title": "Support querying Users (GET) to support analytics pipeline solutions", - "href": "https://github.com/orgs/langfuse/discussions/2176", - "created_at": "2024-05-29T02:42:13Z", - "upvotes": 2, - "comment_count": 1, - "resolved": false, + "number": 3092, + "title": "Deployment into Azure", + "href": "https://github.com/orgs/langfuse/discussions/3092", + "created_at": "2024-08-27T10:05:32Z", + "upvotes": 1, + "comment_count": 2, + "resolved": true, "labels": [ - "feat-users" + "self-hosting" ], "author": { - "login": "Tjmstudios", - "html_url": "https://github.com/Tjmstudios" + "login": "GaryFail", + "html_url": "https://github.com/GaryFail" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2161, - "title": "Prompt version only create when different", - "href": "https://github.com/orgs/langfuse/discussions/2161", - "created_at": "2024-05-27T23:47:21Z", - "upvotes": 4, + "number": 3079, + "title": "How to change the Level to ERROR when there is an error in SPAN?", + "href": "https://github.com/orgs/langfuse/discussions/3079", + "created_at": "2024-08-26T15:46:23Z", + "upvotes": 3, "comment_count": 2, - "resolved": false, + "resolved": true, "labels": [ - "feat-prompt-management" + "feat-log-levels" ], "author": { - "login": "brightsparc", - "html_url": "https://github.com/brightsparc" + "login": "kftam1994", + "html_url": "https://github.com/kftam1994" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2140, - "title": "clickhouse support", - "href": "https://github.com/orgs/langfuse/discussions/2140", - "created_at": "2024-05-24T15:21:14Z", - "upvotes": 2, + "number": 3056, + "title": "Support for configuring SMTP email at project level", + "href": "https://github.com/orgs/langfuse/discussions/3056", + "created_at": "2024-08-23T14:41:45Z", + "upvotes": 1, "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [ - "work-in-progress", - "performance" + "self-hosting" ], "author": { - "login": "newcworld", - "html_url": "https://github.com/newcworld" + "login": "rvndbalaji", + "html_url": "https://github.com/rvndbalaji" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2131, - "title": "Export to data warehouses (BigQuery etc)", - "href": "https://github.com/orgs/langfuse/discussions/2131", - "created_at": "2024-05-23T15:52:18Z", - "upvotes": 18, + "number": 3003, + "title": "Example GenAI bot with guardrails", + "href": "https://github.com/orgs/langfuse/discussions/3003", + "created_at": "2024-08-22T06:37:29Z", + "upvotes": 1, "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "rohan-mehta", - "html_url": "https://github.com/rohan-mehta" + "login": "wangxj03", + "html_url": "https://github.com/wangxj03" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2124, - "title": "Proposal: Add Support for Uploading Dataset Items via UI", - "href": "https://github.com/orgs/langfuse/discussions/2124", - "created_at": "2024-05-22T10:58:04Z", - "upvotes": 5, - "comment_count": 1, - "resolved": false, + "number": 2990, + "title": "[Question] using langfuse with llama_index", + "href": "https://github.com/orgs/langfuse/discussions/2990", + "created_at": "2024-08-21T08:00:59Z", + "upvotes": 1, + "comment_count": 2, + "resolved": true, "labels": [ - "feat-datasets" + "integraton-llamaindex" ], "author": { - "login": "vaddenz", - "html_url": "https://github.com/vaddenz" + "login": "nightosong", + "html_url": "https://github.com/nightosong" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2119, - "title": "Phidata support", - "href": "https://github.com/orgs/langfuse/discussions/2119", - "created_at": "2024-05-21T14:20:09Z", + "number": 2988, + "title": "Non-langchain generation nested within LangGraph execution", + "href": "https://github.com/orgs/langfuse/discussions/2988", + "created_at": "2024-08-21T05:13:51Z", "upvotes": 1, - "comment_count": 1, - "resolved": false, + "comment_count": 2, + "resolved": true, "labels": [ - "integrations" + "integration-langchain" ], "author": { - "login": "michaelpoluektov", - "html_url": "https://github.com/michaelpoluektov" + "login": "mrdrprofuroboros", + "html_url": "https://github.com/mrdrprofuroboros" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2104, - "title": "Feature Request: Tracing Sampling Rate Configuration for Langfuse", - "href": "https://github.com/orgs/langfuse/discussions/2104", - "created_at": "2024-05-20T16:23:05Z", - "upvotes": 2, + "number": 2983, + "title": "Tracing directly to queue instead of http api", + "href": "https://github.com/orgs/langfuse/discussions/2983", + "created_at": "2024-08-20T14:33:17Z", + "upvotes": 0, "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [ - "✅ Done" + "self-hosting" ], "author": { - "login": "himansrivastava", - "html_url": "https://github.com/himansrivastava" + "login": "exotikh3", + "html_url": "https://github.com/exotikh3" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2101, - "title": "feat: Adding AWS Cognito Authentication", - "href": "https://github.com/orgs/langfuse/discussions/2101", - "created_at": "2024-05-20T14:30:32Z", + "number": 3901, + "title": "How to resolve memory leak when integrating Langfuse with LangChain", + "href": "https://github.com/orgs/langfuse/discussions/3901", + "created_at": "2024-08-20T03:14:45Z", "upvotes": 1, - "comment_count": 2, - "resolved": false, - "labels": [ - "✅ Done", - "feat-auth" - ], - "author": { - "login": "Shekswess", - "html_url": "https://github.com/Shekswess" - }, - "category": "Ideas" - }, - { - "number": 2097, - "title": "Markdown Rendering Option", - "href": "https://github.com/orgs/langfuse/discussions/2097", - "created_at": "2024-05-18T16:58:37Z", - "upvotes": 4, - "comment_count": 4, - "resolved": false, - "labels": [ - "✅ Done" - ], - "author": { - "login": "hburrichter", - "html_url": "https://github.com/hburrichter" - }, - "category": "Ideas" - }, - { - "number": 2081, - "title": "feat: inject langfuse info into langchain metadata", - "href": "https://github.com/orgs/langfuse/discussions/2081", - "created_at": "2024-05-16T20:43:41Z", - "upvotes": 1, - "comment_count": 0, - "resolved": false, + "comment_count": 6, + "resolved": true, "labels": [ "integration-langchain" ], "author": { - "login": "benobytes", - "html_url": "https://github.com/benobytes" + "login": "ivan-94", + "html_url": "https://github.com/ivan-94" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2072, - "title": "Adding prompt tags via Python SDK (or other code based interactions)", - "href": "https://github.com/orgs/langfuse/discussions/2072", - "created_at": "2024-05-16T09:46:20Z", - "upvotes": 5, + "number": 2959, + "title": "Duplicate usage data in observation api endpoint response", + "href": "https://github.com/orgs/langfuse/discussions/2959", + "created_at": "2024-08-16T10:57:00Z", + "upvotes": 1, "comment_count": 2, - "resolved": false, + "resolved": true, "labels": [], "author": { - "login": "simon-hiel", - "html_url": "https://github.com/simon-hiel" + "login": "jonnyforsterMSG", + "html_url": "https://github.com/jonnyforsterMSG" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2071, - "title": "Save playground conversation to a dataset", - "href": "https://github.com/orgs/langfuse/discussions/2071", - "created_at": "2024-05-16T09:24:29Z", - "upvotes": 3, - "comment_count": 0, + "number": 2958, + "title": "Time to first token query", + "href": "https://github.com/orgs/langfuse/discussions/2958", + "created_at": "2024-08-16T10:08:42Z", + "upvotes": 1, + "comment_count": 2, "resolved": false, - "labels": [ - "feat-datasets", - "feat-playground" - ], + "labels": [], "author": { - "login": "bderenzi", - "html_url": "https://github.com/bderenzi" + "login": "GaryFail", + "html_url": "https://github.com/GaryFail" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2065, - "title": "Support multiple prompts attached to a generation.", - "href": "https://github.com/orgs/langfuse/discussions/2065", - "created_at": "2024-05-15T22:16:35Z", - "upvotes": 3, + "number": 2952, + "title": "Locally hosted PrivateGPT + pgpt_python + Langfuse", + "href": "https://github.com/orgs/langfuse/discussions/2952", + "created_at": "2024-08-15T15:12:16Z", + "upvotes": 1, "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "jansenderr", - "html_url": "https://github.com/jansenderr" + "login": "qdingle404", + "html_url": "https://github.com/qdingle404" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2064, - "title": "Show explicit error when viewing a project that doesn't exist", - "href": "https://github.com/orgs/langfuse/discussions/2064", - "created_at": "2024-05-15T16:49:32Z", + "number": 2945, + "title": "Unit of token count for cost analysis", + "href": "https://github.com/orgs/langfuse/discussions/2945", + "created_at": "2024-08-15T09:33:59Z", "upvotes": 1, - "comment_count": 0, - "resolved": false, + "comment_count": 1, + "resolved": true, "labels": [], "author": { - "login": "backmask", - "html_url": "https://github.com/backmask" + "login": "thomasjv799", + "html_url": "https://github.com/thomasjv799" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2045, - "title": "Requesting official support OpenAI's new gpt-4o model", - "href": "https://github.com/orgs/langfuse/discussions/2045", - "created_at": "2024-05-13T21:37:38Z", - "upvotes": 3, - "comment_count": 5, - "resolved": false, + "number": 2933, + "title": "how to return trace_id in openai completion response when using langfuse as a proxy in litellm?", + "href": "https://github.com/orgs/langfuse/discussions/2933", + "created_at": "2024-08-14T07:52:30Z", + "upvotes": 1, + "comment_count": 2, + "resolved": true, "labels": [ - "integration-openai", - "✅ Done", - "feat-cost-tracking" + "integration-litellm" ], "author": { - "login": "varenc", - "html_url": "https://github.com/varenc" + "login": "octadion", + "html_url": "https://github.com/octadion" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2043, - "title": "Support instrumentation through openllmetry", - "href": "https://github.com/orgs/langfuse/discussions/2043", - "created_at": "2024-05-13T19:27:59Z", - "upvotes": 8, - "comment_count": 1, - "resolved": false, - "labels": [], + "number": 2927, + "title": "Span created with Langchain not showing up in traces.", + "href": "https://github.com/orgs/langfuse/discussions/2927", + "created_at": "2024-08-13T20:32:35Z", + "upvotes": 1, + "comment_count": 2, + "resolved": true, + "labels": [ + "integration-langchain" + ], "author": { - "login": "baggiponte", - "html_url": "https://github.com/baggiponte" + "login": "HardKothari", + "html_url": "https://github.com/HardKothari" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2039, - "title": "Introduce the concept of \"sub-prompt\" to improve prompt reusability", - "href": "https://github.com/orgs/langfuse/discussions/2039", - "created_at": "2024-05-13T10:14:44Z", - "upvotes": 3, - "comment_count": 1, - "resolved": false, - "labels": [], + "number": 2909, + "title": "Change port database in file docker-compose.yml", + "href": "https://github.com/orgs/langfuse/discussions/2909", + "created_at": "2024-08-13T08:05:37Z", + "upvotes": 1, + "comment_count": 2, + "resolved": true, + "labels": [ + "self-hosting" + ], "author": { - "login": "khaelys", - "html_url": "https://github.com/khaelys" + "login": "hungvipqt15", + "html_url": "https://github.com/hungvipqt15" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2030, - "title": "Add number of 'successful request' to traces list view", - "href": "https://github.com/orgs/langfuse/discussions/2030", - "created_at": "2024-05-09T23:25:27Z", + "number": 2907, + "title": "Change port connection in docker compose", + "href": "https://github.com/orgs/langfuse/discussions/2907", + "created_at": "2024-08-13T06:40:30Z", "upvotes": 1, "comment_count": 1, "resolved": false, - "labels": [], + "labels": [ + "self-hosting" + ], "author": { - "login": "arthurGrigo", - "html_url": "https://github.com/arthurGrigo" + "login": "hungvipqt15", + "html_url": "https://github.com/hungvipqt15" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2021, - "title": "Ask for a import/export on prompt management page", - "href": "https://github.com/orgs/langfuse/discussions/2021", - "created_at": "2024-05-09T03:17:50Z", - "upvotes": 1, + "number": 2904, + "title": "How to append current trace when calling function second time?", + "href": "https://github.com/orgs/langfuse/discussions/2904", + "created_at": "2024-08-12T15:12:22Z", + "upvotes": 2, "comment_count": 2, - "resolved": false, - "labels": [], + "resolved": true, + "labels": [ + "integration-python-decorator" + ], "author": { - "login": "ShaunDeng", - "html_url": "https://github.com/ShaunDeng" + "login": "nathan-vo810", + "html_url": "https://github.com/nathan-vo810" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2006, - "title": "Gitlab Auth Provider", - "href": "https://github.com/orgs/langfuse/discussions/2006", - "created_at": "2024-05-08T10:12:51Z", + "number": 2895, + "title": "How to update an event", + "href": "https://github.com/orgs/langfuse/discussions/2895", + "created_at": "2024-08-11T16:51:18Z", "upvotes": 1, "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [], "author": { - "login": "jsirex", - "html_url": "https://github.com/jsirex" + "login": "bytecod3r", + "html_url": "https://github.com/bytecod3r" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1990, - "title": "Add batch actions to traces", - "href": "https://github.com/orgs/langfuse/discussions/1990", - "created_at": "2024-05-07T09:37:42Z", + "number": 2888, + "title": "How to change the level of a trace?", + "href": "https://github.com/orgs/langfuse/discussions/2888", + "created_at": "2024-08-09T14:35:34Z", "upvotes": 3, - "comment_count": 0, - "resolved": false, - "labels": [], - "author": { - "login": "nimbusaeta", - "html_url": "https://github.com/nimbusaeta" - }, - "category": "Ideas" - }, - { - "number": 1988, - "title": "Upload datasets via UI", - "href": "https://github.com/orgs/langfuse/discussions/1988", - "created_at": "2024-05-06T20:25:20Z", - "upvotes": 9, - "comment_count": 1, - "resolved": false, + "comment_count": 2, + "resolved": true, "labels": [ - "feat-datasets" + "feat-log-levels" ], "author": { - "login": "assafweinberg", - "html_url": "https://github.com/assafweinberg" + "login": "ldbolanos", + "html_url": "https://github.com/ldbolanos" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1987, - "title": "API/UI to delete dataset items and runs", - "href": "https://github.com/orgs/langfuse/discussions/1987", - "created_at": "2024-05-06T17:13:16Z", - "upvotes": 24, - "comment_count": 2, + "number": 2879, + "title": "ERROR:langfuse:status_code: 404, body: {'message': 'Trace not found within authorized project', 'error': 'LangfuseNotFoundError'}", + "href": "https://github.com/orgs/langfuse/discussions/2879", + "created_at": "2024-08-09T09:31:33Z", + "upvotes": 1, + "comment_count": 3, "resolved": false, - "labels": [ - "feat-datasets" - ], + "labels": [], "author": { - "login": "tomek82", - "html_url": "https://github.com/tomek82" + "login": "nithin1995", + "html_url": "https://github.com/nithin1995" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1963, - "title": "Is it possible integrate Langfuse with Microsoft Copilot Studio?", - "href": "https://github.com/orgs/langfuse/discussions/1963", - "created_at": "2024-05-03T03:33:22Z", + "number": 2874, + "title": "Does langfuse trace parallel api calls? I tried a sample with parallel call but it didn't traced.", + "href": "https://github.com/orgs/langfuse/discussions/2874", + "created_at": "2024-08-09T05:09:26Z", "upvotes": 1, - "comment_count": 0, + "comment_count": 4, "resolved": false, "labels": [], "author": { - "login": "aiakubovich", - "html_url": "https://github.com/aiakubovich" + "login": "ksundarraj-c-rpx", + "html_url": "https://github.com/ksundarraj-c-rpx" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2055, - "title": "Openai: Support IO capture when streaming function / tool call", - "href": "https://github.com/orgs/langfuse/discussions/2055", - "created_at": "2024-05-01T15:25:15Z", - "upvotes": 16, - "comment_count": 7, - "resolved": false, + "number": 2871, + "title": "Self-hosted Langfuse running as a Google cloud service not showing traces", + "href": "https://github.com/orgs/langfuse/discussions/2871", + "created_at": "2024-08-08T13:40:34Z", + "upvotes": 1, + "comment_count": 2, + "resolved": true, "labels": [ - "sdk-python", - "integration-openai", - "✅ Done" + "🐞❔ unconfirmed bug" ], "author": { - "login": "DanrForetellix", - "html_url": "https://github.com/DanrForetellix" + "login": "SectumPsempra", + "html_url": "https://github.com/SectumPsempra" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1941, - "title": "Looking into allowing more customization of the table", - "href": "https://github.com/orgs/langfuse/discussions/1941", - "created_at": "2024-05-01T14:47:32Z", + "number": 2867, + "title": "Using the API to record traces from multiple platforms?", + "href": "https://github.com/orgs/langfuse/discussions/2867", + "created_at": "2024-08-08T13:15:49Z", "upvotes": 1, "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "Mohamed-Ayaan358", - "html_url": "https://github.com/Mohamed-Ayaan358" + "login": "appliraz", + "html_url": "https://github.com/appliraz" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1916, - "title": "Langchain integration Improvements", - "href": "https://github.com/orgs/langfuse/discussions/1916", - "created_at": "2024-04-30T13:23:19Z", - "upvotes": 2, - "comment_count": 2, - "resolved": false, - "labels": [ - "integration-langchain", - "✅ Done" - ], + "number": 2858, + "title": "Langfuse observeOpenAI not logging generations using new zodResponseFormat.", + "href": "https://github.com/orgs/langfuse/discussions/2858", + "created_at": "2024-08-07T21:45:41Z", + "upvotes": 1, + "comment_count": 3, + "resolved": true, + "labels": [], "author": { - "login": "ajram23", - "html_url": "https://github.com/ajram23" + "login": "fabstu", + "html_url": "https://github.com/fabstu" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1904, - "title": "Retrieve prompts based on versioning rather than times for caching", - "href": "https://github.com/orgs/langfuse/discussions/1904", - "created_at": "2024-04-29T14:04:27Z", + "number": 2852, + "title": "How run Langfuse evaluations over specifics spans?", + "href": "https://github.com/orgs/langfuse/discussions/2852", + "created_at": "2024-08-07T13:40:02Z", "upvotes": 1, "comment_count": 2, - "resolved": false, + "resolved": true, "labels": [ - "feat-prompt-management" + "integration-langchain", + "feat-evals" ], "author": { - "login": "ajram23", - "html_url": "https://github.com/ajram23" + "login": "joaoCrulhas", + "html_url": "https://github.com/joaoCrulhas" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1896, - "title": "Delete Session", - "href": "https://github.com/orgs/langfuse/discussions/1896", - "created_at": "2024-04-29T08:01:05Z", - "upvotes": 15, - "comment_count": 0, + "number": 2844, + "title": "LangFuse not logging LlamaIndex events", + "href": "https://github.com/orgs/langfuse/discussions/2844", + "created_at": "2024-08-07T10:46:19Z", + "upvotes": 2, + "comment_count": 3, "resolved": false, "labels": [ - "feat-sessions" + "integraton-llamaindex" ], "author": { - "login": "rohan-gt", - "html_url": "https://github.com/rohan-gt" + "login": "adieyal", + "html_url": "https://github.com/adieyal" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1895, - "title": "linking prompts with tracing in langchain integration", - "href": "https://github.com/orgs/langfuse/discussions/1895", - "created_at": "2024-04-28T13:13:08Z", - "upvotes": 10, + "number": 2830, + "title": "UpdateRoot in the callback handler seems not work", + "href": "https://github.com/orgs/langfuse/discussions/2830", + "created_at": "2024-08-06T08:58:25Z", + "upvotes": 1, + "comment_count": 1, + "resolved": true, + "labels": [], + "author": { + "login": "joaoCrulhas", + "html_url": "https://github.com/joaoCrulhas" + }, + "category": "Support" + }, + { + "number": 2828, + "title": "Issue: Integration of Langfuse with DSPy Framework - Zero Values for Cost and Token Usage", + "href": "https://github.com/orgs/langfuse/discussions/2828", + "created_at": "2024-08-06T05:55:30Z", + "upvotes": 1, "comment_count": 3, - "resolved": false, + "resolved": true, "labels": [ - "feat-prompt-management", - "integration-langchain", - "✅ Done" + "integration-dspy" ], "author": { - "login": "SatheeshJM", - "html_url": "https://github.com/SatheeshJM" + "login": "mahitha-29", + "html_url": "https://github.com/mahitha-29" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1867, - "title": "Add integration with evaluation frameworks", - "href": "https://github.com/orgs/langfuse/discussions/1867", - "created_at": "2024-04-25T23:09:03Z", - "upvotes": 1, + "number": 2817, + "title": "Praise for the Langfuse library! 🚀", + "href": "https://github.com/orgs/langfuse/discussions/2817", + "created_at": "2024-08-03T10:53:41Z", + "upvotes": 2, "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [], "author": { - "login": "johnnydevriese", - "html_url": "https://github.com/johnnydevriese" + "login": "ttamg", + "html_url": "https://github.com/ttamg" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1862, - "title": "Support Linking Execution Trace to DatasetItem without Fetching Entire Dataset", - "href": "https://github.com/orgs/langfuse/discussions/1862", - "created_at": "2024-04-25T18:57:08Z", + "number": 2809, + "title": "No space left on device db error", + "href": "https://github.com/orgs/langfuse/discussions/2809", + "created_at": "2024-08-01T15:10:52Z", "upvotes": 1, - "comment_count": 1, - "resolved": false, + "comment_count": 2, + "resolved": true, "labels": [ - "feat-datasets" + "self-hosting" ], "author": { - "login": "sfarthin", - "html_url": "https://github.com/sfarthin" + "login": "nithin1995", + "html_url": "https://github.com/nithin1995" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1858, - "title": "Platform User roles to allow or disable project creation", - "href": "https://github.com/orgs/langfuse/discussions/1858", - "created_at": "2024-04-25T16:00:12Z", + "number": 2808, + "title": "Dynamic prompt generation", + "href": "https://github.com/orgs/langfuse/discussions/2808", + "created_at": "2024-08-01T14:41:48Z", "upvotes": 1, "comment_count": 2, - "resolved": false, + "resolved": true, "labels": [ - "✅ Done", - "feat-rbac" + "feat-prompt-management" ], "author": { - "login": "JMcGenn", - "html_url": "https://github.com/JMcGenn" - }, - "category": "Ideas" - }, - { - "number": 1851, - "title": "[oauth] Keycloak provider support", - "href": "https://github.com/orgs/langfuse/discussions/1851", - "created_at": "2024-04-25T12:39:26Z", - "upvotes": 7, - "comment_count": 1, - "resolved": false, - "labels": [ - "self-hosting" - ], - "author": { - "login": "9teen90nine", - "html_url": "https://github.com/9teen90nine" + "login": "LLazzar", + "html_url": "https://github.com/LLazzar" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1843, - "title": "Support GigaChat model from LangChain", - "href": "https://github.com/orgs/langfuse/discussions/1843", - "created_at": "2024-04-25T09:24:07Z", + "number": 2801, + "title": "Unable to update generation span after LLM invocation", + "href": "https://github.com/orgs/langfuse/discussions/2801", + "created_at": "2024-08-01T03:23:15Z", "upvotes": 1, - "comment_count": 0, - "resolved": false, + "comment_count": 2, + "resolved": true, "labels": [ "integration-langchain" ], "author": { - "login": "Rai220", - "html_url": "https://github.com/Rai220" - }, - "category": "Ideas" - }, - { - "number": 1830, - "title": "Decorator should also be able to return JSON or Dictionary object", - "href": "https://github.com/orgs/langfuse/discussions/1830", - "created_at": "2024-04-24T09:41:39Z", - "upvotes": 1, - "comment_count": 2, - "resolved": false, - "labels": [], - "author": { - "login": "nathan-vo810", - "html_url": "https://github.com/nathan-vo810" + "login": "Heucles", + "html_url": "https://github.com/Heucles" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1826, - "title": "Having a session_with_user client", - "href": "https://github.com/orgs/langfuse/discussions/1826", - "created_at": "2024-04-24T08:31:05Z", + "number": 2787, + "title": "Self-hosted (Railway) Authorization error (401) while connecting to host", + "href": "https://github.com/orgs/langfuse/discussions/2787", + "created_at": "2024-07-30T19:23:59Z", "upvotes": 1, - "comment_count": 0, + "comment_count": 3, "resolved": false, "labels": [], "author": { - "login": "rtzy7", - "html_url": "https://github.com/rtzy7" + "login": "vishnumallela", + "html_url": "https://github.com/vishnumallela" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1823, - "title": "Change `/api/chatCompletion` to be a standard OpenAI proxy on `/api/v1/chat/completions`?", - "href": "https://github.com/orgs/langfuse/discussions/1823", - "created_at": "2024-04-23T19:48:34Z", + "number": 2769, + "title": "Continue trace on Celery worker with observe decorator", + "href": "https://github.com/orgs/langfuse/discussions/2769", + "created_at": "2024-07-27T18:23:13Z", "upvotes": 1, - "comment_count": 1, - "resolved": false, - "labels": [], + "comment_count": 2, + "resolved": true, + "labels": [ + "integration-python-decorator" + ], "author": { - "login": "Manouchehri", - "html_url": "https://github.com/Manouchehri" + "login": "artefactop", + "html_url": "https://github.com/artefactop" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1820, - "title": "Auth using Microsoft Entra ID", - "href": "https://github.com/orgs/langfuse/discussions/1820", - "created_at": "2024-04-23T18:32:42Z", + "number": 2768, + "title": "How do i register the token count and cost for observe decorator", + "href": "https://github.com/orgs/langfuse/discussions/2768", + "created_at": "2024-07-27T14:47:58Z", "upvotes": 1, "comment_count": 2, - "resolved": false, + "resolved": true, "labels": [ - "✅ Done", - "self-hosting" + "integration-python-decorator", + "feat-cost-tracking" ], "author": { - "login": "Stadly", - "html_url": "https://github.com/Stadly" + "login": "yevkim", + "html_url": "https://github.com/yevkim" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1816, - "title": "Add a metrics endpoint for Prometheus", - "href": "https://github.com/orgs/langfuse/discussions/1816", - "created_at": "2024-04-23T14:33:38Z", - "upvotes": 5, + "number": 2767, + "title": "Missing evaluation metrics", + "href": "https://github.com/orgs/langfuse/discussions/2767", + "created_at": "2024-07-27T05:07:56Z", + "upvotes": 1, "comment_count": 2, - "resolved": false, + "resolved": true, "labels": [], "author": { - "login": "nolwennz", - "html_url": "https://github.com/nolwennz" + "login": "MayankBitcot", + "html_url": "https://github.com/MayankBitcot" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1813, - "title": "Provide an integration with Matomo Analytics so as for Posthog", - "href": "https://github.com/orgs/langfuse/discussions/1813", - "created_at": "2024-04-23T12:24:41Z", - "upvotes": 12, - "comment_count": 4, + "number": 2736, + "title": "Ability to upload Cost and Usage metrics in Langfuse for Gemini Models from LlamaIndex", + "href": "https://github.com/orgs/langfuse/discussions/2736", + "created_at": "2024-07-25T06:17:14Z", + "upvotes": 2, + "comment_count": 1, "resolved": false, "labels": [ - "integrations" + "integraton-llamaindex", + "feat-cost-tracking" ], "author": { - "login": "Chardonneaur", - "html_url": "https://github.com/Chardonneaur" + "login": "ansu86d", + "html_url": "https://github.com/ansu86d" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1800, - "title": "Add command r/command r plus via Azure Marketplace", - "href": "https://github.com/orgs/langfuse/discussions/1800", - "created_at": "2024-04-22T16:11:38Z", - "upvotes": 2, + "number": 2735, + "title": "Deployment on K8s", + "href": "https://github.com/orgs/langfuse/discussions/2735", + "created_at": "2024-07-25T04:38:19Z", + "upvotes": 1, "comment_count": 2, + "resolved": true, + "labels": [], + "author": { + "login": "nithin1995", + "html_url": "https://github.com/nithin1995" + }, + "category": "Support" + }, + { + "number": 2718, + "title": "How to ignore inputs when using LangChain?", + "href": "https://github.com/orgs/langfuse/discussions/2718", + "created_at": "2024-07-23T10:58:07Z", + "upvotes": 2, + "comment_count": 3, "resolved": false, "labels": [ - "bug", "integration-langchain" ], "author": { - "login": "jayfk", - "html_url": "https://github.com/jayfk" + "login": "justingodden", + "html_url": "https://github.com/justingodden" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1794, - "title": "User-level dashboard", - "href": "https://github.com/orgs/langfuse/discussions/1794", - "created_at": "2024-04-22T01:56:15Z", + "number": 2716, + "title": "Langgraph with langfuse", + "href": "https://github.com/orgs/langfuse/discussions/2716", + "created_at": "2024-07-23T09:12:20Z", "upvotes": 1, - "comment_count": 1, - "resolved": false, + "comment_count": 4, + "resolved": true, "labels": [ - "feat-users" + "integration-langchain" ], "author": { - "login": "secsilm", - "html_url": "https://github.com/secsilm" + "login": "MayankBitcot", + "html_url": "https://github.com/MayankBitcot" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1793, - "title": "Request chart of min/avg/max input/output tokens", - "href": "https://github.com/orgs/langfuse/discussions/1793", - "created_at": "2024-04-21T13:33:39Z", - "upvotes": 2, - "comment_count": 1, - "resolved": false, + "number": 2714, + "title": "Using langfuse without saving promps", + "href": "https://github.com/orgs/langfuse/discussions/2714", + "created_at": "2024-07-23T08:44:44Z", + "upvotes": 1, + "comment_count": 2, + "resolved": true, "labels": [], "author": { - "login": "secsilm", - "html_url": "https://github.com/secsilm" + "login": "molntamas", + "html_url": "https://github.com/molntamas" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1783, - "title": "Limit new user registration", - "href": "https://github.com/orgs/langfuse/discussions/1783", - "created_at": "2024-04-19T09:34:55Z", + "number": 2712, + "title": "cannot execute INSERT in a read-only transaction", + "href": "https://github.com/orgs/langfuse/discussions/2712", + "created_at": "2024-07-23T07:49:30Z", "upvotes": 1, - "comment_count": 1, + "comment_count": 2, "resolved": false, "labels": [ "self-hosting" ], "author": { - "login": "secsilm", - "html_url": "https://github.com/secsilm" + "login": "damianradowiecki", + "html_url": "https://github.com/damianradowiecki" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1781, - "title": "feature for python client:get traces by score", - "href": "https://github.com/orgs/langfuse/discussions/1781", - "created_at": "2024-04-19T09:12:48Z", - "upvotes": 1, + "number": 2706, + "title": "Disable tracing of input and output for nested elements with in a chain.", + "href": "https://github.com/orgs/langfuse/discussions/2706", + "created_at": "2024-07-22T16:17:53Z", + "upvotes": 2, "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "StarsSparkle", - "html_url": "https://github.com/StarsSparkle" + "login": "jaitd", + "html_url": "https://github.com/jaitd" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1780, - "title": "Log for Function Calling", - "href": "https://github.com/orgs/langfuse/discussions/1780", - "created_at": "2024-04-19T06:40:55Z", - "upvotes": 6, + "number": 2705, + "title": "Support for adding traces/observations/sessions/events/spans/generations related logging to LF via API", + "href": "https://github.com/orgs/langfuse/discussions/2705", + "created_at": "2024-07-22T12:57:05Z", + "upvotes": 1, "comment_count": 1, - "resolved": false, - "labels": [ - "integration-openai" - ], + "resolved": true, + "labels": [], "author": { - "login": "jaindees", - "html_url": "https://github.com/jaindees" + "login": "ashutoshsaboo", + "html_url": "https://github.com/ashutoshsaboo" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1776, - "title": "SSO: Cognito", - "href": "https://github.com/orgs/langfuse/discussions/1776", - "created_at": "2024-04-18T20:40:43Z", + "number": 2671, + "title": "Cannot connect prompt to trace when using Langchain AzureChatOpenai", + "href": "https://github.com/orgs/langfuse/discussions/2671", + "created_at": "2024-07-18T13:30:14Z", "upvotes": 1, "comment_count": 2, "resolved": false, + "labels": [], + "author": { + "login": "nihadazimli", + "html_url": "https://github.com/nihadazimli" + }, + "category": "Support" + }, + { + "number": 2658, + "title": "how to customize trace id when using callback handler in langchain integration", + "href": "https://github.com/orgs/langfuse/discussions/2658", + "created_at": "2024-07-17T13:38:18Z", + "upvotes": 3, + "comment_count": 2, + "resolved": true, "labels": [ - "✅ Done", - "self-hosting" + "integration-langchain" ], "author": { - "login": "theluk", - "html_url": "https://github.com/theluk" + "login": "shawnzhu", + "html_url": "https://github.com/shawnzhu" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1774, - "title": "PromptClient: Support mustache type export to langchain", - "href": "https://github.com/orgs/langfuse/discussions/1774", - "created_at": "2024-04-18T18:52:40Z", - "upvotes": 1, + "number": 2640, + "title": "Adding Scores to langfuse with dify", + "href": "https://github.com/orgs/langfuse/discussions/2640", + "created_at": "2024-07-16T16:00:11Z", + "upvotes": 2, "comment_count": 1, - "resolved": false, - "labels": [], + "resolved": true, + "labels": [ + "integration-dify" + ], "author": { - "login": "maxjacu", - "html_url": "https://github.com/maxjacu" + "login": "shaquelsamir", + "html_url": "https://github.com/shaquelsamir" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1770, - "title": "New REST API endpoint to get all prompts", - "href": "https://github.com/orgs/langfuse/discussions/1770", - "created_at": "2024-04-18T02:40:14Z", + "number": 2619, + "title": "How to add a function to current trace instead of seperate since it's outside lcel chain?", + "href": "https://github.com/orgs/langfuse/discussions/2619", + "created_at": "2024-07-12T07:08:47Z", "upvotes": 1, - "comment_count": 2, - "resolved": false, - "labels": [], + "comment_count": 1, + "resolved": true, + "labels": [ + "integration-langchain" + ], "author": { - "login": "zoltan-fedor", - "html_url": "https://github.com/zoltan-fedor" + "login": "sarim2000", + "html_url": "https://github.com/sarim2000" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1769, - "title": "Request chart of the generation speed of tokens (tokens/s)", - "href": "https://github.com/orgs/langfuse/discussions/1769", - "created_at": "2024-04-18T02:14:37Z", + "number": 2616, + "title": "Weird Output for scores when using fetch_traces()", + "href": "https://github.com/orgs/langfuse/discussions/2616", + "created_at": "2024-07-11T12:46:23Z", "upvotes": 1, - "comment_count": 1, + "comment_count": 2, "resolved": false, "labels": [], "author": { - "login": "secsilm", - "html_url": "https://github.com/secsilm" + "login": "kevinpkaria", + "html_url": "https://github.com/kevinpkaria" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1760, - "title": "annotation of traces in langfuse console?", - "href": "https://github.com/orgs/langfuse/discussions/1760", - "created_at": "2024-04-17T17:51:47Z", - "upvotes": 3, - "comment_count": 2, + "number": 2600, + "title": "Add input Price and Output price for gemini-1.5-pro and gemini-1.5-flash in Models", + "href": "https://github.com/orgs/langfuse/discussions/2600", + "created_at": "2024-07-10T09:52:23Z", + "upvotes": 4, + "comment_count": 1, "resolved": false, - "labels": [ - "✅ Done", - "feat-annotation" - ], + "labels": [], "author": { - "login": "erik-squared", - "html_url": "https://github.com/erik-squared" + "login": "fjeanchar", + "html_url": "https://github.com/fjeanchar" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1755, - "title": "feat: Prompt API Search (by tags)", - "href": "https://github.com/orgs/langfuse/discussions/1755", - "created_at": "2024-04-17T09:37:50Z", - "upvotes": 2, - "comment_count": 2, - "resolved": false, + "number": 2599, + "title": "Overall projects dashboard?", + "href": "https://github.com/orgs/langfuse/discussions/2599", + "created_at": "2024-07-10T09:09:02Z", + "upvotes": 1, + "comment_count": 1, + "resolved": true, "labels": [ - "✅ Done" + "feat-dashboard" ], "author": { - "login": "bryan-agicap", - "html_url": "https://github.com/bryan-agicap" + "login": "justingodden", + "html_url": "https://github.com/justingodden" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1744, - "title": "Is it possible to support Dify?", - "href": "https://github.com/orgs/langfuse/discussions/1744", - "created_at": "2024-04-16T20:55:11Z", - "upvotes": 2, - "comment_count": 2, - "resolved": false, + "number": 2597, + "title": "[Errno 111] Connection refused when connecting to langfuse within docker compose", + "href": "https://github.com/orgs/langfuse/discussions/2597", + "created_at": "2024-07-10T09:00:34Z", + "upvotes": 1, + "comment_count": 1, + "resolved": true, "labels": [ - "integrations", - "✅ Done", - "integration-dify" + "self-hosting" ], "author": { - "login": "jtsang4", - "html_url": "https://github.com/jtsang4" + "login": "bspetrov", + "html_url": "https://github.com/bspetrov" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1716, - "title": "feat: Add `TRACE_EVENTS` flag", - "href": "https://github.com/orgs/langfuse/discussions/1716", - "created_at": "2024-04-15T12:29:30Z", + "number": 2595, + "title": "Migrate a local deployment of langfuse from one computer to another", + "href": "https://github.com/orgs/langfuse/discussions/2595", + "created_at": "2024-07-10T07:46:04Z", "upvotes": 1, "comment_count": 2, - "resolved": false, + "resolved": true, "labels": [ - "✅ Done" + "self-hosting" ], "author": { - "login": "JorisAndrade", - "html_url": "https://github.com/JorisAndrade" + "login": "nithin1995", + "html_url": "https://github.com/nithin1995" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1715, - "title": "Add support for ZITADEL OIDC", - "href": "https://github.com/orgs/langfuse/discussions/1715", - "created_at": "2024-04-15T12:27:54Z", + "number": 2590, + "title": "Experiments running but inputs and outputs of LLM are not linked to dashboard", + "href": "https://github.com/orgs/langfuse/discussions/2590", + "created_at": "2024-07-09T18:29:22Z", "upvotes": 1, "comment_count": 1, "resolved": false, - "labels": [ - "self-hosting" - ], + "labels": [], "author": { - "login": "bitfactory-sem-denbroeder", - "html_url": "https://github.com/bitfactory-sem-denbroeder" + "login": "IbrahimAhmed03", + "html_url": "https://github.com/IbrahimAhmed03" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1711, - "title": "Webhook to trigger CI/CD pipeline when new prompt version is created", - "href": "https://github.com/orgs/langfuse/discussions/1711", - "created_at": "2024-04-14T13:46:30Z", - "upvotes": 5, + "number": 2574, + "title": "how to embed langfuse dashboard in other tool", + "href": "https://github.com/orgs/langfuse/discussions/2574", + "created_at": "2024-07-08T21:24:13Z", + "upvotes": 1, "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [ - "feat-prompt-management", - "feat-api" + "feat-dashboard" ], "author": { - "login": "tamdoEH", - "html_url": "https://github.com/tamdoEH" + "login": "deepakdeore2004", + "html_url": "https://github.com/deepakdeore2004" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1710, - "title": "Review feature for prompt deployment", - "href": "https://github.com/orgs/langfuse/discussions/1710", - "created_at": "2024-04-14T13:39:50Z", - "upvotes": 3, - "comment_count": 3, + "number": 2567, + "title": "How to use prompt management with openai JS?", + "href": "https://github.com/orgs/langfuse/discussions/2567", + "created_at": "2024-07-08T08:22:49Z", + "upvotes": 1, + "comment_count": 2, "resolved": false, "labels": [ "feat-prompt-management" ], "author": { - "login": "tamdoEH", - "html_url": "https://github.com/tamdoEH" + "login": "oscarmorrison", + "html_url": "https://github.com/oscarmorrison" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1707, - "title": "API for custom model <> token usage pricing", - "href": "https://github.com/orgs/langfuse/discussions/1707", - "created_at": "2024-04-13T22:37:38Z", - "upvotes": 3, + "number": 2564, + "title": "Update metadata when using OpenAI JS Integration", + "href": "https://github.com/orgs/langfuse/discussions/2564", + "created_at": "2024-07-08T07:37:38Z", + "upvotes": 1, + "comment_count": 3, + "resolved": false, + "labels": [], + "author": { + "login": "oscarmorrison", + "html_url": "https://github.com/oscarmorrison" + }, + "category": "Support" + }, + { + "number": 2527, + "title": "Can't set trace params e.g session_id when using with llhama_index", + "href": "https://github.com/orgs/langfuse/discussions/2527", + "created_at": "2024-07-02T20:41:53Z", + "upvotes": 2, "comment_count": 2, "resolved": false, "labels": [ - "✅ Done", - "feat-api" + "integraton-llamaindex" ], "author": { - "login": "rydamckinney", - "html_url": "https://github.com/rydamckinney" + "login": "famoraes", + "html_url": "https://github.com/famoraes" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1696, - "title": "Export & import for prompts, copy between projects", - "href": "https://github.com/orgs/langfuse/discussions/1696", - "created_at": "2024-04-12T20:28:47Z", - "upvotes": 16, - "comment_count": 7, - "resolved": false, + "number": 2498, + "title": "Method to update prompt template for Langserve use case", + "href": "https://github.com/orgs/langfuse/discussions/2498", + "created_at": "2024-07-01T11:20:08Z", + "upvotes": 2, + "comment_count": 1, + "resolved": true, "labels": [ - "feat-prompt-management" + "integration-langchain" ], "author": { - "login": "zoltan-fedor", - "html_url": "https://github.com/zoltan-fedor" + "login": "quadcube", + "html_url": "https://github.com/quadcube" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1692, - "title": "Read-only prompt keys?", - "href": "https://github.com/orgs/langfuse/discussions/1692", - "created_at": "2024-04-12T00:57:44Z", - "upvotes": 2, + "number": 2486, + "title": "Cost of embedding in langfuse", + "href": "https://github.com/orgs/langfuse/discussions/2486", + "created_at": "2024-06-29T07:50:06Z", + "upvotes": 1, "comment_count": 2, - "resolved": false, + "resolved": true, "labels": [], "author": { - "login": "Manouchehri", - "html_url": "https://github.com/Manouchehri" + "login": "Amitt1412", + "html_url": "https://github.com/Amitt1412" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1671, - "title": "Ability to run langfuse in tests automatically without manual involvement", - "href": "https://github.com/orgs/langfuse/discussions/1671", - "created_at": "2024-04-11T05:29:44Z", + "number": 2481, + "title": "Getting all traces logged in a timerange for custom scoring", + "href": "https://github.com/orgs/langfuse/discussions/2481", + "created_at": "2024-06-28T12:09:14Z", "upvotes": 1, - "comment_count": 2, - "resolved": false, + "comment_count": 1, + "resolved": true, "labels": [ - "✅ Done", - "self-hosting" + "feat-scores" ], "author": { - "login": "SinghCoder", - "html_url": "https://github.com/SinghCoder" + "login": "sanandnarayan", + "html_url": "https://github.com/sanandnarayan" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1664, - "title": "\"Task\" and \"Bot\" core abstractions", - "href": "https://github.com/orgs/langfuse/discussions/1664", - "created_at": "2024-04-10T20:24:53Z", - "upvotes": 2, - "comment_count": 1, - "resolved": false, + "number": 2479, + "title": "Cost of embedding", + "href": "https://github.com/orgs/langfuse/discussions/2479", + "created_at": "2024-06-28T06:58:16Z", + "upvotes": 1, + "comment_count": 3, + "resolved": true, "labels": [], "author": { - "login": "sfarthin", - "html_url": "https://github.com/sfarthin" + "login": "Amitt1412", + "html_url": "https://github.com/Amitt1412" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1660, - "title": "Prompt Composability", - "href": "https://github.com/orgs/langfuse/discussions/1660", - "created_at": "2024-04-10T15:25:05Z", - "upvotes": 10, - "comment_count": 5, - "resolved": false, + "number": 2455, + "title": "Getting issue with local setup", + "href": "https://github.com/orgs/langfuse/discussions/2455", + "created_at": "2024-06-27T10:23:02Z", + "upvotes": 1, + "comment_count": 1, + "resolved": true, "labels": [ - "feat-prompt-management" + "self-hosting" ], "author": { - "login": "meissnereric", - "html_url": "https://github.com/meissnereric" + "login": "kiranraut7709", + "html_url": "https://github.com/kiranraut7709" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1633, - "title": "feat: Function Calling Under OpenAI Format", - "href": "https://github.com/orgs/langfuse/discussions/1633", - "created_at": "2024-04-09T08:49:58Z", - "upvotes": 2, + "number": 2447, + "title": "Access observation id in langchain runnable", + "href": "https://github.com/orgs/langfuse/discussions/2447", + "created_at": "2024-06-26T21:03:07Z", + "upvotes": 4, "comment_count": 1, "resolved": false, "labels": [ - "feat-playground" + "integration-langchain" ], "author": { - "login": "anhphong22", - "html_url": "https://github.com/anhphong22" + "login": "snikch", + "html_url": "https://github.com/snikch" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1630, - "title": "Groq - Mixtral", - "href": "https://github.com/orgs/langfuse/discussions/1630", - "created_at": "2024-04-09T05:11:12Z", + "number": 2431, + "title": "Trying to work with llama3 in Azure using AzureMLChatOnlineEndpoint but no cost showing up", + "href": "https://github.com/orgs/langfuse/discussions/2431", + "created_at": "2024-06-25T21:20:25Z", "upvotes": 1, - "comment_count": 1, + "comment_count": 2, "resolved": false, "labels": [], "author": { - "login": "mike4lyf", - "html_url": "https://github.com/mike4lyf" + "login": "spacepirate0001", + "html_url": "https://github.com/spacepirate0001" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1627, - "title": "VertexAI support", - "href": "https://github.com/orgs/langfuse/discussions/1627", - "created_at": "2024-04-08T22:43:38Z", - "upvotes": 3, - "comment_count": 1, + "number": 2416, + "title": "some tests failed for langfuse-js", + "href": "https://github.com/orgs/langfuse/discussions/2416", + "created_at": "2024-06-25T04:31:35Z", + "upvotes": 1, + "comment_count": 3, "resolved": false, - "labels": [ - "integration-langchain" - ], + "labels": [], "author": { - "login": "eles13", - "html_url": "https://github.com/eles13" + "login": "4t8dd", + "html_url": "https://github.com/4t8dd" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1613, - "title": "[Feature] Add a score value filter", - "href": "https://github.com/orgs/langfuse/discussions/1613", - "created_at": "2024-04-08T07:58:58Z", + "number": 2415, + "title": "AUTH AZURE AD returns AADSTS9002325: Proof Key for Code Exchange is required for cross-origin authorization code redemption.", + "href": "https://github.com/orgs/langfuse/discussions/2415", + "created_at": "2024-06-24T18:00:45Z", "upvotes": 1, - "comment_count": 0, - "resolved": false, + "comment_count": 1, + "resolved": true, "labels": [], "author": { - "login": "Hacky-DH", - "html_url": "https://github.com/Hacky-DH" + "login": "spacepirate0001", + "html_url": "https://github.com/spacepirate0001" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1612, - "title": "DSPY integration", - "href": "https://github.com/orgs/langfuse/discussions/1612", - "created_at": "2024-04-07T18:54:32Z", + "number": 2401, + "title": "Trying to understand why in Langfuse Trace under Stream Completion I get this output:", + "href": "https://github.com/orgs/langfuse/discussions/2401", + "created_at": "2024-06-21T12:22:38Z", "upvotes": 1, "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "wdhitchc", - "html_url": "https://github.com/wdhitchc" + "login": "howtodoml", + "html_url": "https://github.com/howtodoml" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1566, - "title": "LangchainCallbackHandler httpx_client not accessible", - "href": "https://github.com/orgs/langfuse/discussions/1566", - "created_at": "2024-04-03T09:18:12Z", + "number": 2385, + "title": "Modify trace after getting response from OpenAI", + "href": "https://github.com/orgs/langfuse/discussions/2385", + "created_at": "2024-06-20T18:00:09Z", "upvotes": 2, - "comment_count": 1, + "comment_count": 3, "resolved": false, - "labels": [ - "integration-langchain" - ], + "labels": [], "author": { - "login": "dlmatt", - "html_url": "https://github.com/dlmatt" + "login": "tylerlittlefield", + "html_url": "https://github.com/tylerlittlefield" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1541, - "title": "Disable events logging", - "href": "https://github.com/orgs/langfuse/discussions/1541", - "created_at": "2024-03-29T18:08:13Z", - "upvotes": 8, - "comment_count": 3, - "resolved": false, - "labels": [ - "✅ Done" - ], - "author": { - "login": "omgovich", - "html_url": "https://github.com/omgovich" + "number": 2381, + "title": "LangFuse UI doesn't show all traces despite debug logging saying that all are sent to the server", + "href": "https://github.com/orgs/langfuse/discussions/2381", + "created_at": "2024-06-20T14:02:12Z", + "upvotes": 3, + "comment_count": 1, + "resolved": false, + "labels": [], + "author": { + "login": "stokedout", + "html_url": "https://github.com/stokedout" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1535, - "title": "Request for Integration of Mistral Models into Langfuse", - "href": "https://github.com/orgs/langfuse/discussions/1535", - "created_at": "2024-03-28T16:10:25Z", - "upvotes": 5, + "number": 2379, + "title": "Langfuse was not able to parse the LLM model", + "href": "https://github.com/orgs/langfuse/discussions/2379", + "created_at": "2024-06-20T08:56:57Z", + "upvotes": 1, "comment_count": 2, - "resolved": false, + "resolved": true, "labels": [ - "integrations", - "✅ Done" + "integration-langchain", + "integration-amazon-bedrock" ], "author": { - "login": "Zherdev1996", - "html_url": "https://github.com/Zherdev1996" + "login": "fdbvega", + "html_url": "https://github.com/fdbvega" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1533, - "title": "Managing Embeddings", - "href": "https://github.com/orgs/langfuse/discussions/1533", - "created_at": "2024-03-28T15:36:21Z", + "number": 2377, + "title": "Can't see any traces or logs when running Langfuse locally.", + "href": "https://github.com/orgs/langfuse/discussions/2377", + "created_at": "2024-06-19T23:51:46Z", "upvotes": 1, - "comment_count": 0, - "resolved": false, - "labels": [], + "comment_count": 6, + "resolved": true, + "labels": [ + "self-hosting" + ], "author": { - "login": "Botman-Hotman", - "html_url": "https://github.com/Botman-Hotman" + "login": "ibdafna", + "html_url": "https://github.com/ibdafna" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1513, - "title": "Langfuse Trace with OpenAI Assistants", - "href": "https://github.com/orgs/langfuse/discussions/1513", - "created_at": "2024-03-27T11:47:19Z", - "upvotes": 10, - "comment_count": 5, + "number": 2373, + "title": "Not recording llamaindex response. Please help", + "href": "https://github.com/orgs/langfuse/discussions/2373", + "created_at": "2024-06-19T19:26:30Z", + "upvotes": 1, + "comment_count": 1, "resolved": false, "labels": [ - "integration-openai" + "integraton-llamaindex" ], "author": { - "login": "marco-introvigne", - "html_url": "https://github.com/marco-introvigne" + "login": "mraguth", + "html_url": "https://github.com/mraguth" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1500, - "title": "Comment column can have any name the user chooses, there could be multiple comment columns per metric", - "href": "https://github.com/orgs/langfuse/discussions/1500", - "created_at": "2024-03-26T08:42:45Z", + "number": 2366, + "title": "Add label to prompt from Langfuse UI", + "href": "https://github.com/orgs/langfuse/discussions/2366", + "created_at": "2024-06-18T14:26:14Z", "upvotes": 1, "comment_count": 1, - "resolved": false, - "labels": [], + "resolved": true, + "labels": [ + "feat-prompt-management" + ], "author": { - "login": "emailic", - "html_url": "https://github.com/emailic" + "login": "charlieviettq", + "html_url": "https://github.com/charlieviettq" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1488, - "title": "Make Langfuse switchable", - "href": "https://github.com/orgs/langfuse/discussions/1488", - "created_at": "2024-03-25T21:05:17Z", + "number": 2354, + "title": "Link Prompt & Trace with langchain CallbackHandler", + "href": "https://github.com/orgs/langfuse/discussions/2354", + "created_at": "2024-06-17T08:21:56Z", "upvotes": 2, - "comment_count": 1, - "resolved": false, + "comment_count": 2, + "resolved": true, "labels": [], "author": { - "login": "MrMojoR", - "html_url": "https://github.com/MrMojoR" + "login": "derevyan", + "html_url": "https://github.com/derevyan" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1479, - "title": "Add total filtered Generations to UI", - "href": "https://github.com/orgs/langfuse/discussions/1479", - "created_at": "2024-03-24T17:19:51Z", + "number": 2353, + "title": "[Migration] Auto-migration DB error when upgrade langfuse version", + "href": "https://github.com/orgs/langfuse/discussions/2353", + "created_at": "2024-06-17T08:02:03Z", "upvotes": 1, - "comment_count": 0, - "resolved": false, - "labels": [], + "comment_count": 1, + "resolved": true, + "labels": [ + "self-hosting" + ], "author": { - "login": "PhiBrandon", - "html_url": "https://github.com/PhiBrandon" + "login": "charlieviettq", + "html_url": "https://github.com/charlieviettq" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1461, - "title": "Loose prisma datasource db provider.", - "href": "https://github.com/orgs/langfuse/discussions/1461", - "created_at": "2024-03-21T13:09:15Z", + "number": 2351, + "title": "Customize Langchain callback handler to add spans to existing traces created by separate thread/process", + "href": "https://github.com/orgs/langfuse/discussions/2351", + "created_at": "2024-06-17T03:41:57Z", "upvotes": 1, - "comment_count": 1, + "comment_count": 2, "resolved": false, "labels": [ - "self-hosting" + "integration-langchain" ], "author": { - "login": "muazhari", - "html_url": "https://github.com/muazhari" + "login": "Chengdyc", + "html_url": "https://github.com/Chengdyc" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1460, - "title": "Langfuse images for arm64 (mac silicon, some cloud vms)", - "href": "https://github.com/orgs/langfuse/discussions/1460", - "created_at": "2024-03-21T05:48:56Z", + "number": 2348, + "title": "not serializable object of type: LangfuseResponseGeneratorSync", + "href": "https://github.com/orgs/langfuse/discussions/2348", + "created_at": "2024-06-14T22:33:09Z", "upvotes": 1, "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "verdverm", - "html_url": "https://github.com/verdverm" + "login": "howtodoml", + "html_url": "https://github.com/howtodoml" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1454, - "title": "Add a time based filter option", - "href": "https://github.com/orgs/langfuse/discussions/1454", - "created_at": "2024-03-20T16:06:15Z", - "upvotes": 4, - "comment_count": 2, + "number": 2346, + "title": "Chain two prompts", + "href": "https://github.com/orgs/langfuse/discussions/2346", + "created_at": "2024-06-14T08:20:48Z", + "upvotes": 1, + "comment_count": 1, "resolved": false, "labels": [ - "✅ Done" + "feat-prompt-management", + "integration-langchain" ], "author": { - "login": "Kurumindla-Kranthivardhan", - "html_url": "https://github.com/Kurumindla-Kranthivardhan" + "login": "darkostanimirovic", + "html_url": "https://github.com/darkostanimirovic" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1431, - "title": "Integration with Langserve", - "href": "https://github.com/orgs/langfuse/discussions/1431", - "created_at": "2024-03-18T08:40:32Z", + "number": 2344, + "title": "Can you use internal Kubernetes DNS to receive traffic from other Kubernetes workloads?", + "href": "https://github.com/orgs/langfuse/discussions/2344", + "created_at": "2024-06-14T08:15:36Z", "upvotes": 1, - "comment_count": 2, - "resolved": false, + "comment_count": 1, + "resolved": true, "labels": [], "author": { - "login": "Haxeebraja", - "html_url": "https://github.com/Haxeebraja" + "login": "smeasures", + "html_url": "https://github.com/smeasures" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1428, - "title": "allow to delete sessions", - "href": "https://github.com/orgs/langfuse/discussions/1428", - "created_at": "2024-03-16T15:56:35Z", + "number": 2342, + "title": "Getting trace id out of a langchain runnable", + "href": "https://github.com/orgs/langfuse/discussions/2342", + "created_at": "2024-06-14T01:15:26Z", + "upvotes": 1, + "comment_count": 1, + "resolved": true, + "labels": [], + "author": { + "login": "salmanmashayekh", + "html_url": "https://github.com/salmanmashayekh" + }, + "category": "Support" + }, + { + "number": 2338, + "title": "Can RBAC Role Assignment be done using Azure AD SSO token?", + "href": "https://github.com/orgs/langfuse/discussions/2338", + "created_at": "2024-06-13T11:29:59Z", "upvotes": 4, "comment_count": 2, "resolved": false, "labels": [ - "feat-sessions" + "feat-rbac", + "self-hosting" ], "author": { - "login": "morganveyret", - "html_url": "https://github.com/morganveyret" + "login": "joshwright10", + "html_url": "https://github.com/joshwright10" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1427, - "title": "Toggle collection of traces on a per-trace basis", - "href": "https://github.com/orgs/langfuse/discussions/1427", - "created_at": "2024-03-16T15:19:07Z", + "number": 2298, + "title": "llamaindex: function_call does not generate subspans for a custom AsyncBaseTool class", + "href": "https://github.com/orgs/langfuse/discussions/2298", + "created_at": "2024-06-11T09:28:33Z", "upvotes": 1, - "comment_count": 1, + "comment_count": 3, "resolved": false, - "labels": [], + "labels": [ + "integraton-llamaindex" + ], "author": { - "login": "foragerr", - "html_url": "https://github.com/foragerr" + "login": "ootkin", + "html_url": "https://github.com/ootkin" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1415, - "title": "Add a \"correction\" field on the user feedback info", - "href": "https://github.com/orgs/langfuse/discussions/1415", - "created_at": "2024-03-14T14:18:30Z", - "upvotes": 3, - "comment_count": 2, - "resolved": false, + "number": 2290, + "title": "There are no evaluation component in the 2.50 version", + "href": "https://github.com/orgs/langfuse/discussions/2290", + "created_at": "2024-06-10T19:36:30Z", + "upvotes": 1, + "comment_count": 1, + "resolved": true, "labels": [], "author": { - "login": "almirb", - "html_url": "https://github.com/almirb" + "login": "yanlinchn", + "html_url": "https://github.com/yanlinchn" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1408, - "title": "Trace Latencies line chart please", - "href": "https://github.com/orgs/langfuse/discussions/1408", - "created_at": "2024-03-13T15:00:35Z", - "upvotes": 2, - "comment_count": 0, - "resolved": false, - "labels": [], + "number": 2254, + "title": "Unable to get hello world program working due to incorrect public key / host", + "href": "https://github.com/orgs/langfuse/discussions/2254", + "created_at": "2024-06-06T09:13:53Z", + "upvotes": 3, + "comment_count": 1, + "resolved": true, + "labels": [ + "self-hosting" + ], "author": { - "login": "Huarong", - "html_url": "https://github.com/Huarong" + "login": "mr-nano", + "html_url": "https://github.com/mr-nano" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1398, - "title": "What standardized dataset formats are people using?", - "href": "https://github.com/orgs/langfuse/discussions/1398", - "created_at": "2024-03-12T15:47:53Z", - "upvotes": 2, - "comment_count": 0, - "resolved": false, + "number": 2244, + "title": "2 traces generated instead of 1", + "href": "https://github.com/orgs/langfuse/discussions/2244", + "created_at": "2024-06-05T17:06:52Z", + "upvotes": 1, + "comment_count": 1, + "resolved": true, "labels": [ + "integration-langchain", "feat-datasets" ], "author": { - "login": "norton120", - "html_url": "https://github.com/norton120" + "login": "nithin1995", + "html_url": "https://github.com/nithin1995" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1397, - "title": "Reorder columns in tables", - "href": "https://github.com/orgs/langfuse/discussions/1397", - "created_at": "2024-03-12T14:45:37Z", - "upvotes": 3, - "comment_count": 2, - "resolved": false, + "number": 2211, + "title": "How to clean the langfuse cache data periodically?", + "href": "https://github.com/orgs/langfuse/discussions/2211", + "created_at": "2024-06-03T07:40:22Z", + "upvotes": 1, + "comment_count": 1, + "resolved": true, + "labels": [], + "author": { + "login": "He-Huang", + "html_url": "https://github.com/He-Huang" + }, + "category": "Support" + }, + { + "number": 2207, + "title": "Model Cost does not show up", + "href": "https://github.com/orgs/langfuse/discussions/2207", + "created_at": "2024-06-02T11:08:58Z", + "upvotes": 1, + "comment_count": 1, + "resolved": true, "labels": [ - "✅ Done" + "feat-cost-tracking" ], "author": { - "login": "marcklingen", - "html_url": "https://github.com/marcklingen" + "login": "jannikstdl", + "html_url": "https://github.com/jannikstdl" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1394, - "title": "Adding a \"Select all\" button to tables", - "href": "https://github.com/orgs/langfuse/discussions/1394", - "created_at": "2024-03-12T10:37:23Z", - "upvotes": 2, + "number": 2206, + "title": "Possibilities for auth", + "href": "https://github.com/orgs/langfuse/discussions/2206", + "created_at": "2024-06-01T23:38:39Z", + "upvotes": 1, "comment_count": 1, + "resolved": true, + "labels": [ + "self-hosting" + ], + "author": { + "login": "Getty", + "html_url": "https://github.com/Getty" + }, + "category": "Support" + }, + { + "number": 2200, + "title": "How does one replace values for a ChatPromptTemplate for Langchain", + "href": "https://github.com/orgs/langfuse/discussions/2200", + "created_at": "2024-05-31T19:39:14Z", + "upvotes": 0, + "comment_count": 2, "resolved": false, "labels": [], "author": { - "login": "samyxdev", - "html_url": "https://github.com/samyxdev" + "login": "ajram23", + "html_url": "https://github.com/ajram23" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1392, - "title": "Hide prompts/completions (privacy)", - "href": "https://github.com/orgs/langfuse/discussions/1392", - "created_at": "2024-03-12T07:48:22Z", - "upvotes": 10, + "number": 2188, + "title": "Time to first token?", + "href": "https://github.com/orgs/langfuse/discussions/2188", + "created_at": "2024-05-30T12:45:37Z", + "upvotes": 1, "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "ziodave", - "html_url": "https://github.com/ziodave" + "login": "jrcapicua", + "html_url": "https://github.com/jrcapicua" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1391, - "title": "Enhancements for Langfuse User Sign-Up Control", - "href": "https://github.com/orgs/langfuse/discussions/1391", - "created_at": "2024-03-11T23:38:18Z", - "upvotes": 7, - "comment_count": 0, + "number": 2172, + "title": "How to reuse callback handler in langchain integration?", + "href": "https://github.com/orgs/langfuse/discussions/2172", + "created_at": "2024-05-28T15:25:39Z", + "upvotes": 1, + "comment_count": 2, "resolved": false, "labels": [ - "self-hosting" + "integration-langchain" ], "author": { - "login": "udit-001", - "html_url": "https://github.com/udit-001" + "login": "SebastianStehle", + "html_url": "https://github.com/SebastianStehle" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1385, - "title": "bug: Not allowing to limit Azure AD authentication for selected users in same tenent", - "href": "https://github.com/orgs/langfuse/discussions/1385", - "created_at": "2024-03-11T17:42:05Z", + "number": 2165, + "title": "Auth0 not working", + "href": "https://github.com/orgs/langfuse/discussions/2165", + "created_at": "2024-05-28T11:38:43Z", "upvotes": 2, - "comment_count": 2, + "comment_count": 3, "resolved": false, "labels": [ "self-hosting" ], "author": { - "login": "SathinduGA", - "html_url": "https://github.com/SathinduGA" + "login": "mforell", + "html_url": "https://github.com/mforell" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1378, - "title": "Aggregate cost per span", - "href": "https://github.com/orgs/langfuse/discussions/1378", - "created_at": "2024-03-08T16:06:04Z", - "upvotes": 2, + "number": 2162, + "title": "Connect Prompt ID to GENERATIONS when integrate Langfuse in LangChain.", + "href": "https://github.com/orgs/langfuse/discussions/2162", + "created_at": "2024-05-28T00:56:34Z", + "upvotes": 8, "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [], "author": { - "login": "ladislasdellinger", - "html_url": "https://github.com/ladislasdellinger" + "login": "hdp173", + "html_url": "https://github.com/hdp173" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1376, - "title": "Support parsing LLM model for ChatOllama", - "href": "https://github.com/orgs/langfuse/discussions/1376", - "created_at": "2024-03-08T14:13:58Z", + "number": 2154, + "title": "__root__ -> items -> 0 -> datasetName field required (type=value_error.missing)", + "href": "https://github.com/orgs/langfuse/discussions/2154", + "created_at": "2024-05-27T11:26:24Z", "upvotes": 1, - "comment_count": 1, + "comment_count": 2, "resolved": false, "labels": [], "author": { - "login": "kleebaum", - "html_url": "https://github.com/kleebaum" + "login": "emailic", + "html_url": "https://github.com/emailic" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1374, - "title": "Add LLamaIndexTS example", - "href": "https://github.com/orgs/langfuse/discussions/1374", - "created_at": "2024-03-08T00:42:30Z", + "number": 2152, + "title": "get_langchain_handler() alwasy start from trace root.", + "href": "https://github.com/orgs/langfuse/discussions/2152", + "created_at": "2024-05-27T10:47:42Z", "upvotes": 1, "comment_count": 1, "resolved": false, - "labels": [], + "labels": [ + "integration-langchain" + ], "author": { - "login": "luandro", - "html_url": "https://github.com/luandro" + "login": "hdp173", + "html_url": "https://github.com/hdp173" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1361, - "title": "Add a retention window for unnecessary data", - "href": "https://github.com/orgs/langfuse/discussions/1361", - "created_at": "2024-03-07T14:42:07Z", + "number": 2146, + "title": "Customize LangChain Integration.", + "href": "https://github.com/orgs/langfuse/discussions/2146", + "created_at": "2024-05-27T06:12:41Z", "upvotes": 1, "comment_count": 1, - "resolved": false, - "labels": [], - "author": { - "login": "albertoforcato", - "html_url": "https://github.com/albertoforcato" - }, - "category": "Ideas" - }, - { - "number": 1337, - "title": "Support for Langchain ChatAnthropic", - "href": "https://github.com/orgs/langfuse/discussions/1337", - "created_at": "2024-03-06T10:42:36Z", - "upvotes": 2, - "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [ "integration-langchain" ], "author": { - "login": "dotrunghieu96", - "html_url": "https://github.com/dotrunghieu96" + "login": "hdp173", + "html_url": "https://github.com/hdp173" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1331, - "title": "Adding cost to the datasets tables", - "href": "https://github.com/orgs/langfuse/discussions/1331", - "created_at": "2024-03-05T18:53:25Z", + "number": 2145, + "title": "Need help on syntax for editing project roles", + "href": "https://github.com/orgs/langfuse/discussions/2145", + "created_at": "2024-05-26T18:50:59Z", "upvotes": 1, - "comment_count": 1, + "comment_count": 2, "resolved": false, - "labels": [ - "✅ Done" - ], + "labels": [], "author": { - "login": "ladislasdellinger", - "html_url": "https://github.com/ladislasdellinger" + "login": "hrithik062", + "html_url": "https://github.com/hrithik062" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1321, - "title": "More prompt environments/tags instead of just `active`", - "href": "https://github.com/orgs/langfuse/discussions/1321", - "created_at": "2024-03-05T11:05:17Z", - "upvotes": 3, - "comment_count": 2, - "resolved": false, - "labels": [ - "feat-prompt-management", - "✅ Done" - ], + "number": 2142, + "title": "Unable to login with SSO", + "href": "https://github.com/orgs/langfuse/discussions/2142", + "created_at": "2024-05-24T18:40:35Z", + "upvotes": 1, + "comment_count": 1, + "resolved": true, + "labels": [], "author": { - "login": "ladislasdellinger", - "html_url": "https://github.com/ladislasdellinger" + "login": "alecor191", + "html_url": "https://github.com/alecor191" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1309, - "title": "Log used prompt on generations when using Langchain", - "href": "https://github.com/orgs/langfuse/discussions/1309", - "created_at": "2024-03-04T09:03:35Z", - "upvotes": 5, - "comment_count": 2, - "resolved": false, - "labels": [ - "integration-langchain", - "✅ Done" - ], + "number": 2137, + "title": "Latency (Avg) showing 0 for dataset runs", + "href": "https://github.com/orgs/langfuse/discussions/2137", + "created_at": "2024-05-24T07:33:51Z", + "upvotes": 4, + "comment_count": 1, + "resolved": true, + "labels": [], "author": { - "login": "TobinShaw", - "html_url": "https://github.com/TobinShaw" + "login": "karthik-TLIT", + "html_url": "https://github.com/karthik-TLIT" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1306, - "title": "[TS] Generating through OpenAI SDK directly", - "href": "https://github.com/orgs/langfuse/discussions/1306", - "created_at": "2024-03-02T10:56:07Z", - "upvotes": 1, - "comment_count": 2, - "resolved": false, + "number": 2130, + "title": "Evaluations Not Available in Self-Hosted Version?", + "href": "https://github.com/orgs/langfuse/discussions/2130", + "created_at": "2024-05-23T14:31:16Z", + "upvotes": 3, + "comment_count": 1, + "resolved": true, "labels": [ - "integrations", - "integration-openai", - "✅ Done" + "feat-evals" ], "author": { - "login": "louis030195", - "html_url": "https://github.com/louis030195" + "login": "c0pper", + "html_url": "https://github.com/c0pper" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1305, - "title": "Allow Project-Specific Default Time Ranges", - "href": "https://github.com/orgs/langfuse/discussions/1305", - "created_at": "2024-03-02T03:42:42Z", + "number": 2114, + "title": "Careers link on HN is broken", + "href": "https://github.com/orgs/langfuse/discussions/2114", + "created_at": "2024-05-21T07:28:26Z", "upvotes": 1, "comment_count": 1, - "resolved": false, - "labels": [], - "author": { - "login": "dkindlund", - "html_url": "https://github.com/dkindlund" - }, - "category": "Ideas" - }, - { - "number": 1300, - "title": "Consider adding support for DSPy", - "href": "https://github.com/orgs/langfuse/discussions/1300", - "created_at": "2024-03-01T15:42:23Z", - "upvotes": 1, - "comment_count": 2, - "resolved": false, + "resolved": true, "labels": [], "author": { - "login": "sutyum", - "html_url": "https://github.com/sutyum" + "login": "davherrmann", + "html_url": "https://github.com/davherrmann" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1295, - "title": "Support DSPy", - "href": "https://github.com/orgs/langfuse/discussions/1295", - "created_at": "2024-03-01T11:34:05Z", - "upvotes": 19, - "comment_count": 9, - "resolved": false, + "number": 2111, + "title": "Token cost is counted even if langchains LLM cache is utilized", + "href": "https://github.com/orgs/langfuse/discussions/2111", + "created_at": "2024-05-20T23:23:44Z", + "upvotes": 5, + "comment_count": 1, + "resolved": true, "labels": [ - "integrations", - "✅ Done", - "integration-dspy" + "integration-langchain" ], "author": { - "login": "sandangel", - "html_url": "https://github.com/sandangel" + "login": "arthurGrigo", + "html_url": "https://github.com/arthurGrigo" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1291, - "title": "Integration: LlamaIndex JS/TS", - "href": "https://github.com/orgs/langfuse/discussions/1291", - "created_at": "2024-02-29T11:56:42Z", - "upvotes": 33, - "comment_count": 3, - "resolved": false, - "labels": [ - "sdk-js", - "integrations", - "integraton-llamaindex" - ], + "number": 2106, + "title": "Hability to store pre defined initial message", + "href": "https://github.com/orgs/langfuse/discussions/2106", + "created_at": "2024-05-20T20:40:23Z", + "upvotes": 1, + "comment_count": 1, + "resolved": true, + "labels": [], "author": { - "login": "marcklingen", - "html_url": "https://github.com/marcklingen" + "login": "Lunik", + "html_url": "https://github.com/Lunik" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1287, - "title": "Add filtering by errors", - "href": "https://github.com/orgs/langfuse/discussions/1287", - "created_at": "2024-02-28T22:52:59Z", - "upvotes": 3, - "comment_count": 2, - "resolved": false, + "number": 2099, + "title": "Deleting Duplicate Items in a Dataset", + "href": "https://github.com/orgs/langfuse/discussions/2099", + "created_at": "2024-05-20T09:48:58Z", + "upvotes": 1, + "comment_count": 1, + "resolved": true, "labels": [ - "ui" + "feat-datasets" ], "author": { - "login": "ankerbachryhl", - "html_url": "https://github.com/ankerbachryhl" + "login": "emailic", + "html_url": "https://github.com/emailic" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1277, - "title": "Add Audit Logging System to Worker Tasks", - "href": "https://github.com/orgs/langfuse/discussions/1277", - "created_at": "2024-02-28T11:53:15Z", - "upvotes": 1, - "comment_count": 3, - "resolved": false, + "number": 2098, + "title": "Wrong model for billing", + "href": "https://github.com/orgs/langfuse/discussions/2098", + "created_at": "2024-05-20T09:29:33Z", + "upvotes": 2, + "comment_count": 1, + "resolved": true, "labels": [], "author": { - "login": "khareyash05", - "html_url": "https://github.com/khareyash05" + "login": "wdxwj", + "html_url": "https://github.com/wdxwj" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1268, - "title": "Possible with different units for input and output", - "href": "https://github.com/orgs/langfuse/discussions/1268", - "created_at": "2024-02-27T13:45:21Z", + "number": 2077, + "title": "Error Encountered During Migration for Applying Newly Supported Models to Existing Data", + "href": "https://github.com/orgs/langfuse/discussions/2077", + "created_at": "2024-05-16T15:30:33Z", "upvotes": 1, "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "Stadly", - "html_url": "https://github.com/Stadly" + "login": "Zherdev1996", + "html_url": "https://github.com/Zherdev1996" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1264, - "title": "ChatML/ChatMessage Prompt Templates", - "href": "https://github.com/orgs/langfuse/discussions/1264", - "created_at": "2024-02-27T01:59:05Z", - "upvotes": 4, - "comment_count": 3, - "resolved": false, + "number": 2073, + "title": "Will Playground be available for self-hosted?", + "href": "https://github.com/orgs/langfuse/discussions/2073", + "created_at": "2024-05-16T12:40:30Z", + "upvotes": 5, + "comment_count": 2, + "resolved": true, "labels": [ - "feat-prompt-management", - "✅ Done" + "feat-playground" ], "author": { - "login": "tuan3w", - "html_url": "https://github.com/tuan3w" + "login": "sabatesduran", + "html_url": "https://github.com/sabatesduran" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1258, - "title": "Dashboard for all projects of an organization", - "href": "https://github.com/orgs/langfuse/discussions/1258", - "created_at": "2024-02-26T20:12:22Z", - "upvotes": 11, - "comment_count": 2, + "number": 2070, + "title": "Error on Local Deployment: \"Evals available in cloud only\" when Adding LLM API Key", + "href": "https://github.com/orgs/langfuse/discussions/2070", + "created_at": "2024-05-16T09:02:43Z", + "upvotes": 1, + "comment_count": 1, "resolved": false, - "labels": [ - "feat-dashboard" - ], + "labels": [], "author": { - "login": "aiakubovich", - "html_url": "https://github.com/aiakubovich" + "login": "youngsj951104", + "html_url": "https://github.com/youngsj951104" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1221, - "title": "Add Haystack integration", - "href": "https://github.com/orgs/langfuse/discussions/1221", - "created_at": "2024-02-21T13:06:06Z", - "upvotes": 9, - "comment_count": 2, - "resolved": false, - "labels": [ - "integrations", - "✅ Done", - "integration-haystack" - ], + "number": 2069, + "title": "Does langfuse uses any Postgres-only features?", + "href": "https://github.com/orgs/langfuse/discussions/2069", + "created_at": "2024-05-16T06:36:16Z", + "upvotes": 2, + "comment_count": 1, + "resolved": true, + "labels": [], "author": { - "login": "marcklingen", - "html_url": "https://github.com/marcklingen" + "login": "rohts-patil", + "html_url": "https://github.com/rohts-patil" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1220, - "title": "Export to S3", - "href": "https://github.com/orgs/langfuse/discussions/1220", - "created_at": "2024-02-21T12:46:58Z", + "number": 2063, + "title": "Exception(\"parent run not found\")", + "href": "https://github.com/orgs/langfuse/discussions/2063", + "created_at": "2024-05-15T14:45:00Z", "upvotes": 1, - "comment_count": 0, + "comment_count": 1, "resolved": false, - "labels": [ - "integrations" - ], + "labels": [], "author": { - "login": "marcklingen", - "html_url": "https://github.com/marcklingen" + "login": "emailic", + "html_url": "https://github.com/emailic" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1219, - "title": "Export to BigQuery", - "href": "https://github.com/orgs/langfuse/discussions/1219", - "created_at": "2024-02-21T12:46:26Z", - "upvotes": 4, - "comment_count": 0, - "resolved": false, + "number": 2042, + "title": "Availability of evals when self-hosting", + "href": "https://github.com/orgs/langfuse/discussions/2042", + "created_at": "2024-05-13T14:06:11Z", + "upvotes": 2, + "comment_count": 1, + "resolved": true, "labels": [ - "integrations" + "feat-evals" ], "author": { - "login": "marcklingen", - "html_url": "https://github.com/marcklingen" + "login": "derevyan", + "html_url": "https://github.com/derevyan" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1212, - "title": "Adding support for async Langchain methods", - "href": "https://github.com/orgs/langfuse/discussions/1212", - "created_at": "2024-02-20T13:09:19Z", - "upvotes": 24, - "comment_count": 5, + "number": 2031, + "title": "Starting a demo from JS SDK and local running Langfuse, but cannot create init trace currently", + "href": "https://github.com/orgs/langfuse/discussions/2031", + "created_at": "2024-05-10T08:49:40Z", + "upvotes": 1, + "comment_count": 1, "resolved": false, - "labels": [ - "integration-langchain", - "✅ Done" - ], + "labels": [], "author": { - "login": "marcklingen", - "html_url": "https://github.com/marcklingen" + "login": "JamieLee0510", + "html_url": "https://github.com/JamieLee0510" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1208, - "title": "Add Images in Tracing", - "href": "https://github.com/orgs/langfuse/discussions/1208", - "created_at": "2024-02-20T00:41:41Z", - "upvotes": 11, - "comment_count": 2, - "resolved": false, + "number": 2009, + "title": "Custom name of Span when using Langchain handler instead of RunnableSequence", + "href": "https://github.com/orgs/langfuse/discussions/2009", + "created_at": "2024-05-08T12:23:08Z", + "upvotes": 1, + "comment_count": 1, + "resolved": true, "labels": [ - "✅ Done", - "feat-multimodal" + "integration-langchain" ], "author": { - "login": "aiakubovich", - "html_url": "https://github.com/aiakubovich" + "login": "nathan-vo810", + "html_url": "https://github.com/nathan-vo810" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1190, - "title": "Request to add 75 percentile under Model latency section as shown in image below", - "href": "https://github.com/orgs/langfuse/discussions/1190", - "created_at": "2024-02-16T21:41:29Z", + "number": 2008, + "title": "Not able to add dataset item", + "href": "https://github.com/orgs/langfuse/discussions/2008", + "created_at": "2024-05-08T12:11:04Z", "upvotes": 1, "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "ssubburaj85", - "html_url": "https://github.com/ssubburaj85" + "login": "nithin1995", + "html_url": "https://github.com/nithin1995" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1170, - "title": "LLM Playground", - "href": "https://github.com/orgs/langfuse/discussions/1170", - "created_at": "2024-02-15T17:44:42Z", - "upvotes": 7, - "comment_count": 6, + "number": 2007, + "title": "Langfuse in PHP. Which are the minimum functions needed to implement?", + "href": "https://github.com/orgs/langfuse/discussions/2007", + "created_at": "2024-05-08T10:55:07Z", + "upvotes": 1, + "comment_count": 1, "resolved": false, + "labels": [], + "author": { + "login": "phpia", + "html_url": "https://github.com/phpia" + }, + "category": "Support" + }, + { + "number": 2005, + "title": "How to get trace data with langfuse-langchain in JS/TS?", + "href": "https://github.com/orgs/langfuse/discussions/2005", + "created_at": "2024-05-08T08:08:42Z", + "upvotes": 1, + "comment_count": 2, + "resolved": true, "labels": [ - "feat-prompt-management", - "✅ Done", - "feat-playground" + "integration-langchain" ], "author": { - "login": "reza-mohideen", - "html_url": "https://github.com/reza-mohideen" + "login": "AdiletBekmuratov", + "html_url": "https://github.com/AdiletBekmuratov" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1159, - "title": "Looking for users (that are migrating off of something) to co-build Langfuse integration with", - "href": "https://github.com/orgs/langfuse/discussions/1159", - "created_at": "2024-02-14T19:05:27Z", + "number": 1982, + "title": "trace doesn't work with .batch handler on langserve", + "href": "https://github.com/orgs/langfuse/discussions/1982", + "created_at": "2024-05-06T02:32:30Z", "upvotes": 2, - "comment_count": 1, + "comment_count": 0, "resolved": false, "labels": [], "author": { - "login": "skrawcz", - "html_url": "https://github.com/skrawcz" + "login": "restuprajna", + "html_url": "https://github.com/restuprajna" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1156, - "title": "Possible to set timestamp when creating trace", - "href": "https://github.com/orgs/langfuse/discussions/1156", - "created_at": "2024-02-14T14:26:22Z", + "number": 1979, + "title": "get_prompt function failed in langfuse-python 2.28.3", + "href": "https://github.com/orgs/langfuse/discussions/1979", + "created_at": "2024-05-05T19:57:40Z", "upvotes": 1, "comment_count": 1, - "resolved": false, - "labels": [ - "sdk-js" - ], + "resolved": true, + "labels": [], "author": { - "login": "Stadly", - "html_url": "https://github.com/Stadly" + "login": "nathan-vo810", + "html_url": "https://github.com/nathan-vo810" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1154, - "title": "Dedicated user object which can include groups/teams and other attributes", - "href": "https://github.com/orgs/langfuse/discussions/1154", - "created_at": "2024-02-14T09:45:40Z", - "upvotes": 6, - "comment_count": 5, + "number": 1969, + "title": "How to utilize a dataset w/ typescript and langchain integration", + "href": "https://github.com/orgs/langfuse/discussions/1969", + "created_at": "2024-05-03T15:22:21Z", + "upvotes": 1, + "comment_count": 2, "resolved": false, "labels": [ - "feat-users" + "✅ Done", + "feat-datasets" ], "author": { - "login": "bryan-agicap", - "html_url": "https://github.com/bryan-agicap" + "login": "sahellebusch", + "html_url": "https://github.com/sahellebusch" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1133, - "title": "API to delete scores", - "href": "https://github.com/orgs/langfuse/discussions/1133", - "created_at": "2024-02-12T11:19:59Z", + "number": 1957, + "title": "DevOps: What is the best way to create separate Langfuse instances in different environments: Dev, Test, QA, Prod?", + "href": "https://github.com/orgs/langfuse/discussions/1957", + "created_at": "2024-05-02T21:28:07Z", "upvotes": 2, - "comment_count": 1, - "resolved": false, + "comment_count": 2, + "resolved": true, "labels": [ - "feat-api", - "feat-scores" + "self-hosting" ], "author": { - "login": "Jason-CKY", - "html_url": "https://github.com/Jason-CKY" + "login": "aiakubovich", + "html_url": "https://github.com/aiakubovich" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1128, - "title": "Display all traces within a session", - "href": "https://github.com/orgs/langfuse/discussions/1128", - "created_at": "2024-02-10T17:36:48Z", - "upvotes": 2, - "comment_count": 1, + "number": 1952, + "title": "How to communicate trace-id between backend and frontend ? (langchain+langserve integration)", + "href": "https://github.com/orgs/langfuse/discussions/1952", + "created_at": "2024-05-02T13:48:20Z", + "upvotes": 1, + "comment_count": 3, "resolved": false, "labels": [ - "ui", - "feat-sessions" + "integration-langchain" ], "author": { - "login": "benm5678", - "html_url": "https://github.com/benm5678" + "login": "Sinnaeve", + "html_url": "https://github.com/Sinnaeve" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1118, - "title": "[Simple Feature/WebUI] Adding a button to hide the sidebar", - "href": "https://github.com/orgs/langfuse/discussions/1118", - "created_at": "2024-02-09T09:43:34Z", - "upvotes": 3, + "number": 1946, + "title": "Not able to build docker image from web/Dockerfile", + "href": "https://github.com/orgs/langfuse/discussions/1946", + "created_at": "2024-05-02T09:41:18Z", + "upvotes": 2, "comment_count": 1, - "resolved": false, - "labels": [ - "ui" - ], - "author": { - "login": "samyxdev", - "html_url": "https://github.com/samyxdev" - }, - "category": "Ideas" - }, - { - "number": 1115, - "title": "Prioritize traces captured from LangGraph by relevance", - "href": "https://github.com/orgs/langfuse/discussions/1115", - "created_at": "2024-02-08T06:44:34Z", - "upvotes": 8, - "comment_count": 3, - "resolved": false, + "resolved": true, "labels": [ - "ui", - "integration-langchain" + "self-hosting" ], "author": { - "login": "litagent", - "html_url": "https://github.com/litagent" + "login": "Subham0793", + "html_url": "https://github.com/Subham0793" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1114, - "title": "Pulling prompt/completions via API", - "href": "https://github.com/orgs/langfuse/discussions/1114", - "created_at": "2024-02-08T00:52:10Z", - "upvotes": 1, + "number": 1940, + "title": "Simple Prompt -> LLM error with Usage Object?", + "href": "https://github.com/orgs/langfuse/discussions/1940", + "created_at": "2024-05-01T13:47:14Z", + "upvotes": 2, "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [], "author": { - "login": "mukundt", - "html_url": "https://github.com/mukundt" + "login": "tzilkha", + "html_url": "https://github.com/tzilkha" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1106, - "title": "Prompt version comments", - "href": "https://github.com/orgs/langfuse/discussions/1106", - "created_at": "2024-02-07T15:38:07Z", - "upvotes": 5, - "comment_count": 2, + "number": 1864, + "title": "Can't see traces in the webUI if callback_handler passed to LLM init constructor", + "href": "https://github.com/orgs/langfuse/discussions/1864", + "created_at": "2024-04-25T21:01:54Z", + "upvotes": 2, + "comment_count": 1, "resolved": false, - "labels": [ - "ui", - "feat-prompt-management", - "✅ Done" - ], + "labels": [], "author": { - "login": "mukundt", - "html_url": "https://github.com/mukundt" + "login": "gabrielfior", + "html_url": "https://github.com/gabrielfior" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1105, - "title": "\"Git diff\" view between two prompt versions", - "href": "https://github.com/orgs/langfuse/discussions/1105", - "created_at": "2024-02-07T15:37:18Z", - "upvotes": 13, + "number": 1860, + "title": "Alter generation names with LangChain integration", + "href": "https://github.com/orgs/langfuse/discussions/1860", + "created_at": "2024-04-25T18:12:35Z", + "upvotes": 1, "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [ - "ui", - "feat-prompt-management" + "integration-langchain" ], "author": { - "login": "mukundt", - "html_url": "https://github.com/mukundt" + "login": "nic-asnes-klaviyo", + "html_url": "https://github.com/nic-asnes-klaviyo" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1097, - "title": "Ability to post-process generation data", - "href": "https://github.com/orgs/langfuse/discussions/1097", - "created_at": "2024-02-06T17:45:58Z", + "number": 1831, + "title": "how to check only output tokens and models costs related to only output tokens?", + "href": "https://github.com/orgs/langfuse/discussions/1831", + "created_at": "2024-04-24T12:27:17Z", "upvotes": 2, "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "denisergashbaev", - "html_url": "https://github.com/denisergashbaev" + "login": "manishiitg", + "html_url": "https://github.com/manishiitg" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1096, - "title": "[Python SDK] Link prompt to OpenAI Chat Completion directly", - "href": "https://github.com/orgs/langfuse/discussions/1096", - "created_at": "2024-02-06T17:19:29Z", - "upvotes": 2, + "number": 1814, + "title": "Deploy to heroku", + "href": "https://github.com/orgs/langfuse/discussions/1814", + "created_at": "2024-04-23T13:56:27Z", + "upvotes": 1, "comment_count": 2, - "resolved": false, + "resolved": true, "labels": [ - "sdk-python", - "feat-prompt-management", - "integration-openai" + "self-hosting" ], "author": { - "login": "fancyweb", - "html_url": "https://github.com/fancyweb" + "login": "MarcoSteinke", + "html_url": "https://github.com/MarcoSteinke" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1089, - "title": "Use JWTs for API private key", - "href": "https://github.com/orgs/langfuse/discussions/1089", - "created_at": "2024-02-06T02:11:39Z", - "upvotes": 1, - "comment_count": 2, + "number": 1788, + "title": "Need help with resolving long runtimes when Langfuse tracing is enabled", + "href": "https://github.com/orgs/langfuse/discussions/1788", + "created_at": "2024-04-19T17:46:05Z", + "upvotes": 2, + "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "Manouchehri", - "html_url": "https://github.com/Manouchehri" + "login": "pooja1423", + "html_url": "https://github.com/pooja1423" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1082, - "title": "Add LLM call duration on session and trace table", - "href": "https://github.com/orgs/langfuse/discussions/1082", - "created_at": "2024-02-05T20:52:23Z", + "number": 1785, + "title": "How to limit the number of traces", + "href": "https://github.com/orgs/langfuse/discussions/1785", + "created_at": "2024-04-19T10:29:17Z", "upvotes": 1, "comment_count": 1, "resolved": false, - "labels": [ - "ui" - ], + "labels": [], "author": { - "login": "Manouchehri", - "html_url": "https://github.com/Manouchehri" + "login": "secsilm", + "html_url": "https://github.com/secsilm" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1077, - "title": "Flowise: Allow adding metadata in API call to populate Langfuse trace metadata", - "href": "https://github.com/orgs/langfuse/discussions/1077", - "created_at": "2024-02-05T15:55:07Z", - "upvotes": 2, - "comment_count": 0, + "number": 1773, + "title": "Flowise 1.6.5 can not Trace", + "href": "https://github.com/orgs/langfuse/discussions/1773", + "created_at": "2024-04-18T11:55:32Z", + "upvotes": 1, + "comment_count": 1, "resolved": false, - "labels": [ - "integration-flowise" - ], + "labels": [], "author": { - "login": "jpmin7", - "html_url": "https://github.com/jpmin7" + "login": "lknbv5", + "html_url": "https://github.com/lknbv5" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1076, - "title": "Flowise: Allow Langfuse traceId to be set or passed on with API response", - "href": "https://github.com/orgs/langfuse/discussions/1076", - "created_at": "2024-02-05T14:58:23Z", + "number": 1759, + "title": "How to get generations and scores in the same trace when using OpenAI sdk or other tools", + "href": "https://github.com/orgs/langfuse/discussions/1759", + "created_at": "2024-04-17T15:56:51Z", "upvotes": 1, "comment_count": 1, "resolved": false, - "labels": [ - "sdk-js", - "integration-flowise" - ], + "labels": [], "author": { - "login": "jpmin7", - "html_url": "https://github.com/jpmin7" + "login": "databill86", + "html_url": "https://github.com/databill86" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1074, - "title": "Model costs in terms of energy for self hosted models (or cloud hosted)", - "href": "https://github.com/orgs/langfuse/discussions/1074", - "created_at": "2024-02-05T10:15:27Z", + "number": 1712, + "title": "Invalid public key", + "href": "https://github.com/orgs/langfuse/discussions/1712", + "created_at": "2024-04-14T18:11:51Z", "upvotes": 1, "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "vquilon", - "html_url": "https://github.com/vquilon" + "login": "taaha3244", + "html_url": "https://github.com/taaha3244" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1073, - "title": "Use proper logger for backend API to make it configurable", - "href": "https://github.com/orgs/langfuse/discussions/1073", - "created_at": "2024-02-05T09:19:01Z", - "upvotes": 3, - "comment_count": 5, + "number": 1672, + "title": "Cookies not allowed", + "href": "https://github.com/orgs/langfuse/discussions/1672", + "created_at": "2024-04-11T07:43:53Z", + "upvotes": 1, + "comment_count": 3, "resolved": false, - "labels": [ - "✅ Done", - "self-hosting" - ], + "labels": [], "author": { - "login": "code-haven", - "html_url": "https://github.com/code-haven" + "login": "danielpirs", + "html_url": "https://github.com/danielpirs" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1049, - "title": "API Examples for Generations", - "href": "https://github.com/orgs/langfuse/discussions/1049", - "created_at": "2024-02-02T07:02:08Z", - "upvotes": 2, + "number": 1649, + "title": "Run Langchain Evaluations on data in Langfuse , Why is the prompt not considered, and could this lead to evaluation flaws?", + "href": "https://github.com/orgs/langfuse/discussions/1649", + "created_at": "2024-04-10T05:25:28Z", + "upvotes": 1, "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "Manouchehri", - "html_url": "https://github.com/Manouchehri" + "login": "pengpengIlove", + "html_url": "https://github.com/pengpengIlove" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1048, - "title": "Allow sharing traces as a self contained HTML file via presigned S3 URL", - "href": "https://github.com/orgs/langfuse/discussions/1048", - "created_at": "2024-02-02T06:05:47Z", - "upvotes": 2, - "comment_count": 0, - "resolved": false, - "labels": [], + "number": 1610, + "title": "Scoring a trace after the LLM chain returns", + "href": "https://github.com/orgs/langfuse/discussions/1610", + "created_at": "2024-04-07T15:12:34Z", + "upvotes": 1, + "comment_count": 1, + "resolved": true, + "labels": [ + "feat-scores" + ], "author": { - "login": "Manouchehri", - "html_url": "https://github.com/Manouchehri" + "login": "pooja1423", + "html_url": "https://github.com/pooja1423" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1043, - "title": "Ability to query entities from SDK", - "href": "https://github.com/orgs/langfuse/discussions/1043", - "created_at": "2024-02-01T23:51:00Z", - "upvotes": 4, + "number": 1601, + "title": "Okta auth got `read ECONNRESET`", + "href": "https://github.com/orgs/langfuse/discussions/1601", + "created_at": "2024-04-04T03:46:08Z", + "upvotes": 1, "comment_count": 2, "resolved": false, - "labels": [ - "feat-api" - ], + "labels": [], "author": { - "login": "Pranov1", - "html_url": "https://github.com/Pranov1" + "login": "tmwatchanan", + "html_url": "https://github.com/tmwatchanan" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1033, - "title": "Subscribe to Langfuse Events via Webhooks", - "href": "https://github.com/orgs/langfuse/discussions/1033", - "created_at": "2024-02-01T18:59:56Z", - "upvotes": 34, - "comment_count": 6, + "number": 1538, + "title": "Trace input is null when passing in nodes, or Documents with transformations to VectorStoreIndex constructor", + "href": "https://github.com/orgs/langfuse/discussions/1538", + "created_at": "2024-03-29T00:30:49Z", + "upvotes": 1, + "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "marcklingen", - "html_url": "https://github.com/marcklingen" + "login": "mwertheim-zco", + "html_url": "https://github.com/mwertheim-zco" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1032, - "title": "Periodic reports (email or slack)", - "href": "https://github.com/orgs/langfuse/discussions/1032", - "created_at": "2024-02-01T18:57:42Z", - "upvotes": 12, + "number": 1536, + "title": "Tracing and Session support on Integrations like LiteLLM Proxy and others and Is LangFuse logging a background process?", + "href": "https://github.com/orgs/langfuse/discussions/1536", + "created_at": "2024-03-28T20:22:49Z", + "upvotes": 1, "comment_count": 1, - "resolved": false, - "labels": [], + "resolved": true, + "labels": [ + "integration-litellm", + "feat-sessions" + ], "author": { - "login": "marcklingen", - "html_url": "https://github.com/marcklingen" + "login": "Harryalways317", + "html_url": "https://github.com/Harryalways317" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1021, - "title": "Add `Embedding` observation type", - "href": "https://github.com/orgs/langfuse/discussions/1021", - "created_at": "2024-02-01T03:15:17Z", - "upvotes": 55, - "comment_count": 2, + "number": 1528, + "title": "Aggregated project from multiple langfuse servers", + "href": "https://github.com/orgs/langfuse/discussions/1528", + "created_at": "2024-03-28T09:01:37Z", + "upvotes": 3, + "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "marcklingen", - "html_url": "https://github.com/marcklingen" + "login": "juan-abia", + "html_url": "https://github.com/juan-abia" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1020, - "title": "Leveraging Azure OpenAI Diagnostic Settings?", - "href": "https://github.com/orgs/langfuse/discussions/1020", - "created_at": "2024-02-01T02:58:54Z", + "number": 1524, + "title": "How to add default user and project to self-hosted docker?", + "href": "https://github.com/orgs/langfuse/discussions/1524", + "created_at": "2024-03-28T08:00:07Z", "upvotes": 1, - "comment_count": 0, - "resolved": false, + "comment_count": 2, + "resolved": true, "labels": [ - "integration-openai", - "integration-litellm" + "self-hosting" ], "author": { - "login": "Manouchehri", - "html_url": "https://github.com/Manouchehri" + "login": "tzsombor95", + "html_url": "https://github.com/tzsombor95" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1011, - "title": "Configurable dashboards", - "href": "https://github.com/orgs/langfuse/discussions/1011", - "created_at": "2024-01-31T13:40:59Z", - "upvotes": 17, - "comment_count": 2, - "resolved": false, - "labels": [ - "ui", - "feat-dashboard" - ], + "number": 1512, + "title": "[Alerts] Connect to Slack", + "href": "https://github.com/orgs/langfuse/discussions/1512", + "created_at": "2024-03-27T08:04:49Z", + "upvotes": 4, + "comment_count": 1, + "resolved": true, + "labels": [], "author": { - "login": "marcklingen", - "html_url": "https://github.com/marcklingen" + "login": "hypernovas", + "html_url": "https://github.com/hypernovas" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1010, - "title": "Add new integration: LLM Proxy", - "href": "https://github.com/orgs/langfuse/discussions/1010", - "created_at": "2024-01-31T12:40:35Z", - "upvotes": 2, + "number": 1486, + "title": "Update/delete score using python sdk", + "href": "https://github.com/orgs/langfuse/discussions/1486", + "created_at": "2024-03-25T20:13:55Z", + "upvotes": 5, "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [ - "integrations" + "feat-scores" ], "author": { - "login": "marcklingen", - "html_url": "https://github.com/marcklingen" + "login": "msanand", + "html_url": "https://github.com/msanand" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1009, - "title": "Decorator-based integration with Langfuse", - "href": "https://github.com/orgs/langfuse/discussions/1009", - "created_at": "2024-01-31T12:19:26Z", - "upvotes": 7, + "number": 1481, + "title": "502-Bad Request", + "href": "https://github.com/orgs/langfuse/discussions/1481", + "created_at": "2024-03-22T13:06:18Z", + "upvotes": 1, "comment_count": 3, - "resolved": false, + "resolved": true, "labels": [ - "sdk-python", - "integrations", - "✅ Done", - "integration-python-decorator" + "self-hosting" ], "author": { - "login": "marcklingen", - "html_url": "https://github.com/marcklingen" + "login": "tbarbito", + "html_url": "https://github.com/tbarbito" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1004, - "title": "should work with OpenAI-compatible self-hosted endpoints", - "href": "https://github.com/orgs/langfuse/discussions/1004", - "created_at": "2024-01-31T09:04:28Z", - "upvotes": 2, - "comment_count": 2, + "number": 1466, + "title": "bug: Potential bug with AzureAD auth setup", + "href": "https://github.com/orgs/langfuse/discussions/1466", + "created_at": "2024-03-22T07:12:43Z", + "upvotes": 1, + "comment_count": 1, "resolved": false, "labels": [ - "sdk-python", - "integration-openai" + "self-hosting" ], "author": { - "login": "7flash", - "html_url": "https://github.com/7flash" + "login": "mprudra", + "html_url": "https://github.com/mprudra" }, - "category": "Ideas" + "category": "Support" }, { - "number": 999, - "title": "Users should be able to pass metadata and tags via `overrideConfig` when using the Flowise integration", - "href": "https://github.com/orgs/langfuse/discussions/999", - "created_at": "2024-01-30T19:52:41Z", - "upvotes": 2, - "comment_count": 1, + "number": 1449, + "title": "Langfuse session ID when using Chainlit", + "href": "https://github.com/orgs/langfuse/discussions/1449", + "created_at": "2024-03-20T00:57:09Z", + "upvotes": 1, + "comment_count": 2, "resolved": false, - "labels": [ - "sdk-js", - "integration-flowise", - "✅ Done" - ], + "labels": [], "author": { - "login": "giorgosera", - "html_url": "https://github.com/giorgosera" + "login": "tituslhy", + "html_url": "https://github.com/tituslhy" }, - "category": "Ideas" + "category": "Support" }, { - "number": 991, - "title": "Inferring cost of trace from metadata field if optionally provided", - "href": "https://github.com/orgs/langfuse/discussions/991", - "created_at": "2024-01-30T07:38:56Z", + "number": 1445, + "title": "Linking dataset run items with existing callback handler", + "href": "https://github.com/orgs/langfuse/discussions/1445", + "created_at": "2024-03-19T16:54:54Z", "upvotes": 1, - "comment_count": 2, + "comment_count": 1, "resolved": false, - "labels": [], + "labels": [ + "feat-datasets" + ], "author": { - "login": "sumba101", - "html_url": "https://github.com/sumba101" + "login": "subandwho", + "html_url": "https://github.com/subandwho" }, - "category": "Ideas" + "category": "Support" }, { - "number": 990, - "title": "filtering sessions with metadata", - "href": "https://github.com/orgs/langfuse/discussions/990", - "created_at": "2024-01-30T06:21:42Z", - "upvotes": 7, - "comment_count": 2, - "resolved": false, + "number": 1434, + "title": "Add UserID and Feedback when using LlamaIndex Integration", + "href": "https://github.com/orgs/langfuse/discussions/1434", + "created_at": "2024-03-18T20:24:29Z", + "upvotes": 1, + "comment_count": 1, + "resolved": true, "labels": [ - "ui", - "feat-sessions", - "feat-metadata" + "integraton-llamaindex" ], "author": { - "login": "litagent", - "html_url": "https://github.com/litagent" + "login": "skelleex", + "html_url": "https://github.com/skelleex" }, - "category": "Ideas" + "category": "Support" }, { - "number": 989, - "title": "Enable Collaboration Platforms for Project Members", - "href": "https://github.com/orgs/langfuse/discussions/989", - "created_at": "2024-01-30T04:00:26Z", + "number": 1432, + "title": "langfuse.api.resources.commons.errors.not_found_error.NotFoundError: status_code: 404, body: {'message': 'Observation not found'}", + "href": "https://github.com/orgs/langfuse/discussions/1432", + "created_at": "2024-03-18T13:29:05Z", "upvotes": 1, "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "khareyash05", - "html_url": "https://github.com/khareyash05" + "login": "emailic", + "html_url": "https://github.com/emailic" }, - "category": "Ideas" + "category": "Support" }, { - "number": 982, - "title": "Supporting OpenAI Vision", - "href": "https://github.com/orgs/langfuse/discussions/982", - "created_at": "2024-01-29T19:06:44Z", - "upvotes": 7, - "comment_count": 2, - "resolved": false, - "labels": [ - "integration-openai", - "✅ Done", - "feat-multimodal" - ], + "number": 1429, + "title": "Hybrid usage Langfuse among OpenAI calls as well Langchain", + "href": "https://github.com/orgs/langfuse/discussions/1429", + "created_at": "2024-03-17T14:09:57Z", + "upvotes": 1, + "comment_count": 1, + "resolved": true, + "labels": [], "author": { - "login": "pj747", - "html_url": "https://github.com/pj747" + "login": "mikeon", + "html_url": "https://github.com/mikeon" }, - "category": "Ideas" + "category": "Support" }, { - "number": 980, - "title": "Comments on objects across the Langfuse UI", - "href": "https://github.com/orgs/langfuse/discussions/980", - "created_at": "2024-01-29T18:21:03Z", - "upvotes": 3, - "comment_count": 3, - "resolved": false, + "number": 1420, + "title": "Datasets list / by id", + "href": "https://github.com/orgs/langfuse/discussions/1420", + "created_at": "2024-03-15T02:22:27Z", + "upvotes": 2, + "comment_count": 2, + "resolved": true, "labels": [ - "ui", - "✅ Done" + "feat-datasets" ], "author": { - "login": "marcklingen", - "html_url": "https://github.com/marcklingen" + "login": "norton120", + "html_url": "https://github.com/norton120" }, - "category": "Ideas" + "category": "Support" }, { - "number": 976, - "title": "Support alternative databases next to Postgres, e.g. MySQL", - "href": "https://github.com/orgs/langfuse/discussions/976", - "created_at": "2024-01-28T21:44:11Z", - "upvotes": 3, - "comment_count": 6, - "resolved": false, - "labels": [ - "self-hosting" - ], + "number": 1417, + "title": "Running Langfuse in Kubernetes", + "href": "https://github.com/orgs/langfuse/discussions/1417", + "created_at": "2024-03-14T19:59:42Z", + "upvotes": 1, + "comment_count": 2, + "resolved": true, + "labels": [], "author": { - "login": "zoltan-fedor", - "html_url": "https://github.com/zoltan-fedor" + "login": "mikeon", + "html_url": "https://github.com/mikeon" }, - "category": "Ideas" + "category": "Support" }, { - "number": 969, - "title": "Flowise - OpenAI Assistant cost tracking", - "href": "https://github.com/orgs/langfuse/discussions/969", - "created_at": "2024-01-26T18:04:07Z", + "number": 1382, + "title": "Match LLMs from AWS Bedrock to added model definition", + "href": "https://github.com/orgs/langfuse/discussions/1382", + "created_at": "2024-03-09T08:28:53Z", "upvotes": 2, "comment_count": 0, "resolved": false, - "labels": [ - "integration-flowise" - ], + "labels": [], "author": { - "login": "jozsef-gereby", - "html_url": "https://github.com/jozsef-gereby" + "login": "DominikNeumaier", + "html_url": "https://github.com/DominikNeumaier" }, - "category": "Ideas" + "category": "Support" }, { - "number": 964, - "title": "Latency metrics - Time to first token, Tokens per second", - "href": "https://github.com/orgs/langfuse/discussions/964", - "created_at": "2024-01-26T15:37:01Z", - "upvotes": 8, - "comment_count": 3, - "resolved": false, - "labels": [ - "✅ Done" - ], + "number": 1380, + "title": "Langfuse flush() taking a long time and hangs", + "href": "https://github.com/orgs/langfuse/discussions/1380", + "created_at": "2024-03-09T00:09:55Z", + "upvotes": 1, + "comment_count": 2, + "resolved": true, + "labels": [], "author": { - "login": "nikcaryo-super", - "html_url": "https://github.com/nikcaryo-super" + "login": "venu-shapley", + "html_url": "https://github.com/venu-shapley" }, - "category": "Ideas" + "category": "Support" }, { - "number": 958, - "title": "LLM calls captured via Langchain integration should match what’s sent to the LLM", - "href": "https://github.com/orgs/langfuse/discussions/958", - "created_at": "2024-01-25T16:45:38Z", - "upvotes": 3, - "comment_count": 2, - "resolved": false, + "number": 1373, + "title": "How to fix error when running docs app demo chat", + "href": "https://github.com/orgs/langfuse/discussions/1373", + "created_at": "2024-03-08T00:08:46Z", + "upvotes": 1, + "comment_count": 1, + "resolved": true, "labels": [], "author": { - "login": "benm5678", - "html_url": "https://github.com/benm5678" + "login": "luandro", + "html_url": "https://github.com/luandro" }, - "category": "Ideas" + "category": "Support" }, { - "number": 953, - "title": "Improve integration with flowise", - "href": "https://github.com/orgs/langfuse/discussions/953", - "created_at": "2024-01-24T19:57:06Z", + "number": 1357, + "title": "Run items not appearing when linking to a trace and not a span or a generation", + "href": "https://github.com/orgs/langfuse/discussions/1357", + "created_at": "2024-03-07T10:17:34Z", "upvotes": 1, "comment_count": 2, - "resolved": false, + "resolved": true, "labels": [ - "sdk-js", - "integration-flowise" + "feat-datasets" ], "author": { - "login": "tsiougkosn", - "html_url": "https://github.com/tsiougkosn" + "login": "ladislasdellinger", + "html_url": "https://github.com/ladislasdellinger" }, - "category": "Ideas" + "category": "Support" }, { - "number": 941, - "title": "Dark mode", - "href": "https://github.com/orgs/langfuse/discussions/941", - "created_at": "2024-01-24T05:52:30Z", - "upvotes": 9, - "comment_count": 5, + "number": 1353, + "title": "How do I add custom LLM APIs to the Langfuse UI?", + "href": "https://github.com/orgs/langfuse/discussions/1353", + "created_at": "2024-03-07T06:33:23Z", + "upvotes": 0, + "comment_count": 1, "resolved": false, - "labels": [ - "✅ Done" - ], + "labels": [], "author": { - "login": "archywillhe", - "html_url": "https://github.com/archywillhe" + "login": "yudhiesh", + "html_url": "https://github.com/yudhiesh" }, - "category": "Ideas" + "category": "Support" }, { - "number": 939, - "title": "Full-text search on trace/observation/generation input/output", - "href": "https://github.com/orgs/langfuse/discussions/939", - "created_at": "2024-01-23T23:47:11Z", - "upvotes": 27, - "comment_count": 9, + "number": 1336, + "title": "Applying database migrations failed. This is mostly caused by the database being unavailable.", + "href": "https://github.com/orgs/langfuse/discussions/1336", + "created_at": "2024-03-06T09:10:19Z", + "upvotes": 1, + "comment_count": 2, "resolved": false, - "labels": [ - "ui" - ], + "labels": [], "author": { - "login": "marcklingen", - "html_url": "https://github.com/marcklingen" + "login": "everyfin-in", + "html_url": "https://github.com/everyfin-in" }, - "category": "Ideas" + "category": "Support" }, { - "number": 917, - "title": "Download dashboard details", - "href": "https://github.com/orgs/langfuse/discussions/917", - "created_at": "2024-01-21T16:35:24Z", - "upvotes": 8, - "comment_count": 3, + "number": 1335, + "title": "Openai and null traces for input/output/metadata", + "href": "https://github.com/orgs/langfuse/discussions/1335", + "created_at": "2024-03-06T02:02:46Z", + "upvotes": 2, + "comment_count": 0, "resolved": false, "labels": [], "author": { - "login": "kerenaba", - "html_url": "https://github.com/kerenaba" + "login": "aiakubovich", + "html_url": "https://github.com/aiakubovich" }, - "category": "Ideas" + "category": "Support" }, { - "number": 902, - "title": "Support secret in docker compose", - "href": "https://github.com/orgs/langfuse/discussions/902", - "created_at": "2024-01-17T14:03:26Z", - "upvotes": 2, + "number": 1328, + "title": "Incompatibility between openllmetry and langfuse OpenAI wrapper", + "href": "https://github.com/orgs/langfuse/discussions/1328", + "created_at": "2024-03-05T17:03:34Z", + "upvotes": 1, "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "shuther", - "html_url": "https://github.com/shuther" + "login": "pamelafox", + "html_url": "https://github.com/pamelafox" }, - "category": "Ideas" + "category": "Support" }, { - "number": 896, - "title": "generation usage should accept a list of dict for async generation", - "href": "https://github.com/orgs/langfuse/discussions/896", - "created_at": "2024-01-17T05:59:24Z", + "number": 1326, + "title": "Does Langfuse integrate with LiteLLM Proxy Server?", + "href": "https://github.com/orgs/langfuse/discussions/1326", + "created_at": "2024-03-05T15:25:37Z", "upvotes": 1, "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [], "author": { - "login": "dove-young", - "html_url": "https://github.com/dove-young" + "login": "alphanome", + "html_url": "https://github.com/alphanome" }, - "category": "Ideas" + "category": "Support" }, { - "number": 874, - "title": "Improve exception handling and type safety in python SDK", - "href": "https://github.com/orgs/langfuse/discussions/874", - "created_at": "2024-01-12T17:01:58Z", - "upvotes": 5, - "comment_count": 3, + "number": 1325, + "title": "Do you need a helm chart of langfuse?", + "href": "https://github.com/orgs/langfuse/discussions/1325", + "created_at": "2024-03-05T15:02:42Z", + "upvotes": 1, + "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "hubert-springbok", - "html_url": "https://github.com/hubert-springbok" + "login": "artemus717", + "html_url": "https://github.com/artemus717" }, - "category": "Ideas" + "category": "Support" }, { - "number": 854, - "title": "Feature: API should give User-Tokens", - "href": "https://github.com/orgs/langfuse/discussions/854", - "created_at": "2024-01-09T14:26:47Z", - "upvotes": 6, - "comment_count": 0, - "resolved": false, + "number": 1323, + "title": "When referencing the local langfuse in the langserve code, an error occurs:“ImportError: cannot import name 'ChatDeepInfra' from 'langchain_community.chat_models...”", + "href": "https://github.com/orgs/langfuse/discussions/1323", + "created_at": "2024-03-05T13:03:49Z", + "upvotes": 2, + "comment_count": 2, + "resolved": true, "labels": [], "author": { - "login": "droggta", - "html_url": "https://github.com/droggta" + "login": "zhenlong-zhu", + "html_url": "https://github.com/zhenlong-zhu" }, - "category": "Ideas" + "category": "Support" }, { - "number": 852, - "title": "Add prompt.to_langchain() to get a Langchain Prompt Template", - "href": "https://github.com/orgs/langfuse/discussions/852", - "created_at": "2024-01-09T13:20:55Z", - "upvotes": 7, - "comment_count": 2, - "resolved": false, + "number": 1225, + "title": "Can Langfuse be used to record the records of ConversationChain in LangChain?", + "href": "https://github.com/orgs/langfuse/discussions/1225", + "created_at": "2024-02-22T09:24:34Z", + "upvotes": 1, + "comment_count": 1, + "resolved": true, "labels": [ - "integrations", - "feat-prompt-management", - "✅ Done" + "integration-langchain" ], "author": { - "login": "marcklingen", - "html_url": "https://github.com/marcklingen" + "login": "lyzltysgithub", + "html_url": "https://github.com/lyzltysgithub" }, - "category": "Ideas" + "category": "Support" }, { - "number": 853, - "title": "feat(ui): Dashboard filter and highlight", - "href": "https://github.com/orgs/langfuse/discussions/853", - "created_at": "2024-01-09T05:37:34Z", - "upvotes": 2, + "number": 1193, + "title": "What is the shadow database needed for?", + "href": "https://github.com/orgs/langfuse/discussions/1193", + "created_at": "2024-02-17T08:23:33Z", + "upvotes": 1, + "comment_count": 2, + "resolved": true, + "labels": [], + "author": { + "login": "Stadly", + "html_url": "https://github.com/Stadly" + }, + "category": "Support" + }, + { + "number": 1184, + "title": "Unable to set session id or other CallbackHandler parameters when passing trace client in langchain sdk", + "href": "https://github.com/orgs/langfuse/discussions/1184", + "created_at": "2024-02-16T08:01:51Z", + "upvotes": 1, "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [ - "ui", - "Dashboard" + "integration-langchain" ], "author": { - "login": "lkNGAT", - "html_url": "https://github.com/lkNGAT" + "login": "sasidevtool", + "html_url": "https://github.com/sasidevtool" }, - "category": "Ideas" + "category": "Support" }, { - "number": 844, - "title": "Integration: Node.js/Typescript OpenAI SDK", - "href": "https://github.com/orgs/langfuse/discussions/844", - "created_at": "2024-01-08T22:39:27Z", - "upvotes": 8, + "number": 1186, + "title": "How to set tags when using the Langchain Callback handler", + "href": "https://github.com/orgs/langfuse/discussions/1186", + "created_at": "2024-02-16T05:47:31Z", + "upvotes": 2, "comment_count": 2, - "resolved": false, + "resolved": true, "labels": [ - "sdk-js", - "integrations", - "✅ Done" + "sdk-python", + "integration-langchain", + "feat-tags" ], "author": { - "login": "marcklingen", - "html_url": "https://github.com/marcklingen" + "login": "reza-mohideen", + "html_url": "https://github.com/reza-mohideen" }, - "category": "Ideas" + "category": "Support" }, { - "number": 828, - "title": "LlamaIndex integration (Python)", - "href": "https://github.com/orgs/langfuse/discussions/828", - "created_at": "2024-01-06T18:21:02Z", - "upvotes": 20, - "comment_count": 7, - "resolved": false, + "number": 1179, + "title": "Ollama token counts", + "href": "https://github.com/orgs/langfuse/discussions/1179", + "created_at": "2024-02-15T23:38:39Z", + "upvotes": 2, + "comment_count": 2, + "resolved": true, "labels": [ - "sdk-python", - "integrations", - "✅ Done", - "integraton-llamaindex" + "feat-cost-tracking" ], "author": { - "login": "marcklingen", - "html_url": "https://github.com/marcklingen" + "login": "aiseei", + "html_url": "https://github.com/aiseei" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1007, - "title": "Admin API: projects, api keys, user management", - "href": "https://github.com/orgs/langfuse/discussions/1007", - "created_at": "2023-12-21T13:22:28Z", - "upvotes": 23, - "comment_count": 13, + "number": 1310, + "title": "Trace of custom classes gives nondescriptive info", + "href": "https://github.com/orgs/langfuse/discussions/1310", + "created_at": "2024-02-06T14:13:26Z", + "upvotes": 1, + "comment_count": 0, "resolved": false, - "labels": [ - "feat-api", - "self-hosting" - ], + "labels": [], "author": { - "login": "maxxte", - "html_url": "https://github.com/maxxte" + "login": "mjungiewicz-exadel", + "html_url": "https://github.com/mjungiewicz-exadel" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1006, - "title": "Versioning of docs", - "href": "https://github.com/orgs/langfuse/discussions/1006", - "created_at": "2023-12-18T01:27:09Z", + "number": 1091, + "title": "How to pass span id to OpenAI `chat.completions.create`", + "href": "https://github.com/orgs/langfuse/discussions/1091", + "created_at": "2024-02-06T09:33:30Z", "upvotes": 1, "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [ - "docs" + "integration-openai" ], "author": { - "login": "flxwu", - "html_url": "https://github.com/flxwu" + "login": "techytushar", + "html_url": "https://github.com/techytushar" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1008, - "title": "Datasets: Diff of output and expected output", - "href": "https://github.com/orgs/langfuse/discussions/1008", - "created_at": "2023-11-29T00:35:13Z", - "upvotes": 6, - "comment_count": 3, - "resolved": false, + "number": 1081, + "title": "Sessions vs Traces?", + "href": "https://github.com/orgs/langfuse/discussions/1081", + "created_at": "2024-02-05T21:06:03Z", + "upvotes": 1, + "comment_count": 2, + "resolved": true, "labels": [ - "ui", - "feat-datasets" + "feat-sessions" ], "author": { - "login": "marcklingen", - "html_url": "https://github.com/marcklingen" + "login": "Manouchehri", + "html_url": "https://github.com/Manouchehri" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1066, - "title": "feat: Publish arm64 compatible docker images", - "href": "https://github.com/orgs/langfuse/discussions/1066", - "created_at": "2023-11-08T16:06:08Z", + "number": 1071, + "title": "feat: support for custom httpx.client", + "href": "https://github.com/orgs/langfuse/discussions/1071", + "created_at": "2024-02-05T06:35:23Z", "upvotes": 1, - "comment_count": 10, + "comment_count": 2, "resolved": false, + "labels": [], + "author": { + "login": "brandonkzw", + "html_url": "https://github.com/brandonkzw" + }, + "category": "Support" + }, + { + "number": 1070, + "title": "Where to log request and response headers of generations? (litellm)", + "href": "https://github.com/orgs/langfuse/discussions/1070", + "created_at": "2024-02-05T02:40:38Z", + "upvotes": 1, + "comment_count": 2, + "resolved": true, "labels": [ - "✅ Done", - "self-hosting" + "integration-litellm" ], "author": { - "login": "code-haven", - "html_url": "https://github.com/code-haven" + "login": "Manouchehri", + "html_url": "https://github.com/Manouchehri" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1065, - "title": "OpenAI SDK wrapper for JS", - "href": "https://github.com/orgs/langfuse/discussions/1065", - "created_at": "2023-09-15T10:55:35Z", + "number": 1055, + "title": "Best way to flush LF in Next.js?", + "href": "https://github.com/orgs/langfuse/discussions/1055", + "created_at": "2024-02-02T17:50:58Z", "upvotes": 1, - "comment_count": 3, + "comment_count": 1, + "resolved": true, + "labels": [], + "author": { + "login": "gullerg", + "html_url": "https://github.com/gullerg" + }, + "category": "Support" + }, + { + "number": 1054, + "title": "Sentry for self-hosted?", + "href": "https://github.com/orgs/langfuse/discussions/1054", + "created_at": "2024-02-02T17:21:06Z", + "upvotes": 1, + "comment_count": 1, + "resolved": true, + "labels": [], + "author": { + "login": "Manouchehri", + "html_url": "https://github.com/Manouchehri" + }, + "category": "Support" + }, + { + "number": 1051, + "title": "How can I get the trace_id in langfuse.openai.OpenAI?", + "href": "https://github.com/orgs/langfuse/discussions/1051", + "created_at": "2024-02-02T09:39:55Z", + "upvotes": 1, + "comment_count": 1, + "resolved": true, + "labels": [ + "integration-openai" + ], + "author": { + "login": "yangge2333", + "html_url": "https://github.com/yangge2333" + }, + "category": "Support" + }, + { + "number": 1044, + "title": "AWS SES IAM Policy", + "href": "https://github.com/orgs/langfuse/discussions/1044", + "created_at": "2024-02-02T01:58:26Z", + "upvotes": 2, + "comment_count": 1, + "resolved": false, + "labels": [], + "author": { + "login": "Manouchehri", + "html_url": "https://github.com/Manouchehri" + }, + "category": "Support" + }, + { + "number": 1019, + "title": "WAF Rules for self-hosted", + "href": "https://github.com/orgs/langfuse/discussions/1019", + "created_at": "2024-02-01T01:41:51Z", + "upvotes": 3, + "comment_count": 0, "resolved": false, + "labels": [], + "author": { + "login": "Manouchehri", + "html_url": "https://github.com/Manouchehri" + }, + "category": "Support" + }, + { + "number": 1016, + "title": "Scaling / Parallelism / Concurrency safe?", + "href": "https://github.com/orgs/langfuse/discussions/1016", + "created_at": "2024-01-31T22:33:36Z", + "upvotes": 1, + "comment_count": 1, + "resolved": true, + "labels": [], + "author": { + "login": "Manouchehri", + "html_url": "https://github.com/Manouchehri" + }, + "category": "Support" + }, + { + "number": 1013, + "title": "Building Docker container without database connection?", + "href": "https://github.com/orgs/langfuse/discussions/1013", + "created_at": "2024-01-31T19:32:47Z", + "upvotes": 1, + "comment_count": 2, + "resolved": true, + "labels": [], + "author": { + "login": "Manouchehri", + "html_url": "https://github.com/Manouchehri" + }, + "category": "Support" + }, + { + "number": 973, + "title": "If we use cloud services, when we migrate to our own host later, do all the above data support export?", + "href": "https://github.com/orgs/langfuse/discussions/973", + "created_at": "2024-01-27T09:55:41Z", + "upvotes": 1, + "comment_count": 1, + "resolved": true, + "labels": [], + "author": { + "login": "wsdo", + "html_url": "https://github.com/wsdo" + }, + "category": "Support" + }, + { + "number": 866, + "title": "Cannot see Add to Dataset button in the UI", + "href": "https://github.com/orgs/langfuse/discussions/866", + "created_at": "2024-01-11T09:12:16Z", + "upvotes": 1, + "comment_count": 2, + "resolved": true, "labels": [ - "sdk-js", - "integrations", - "integration-openai", - "✅ Done" + "feat-datasets" ], "author": { - "login": "marcklingen", - "html_url": "https://github.com/marcklingen" + "login": "SinghCoder", + "html_url": "https://github.com/SinghCoder" }, - "category": "Ideas" + "category": "Support" } ] }, From 2f70319a9b5faa87b9b2a568e0fd8f6c18b436f8 Mon Sep 17 00:00:00 2001 From: Hassieb Pakzad <68423100+hassiebp@users.noreply.github.com> Date: Tue, 26 Nov 2024 15:13:07 +0100 Subject: [PATCH 09/21] docs(vercel): nested executions within parent trace (#1014) --- pages/docs/integrations/vercel-ai-sdk.mdx | 56 +++++++++++++++++++-- public/images/docs/vercel-nested-trace.png | Bin 0 -> 572860 bytes 2 files changed, 51 insertions(+), 5 deletions(-) create mode 100644 public/images/docs/vercel-nested-trace.png diff --git a/pages/docs/integrations/vercel-ai-sdk.mdx b/pages/docs/integrations/vercel-ai-sdk.mdx index 0e806d7ef..609dede49 100644 --- a/pages/docs/integrations/vercel-ai-sdk.mdx +++ b/pages/docs/integrations/vercel-ai-sdk.mdx @@ -174,21 +174,63 @@ We created a sample repository ([langfuse/langfuse-vercel-ai-nextjs-example](htt ## Customization +### Group multiple executions in one trace + +You can open a Langfuse trace and pass the trace ID to AI SDK calls to group multiple execution spans under one trace. The passed name in functionId will be the root span name of the respective execution. + +```typescript +import { randomUUID } from "crypto"; +import { Langfuse } from "langfuse"; + +const langfuse = new Langfuse(); +const parentTraceId = randomUUID(); + +langfuse.trace({ + id: parentTraceId, + name: "holiday-traditions", +}); + +for (let i = 0; i < 3; i++) { + const result = await generateText({ + model: openai("gpt-3.5-turbo"), + maxTokens: 50, + prompt: "Invent a new holiday and describe its traditions.", + experimental_telemetry: { + isEnabled: true, + functionId: `holiday-tradition-${i}`, + metadata: { + langfuseTraceId: parentTraceId, + langfuseUpdateParent: false, // Do not update the parent trace with execution results + }, + }, + }); + + console.log(result.text); +} + +await langfuse.flushAsync(); +await sdk.shutdown(); +``` + +The resulting trace hierarchy will be: + +![Vercel nested trace in Langfuse UI](/images/docs/vercel-nested-trace.png) + ### Disable Tracking of Input/Output By default, the exporter captures the input and output of each request. You can disable this behavior by setting the `recordInputs` and `recordOutputs` options to `false`. ### Link Langfuse prompts to traces -You can link Langfuse prompts to Vercel AI SDK generations by setting the `langfusePrompt` property in the `metadata` field: +You can link Langfuse prompts to Vercel AI SDK generations by setting the `langfusePrompt` property in the `metadata` field: ```typescript -import { generateText } from "ai" -import { Langfuse } from "langfuse" +import { generateText } from "ai"; +import { Langfuse } from "langfuse"; -const langfuse = new Langfuse() +const langfuse = new Langfuse(); -const fetchedPrompt = await langfuse.getPrompt('my-prompt') +const fetchedPrompt = await langfuse.getPrompt("my-prompt"); const result = await generateText({ model: openai("gpt-4o"), @@ -243,6 +285,10 @@ new LangfuseExporter({ debug: true }); - set `skipOpenTelemetrySetup: true` in Sentry.init - follow Sentry's docs on how to manually set up Sentry with OTEL +### Short-lived environments + +In short-lived environments such as Vercel Cloud Functions, AWS Lambdas etc. you may force an export and flushing of spans after function execution and prior to environment freeze or shutdown by awaiting a call to the `forceFlush` method on the LangfuseExporter instance. + ## Learn more See the [telemetry documentation](https://sdk.vercel.ai/docs/ai-sdk-core/telemetry) of the Vercel AI SDK for more information. diff --git a/public/images/docs/vercel-nested-trace.png b/public/images/docs/vercel-nested-trace.png new file mode 100644 index 0000000000000000000000000000000000000000..5ee9b5313769fd0cbcf89d9f5e78c3eaec711f93 GIT binary patch literal 572860 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

I@9&VZ z&R-Y19#^RIemz;auVbQ-8LjLo`v6|d@_j|jf`>#mXTCkQy(5-r`s&cr>OTIOUwx)qGka&%vbA2W1p-8{u+{d59!=GfV)NE~-v6V;J=HxC;wA zysYgBzj`IVGKe*|L7QHBri|aLH}fHtAaq&iVo{0@JDk#mdnHqqHQ+^*f?gIO>oJ5Iv!L}%7~eraGD~S&uM6(1 zUS>6i9pd650>qKMdva~(9h_k5t&ae1zGQra1{cJZQDYZfe=ecD*8f3ct|ck;UZLQd zuCms@xmN6*Ov>K!pV~Boo3_b3WTnCI*zo!Dq3$KGk7^8%V)gDT#uyr(Xh6;&?sDDf zfS-P8QhJ;QP=;Po#4J})b8c)YR%qWo1P4RwOE}ctxVr~yB78okO!pXN_WD}C^gY1{ z-%&BfTCcljN?6zX+y2S=mD-eZi9MWIk2RC8kUZ$fucsYL7D#B({NBUC|lV9oNMEAA6OSZisFvU|k{bq?0zcehnV%JD7MajTa z9@z)JXEm-o{+ygMb@|)o53E3GzfU^w56s9=S|3>X=9w{keadtDbzlI>qSXWM6i1)O zC)>BU?jKzbQKToIb|q@EzY$0ciV2>hZtAhK{ULYN_J-OfJ?{~0$+Wytv&c4>QMwb~ z>`#&rM+LuR;;^jiF>!IMT#;Lc{n}cbQ(Tp5cNN+4W?9Xn8*K)@|Hi?n@aKYVU)p7x zvo`EO)-$rJ4ue`IuZpwd9JW4zhCIdiT!S8US*sD-eh@A;-NzeT^UqwPHZk_V9h^TI z{q&yh3z1%{PryCw4W5_V$|LpN$R>(a`L&j~CV0LoKBkTA&vW_N?*)AZQTpHeKCD&2+ppP)&GWc^ z9&5b0C+BsU_u?}yYhNJ79A{-UOX7P0?Z7SWd*s1(;P(_m7I4`toX!c)rg+hOuBWKB zU+708JfBj=D|MNxe2_R}SZoH@d2J=`li(^YY80=CGL(B&u|~XLDQZC?Wm|cu3kH5e zTDJGe0-^Pq?mqZQpX>+PXwP!~n(oalZyKqqtWBJ=iV^qE zWFKtIU*&_d9p=Z}1*=Q9RQ;%<$g+w+KF+my^RQx9yn$-441r$`o?koF&jENK?gTWh z?NRAJ2LSt7zc0|i%wXG(C1*n0xCW+Aqwj5|4}g|ln^(8H*M3oPhlcA(MrA&R+HC2E z!5vNB8ogbJ3IL54eO`4`WC|&D((9zPLbJyk8qeOQgm}Vh^2ekKJd6=xt+Ut{R~twB zFh^}8MfUI3bU0d|*DvI*Otngl*SxE;^^mgM4ZSlP_H(|5A^2?wjy<@G zjDFpKKvjZ7{4DYY$>cITC!bA1c@FEE==TWcnhqWuW#hnps%EzA|1ocf9ti4s`!M>Hpu! z{qNZSGb`|RpMK~5&#V~F2;85)^Tl%;4?a?35-B7;e;7h0H6aCiOplzz`@0KrWY-Kz zvGh4A(vs@a$8H-|*MQ^9dMunKV5~)3XBkD!hEAAw+&qK2Ns{XmMrt^j+)C8(QiLSu z7T}Zmqt5p{ygEeL4*GReeQ(y62uwd4iGI`dat*cbqgrWz-B`cNO1lpd{UFW$M#0h- ze9qqd#vo9~Itg`1?ZROz3?>Z zxBFqKKlHO$eJ;tJwaD2 zmG^$ugmk#oMQe|1BDY0@G4|*LB@?+v7P1kY?tz5xiV9z~uYRq4SmHV{E1P;wA!wbi z9mU*p&jKySp2dpSRT4Aa?{{%EYCHxzd7mEZYpFt1)+m?f97AwtQJ;;@7_}JoBw-q^ zdyj$THZX=wcI31}>{>VCq`y6s1d=?J!n!>rpKJw}(TpQt2 zEqO1PvDHi(vVkday@_bSgE6Q(&>g81CR-c8td*!p(wop41BNCIqwX}a1N06sqYwC1 z?LZqlZpgBu>G=gk!t1oy)#^*W%5V4m6672x&tq6WIU~a;rLf;olEuEv2YXFork+<8bo>g<4XEm@{&zNqCk&sE= zHrq>;k7?bU6%k62mr}{t-d{vtdWiJMNnsZMY?Za0g#9$O zqVa6_`v{Eu%WFs%+2!Eyr7f0$01v;CtUj? zKXF#X$onZw^Ct|E*ZUwf(Uk~!BI429BwiVJlsrsCsADY#tUVMZj=YtU3T!)RAm`~8 zOUA!1vMSJsy&a*Z$juPUhh||A#elehVWWLqqhivqy#FEtx*{JaHGxd@Alg>U<=7e( zWxi%7q-Xm2HYg`K`boa7x^%F9Y^!K)u@v52W zG4=K;yrsAq>*5_G8uqIV*yaJuY%Rqo6(|dyWH$yo+e=b+B4 zqK}Mj^RSS@!=tQaI7PJn4+&)ZWqJKQ-@rUd-yUQl?C`XvvceArs-oi8*JLj50eh zO-K{5XXnpnyuC~KCB7#2d8`OQM_DLDPFhZYN6zdJ4ft>@#VjNq@^~2a;MR&W)#!7A zgww%4N7ZO%+yl0OI{%F2b}Ao)i+uHF(BmzlR(6tF*v5|lXPg;g7p(eiEw;)zZf3R~ zifD%iE%D{Nn9T!jboH(o-pXdJmj`;5xo^;(-HL@Gld?Y<-Qmr>e8Rrf+qJdaILFo6 z>R3CSw)=a0s(`%taWeXi`s+7Lek0f48=8AZv&ilf&sXE*$MN}5-ePy?tdSj~On5J_ zm3ahC*uXgXtx0s$X@8Z}{`7wK?thQIf$9}d16wC9HRYTum)+2Ez2(WUh;bQup#?6V zVpLGW3eyWu_Mr`Az zDZ=4<>8)tXx?-M$V45num|zF5CVFk=bzyK#jIc)6xLV6y3gisLIWA-Dt~L^F$%}Jb zA&cyXovwp;<%&4~BuXw8S$eFfn}B7K!`6OFPFgAX5tCPK@MP@cczIUzSp)C%3$9lV zJ7k~t&O_^LowaT^&iajyp6t+y?r}Zh{CS=oBA3wT;PYzFvlG7P+nVzOC$7(#MstgD zj^u8%KTY*XW+x++zW>4@bU_l)w#UX=w?L>_w)aVsebkm(`pw1*b8H~ieqcWzv9CHW z1=V|_$ZqmI@+`snYGUndnH7g{NaD@l7*hd_yu85sW_q^vD!3V{N*K+%Q?4&iId-dndO?2%dIrcZA`X@y_k7rwF&CkQ$%ih44BfPYhGpNkc$fge*s8IBN zJ;G3v;^kJGu%Aw3FH9Q(NTXN(NX`#Pc@JE_s}G*8)$jEC(`)6e?{BGB*-PGb8awK@ zu$qE;+h=)`xOjNaEBKZ3pT2gzB=BC~5|n=XwayVFmd<65t1X|6^}X%-QCj-SbXH0A z7oXR*l;CH4mA$P6=TGZFf4PqYYpKFFZk6Bg9Tu90&B9x4>2G5w^|r=d(~q!f)K;!w zZr4q6orCDTHu3;DLr_J-(AGiEB|@sM6_masz6qwMhF155%|%RsWb#M9`aK8DNhjj_ zL)L93%Dtt1(#u=cf@s_IC9!rzZE9-snj5n+MSh6DDAj_s#jNxGp?-gj{&T7Fyj$W> zW{XuYa5kTqAlA?1v-4Ospw8TZ6Td*jv3EqoU@dwbs5oB14gZpVV$s%ZB1-Wswg_wBZQmjfzpWU*Im!Q<6&gqEfQ`2GtZ_*;d7*6=N~!jnMji zM)5M3WPP7Z(s{!ATF$USKLbPel%mwnh$TN2g7_jTeIl8v{IyKT*n**aE2eyP zzYrV!i9IR%5(I!@N)7;?0T|;2f6EDS#}(rK!k_fTE7PYoMhCeV^m8ZhnbIwj%8orX zw6$KF?5F}p`6pA#N^Fs-IqB##3NpLTxlX9HaBCR)9KEemwQmf{pV92iN>b%|joEyi z6h%|>wAnG>UfZo&@38Ms4>z6^%2zfBfh;9Wz4RKS91cd3Ejg+T7>DjcFG-Sc@QLbD z@yi+{^9B!ajaH33#jX^#;;zxrhnLvwlj!|RGx}D9D6VEG|IAfYysIbtp!(^K1t4JevMQs!}oPu`g;- ztLIJAsaSew_lMSH@{$^qFP+L%7maovdt5RcBIHl;xV{lS<+gVz*H`WZ%09_UFmxY4 z&=-Ia)~obwV5e*KF}F3eNZ2dbIWvtz1!3Is-Q|EF**s`xbB*LdN}>3~Gj!C7k~9AI z>(}yB+Rq-C_dYFysgl#A89Flf&+7ry{Od{078cM`>3lnx}DGbYTVU(mdFn~wCI!XCJT_HNDQANbF;&4% ziDVyaKd_*vuS<2e-gW^b-xX9vjE7!b^fO}B&-*Gy^ELRvroWHob@RP%rRvSe_Qr}I z`v&)Jee&@d?#3aiT#miJZu#$2eg8E!5Z_zNU*&^ao06>IBMCvuHT=F<`<4{$>dn63 zRfFZn?g!xa>#@N?d1$DK_ge8ht2bo7!1F1PI(vAoNxd83W88^P z?S1x+J&N^v8CEyJER#`V@Z@jd$A{za(lQb3zNkcn!)42Q_X&m*=z`ZnME6lTw5yBR zidAcgU5m4zBO8P<6$@3|Iv@JX=-(#Jk01XG_L4$F9b2$%UB$*Px{X@_eOp9!&w+v; z*2%0#=7UB;SH;q6HTDs$z-oSFo*Uq8bCDbzSVz>#?rFfKof)c(ItR^GcxZtdtCnig zO+2HL`>cvz0ZN9(4su7-;*AUV+j>#!>5UokF8ufJnw_unghrKkC;{my?%Ahjjz^WOq^L>*eOMSAHIMo@$75#*si)3Kq`*!pC zjfKH~(4_IK-OzcsHa4w$ZWJW0;1S_z_sE8QJ@GVaHQ|&A)e)w)A7e&9?{hq~b>)kW z;98}|#ek`g7=xbjksSgy>FcaPo&QLgQL-c4!JXGen-o zuIH`g#b~wE2J?8@FXma}l<$n>1)Y^f>ddj!w$p z6MxrN{|DhJjyH7uJ;P8|tM+s`#QUkU$Eg5D=N$Hj=r#+DdWccnt1%)jZkRmcWocBJUe|uh%E`-KR7b{8YcU38|hx@t?@m| z=N`W&`#kU8#qW2;%~r~~@+~BXdM_yXapv)IKH6Fm) zX)>YWRF|qpywa5sF2SN}Sij;R|CQ+Yz()jeBWF0NQkkgAOfdO;yn0Vi(YO&%_fKCI891J7kB>F)dBZ*NntG}@>l}nZ6X<>dthTdZCQPN&=T7xM@7-Dj zlS~yVe#!iR}6`(#I?G>(3r{~7^45?mGKSno3~Cs zm}Tj(_i!wFYekt?pQ@|;Jw2Hbzt53#`M>q4NY!etE;X|hoyYx1O}0Mdf~)T5T^nd0 zj?ooAOK{n56qYM7H6F4cPh~m{QB$c4Q&!rs77$h>iBFr!r%c4;6tOuM^ZFZrT6|*i zs<5Z^EPRzpdI*2A7g25G$*w4|4`sb{kr>ap_Sz_2$7~C5+#6zNnSn=r&6>EInDr^1 z#>E)_{e-$fk5?Vz9>LcbQNnAF+x9Ev{*@7m z)-6`mSIiO9ZtdypZ~}>cbD#HC!AFRqL-%QWVXa}~5?xTA zrMAX63+Z7Qs4ttMPEXefq}V4I+j>BDeqkZ-J@f}WK5||eKD!@P9M*$ZNT1bZ@Ird} z^~rj5oG$_G=&6C+pOht^r{sfhee?9euoUhr3a>+*8$I=N&;d2xN^lI0B9-LA3%W(P zMYM(88t;^MVGEMVV}tt|zfFuqb)CzCPz43&EvOOUeZ+z7k0hdeDci0sTb0FJVvQf; zZ|Tzt&&l`5a~ROYk5RQB^J?IH+jB(squRo+9ADyPfzQMyYIGO3 z#di@n$-;&xj#`U~87=udq1CUC8B7BwQmSh_J15*!l;*3yf!ZcK$I`P*Tz?-bI?GT; zSd>LDN3GVgY^>z)w-%xa-i`MeSm~#`mUu3+L7ZkSZ<%)4Fteirsx>$B=iZIeKR ziiy+Ih&O*gaQ1up!yZOk*)d972 z{echdxQ@6ZV2s|V*2-Uk4h)$RAh^#(lmP{L2oAY{8{69_sreeMVvIU z)J+8EKInc5m=&N7DP(&pQIQH;iYV-~gAEKzt>;)B7M*r!l#%!BRs$x#Hf*6%F#FkH zxJB#fMd=(pWs}in`avO*N6yTf{)P+1(RGxoI@bMVL5DZF42d1Ju5CO7Nx|`q&2ABk z?#;PRc6-C~JIbUFTZwC7stfaJIm)Gc!Bv|b@h=P*gUi0UiiHuAXyazI(^SY839pl~ zP1yg^`^7MkELrVfy-<i`%#4r8Cw zxNs0V$CxI!SIsF2ds~kTr8U=!rPVn|FeP|UFY(q8$-1n0RuBaxCa<4)HZY3$!M*?- zIDeKlvo0ua-Z*ToZLaUL+Jy4Y-bd4j95X-6A6Ke@@oreB+y2mDn|HKW)pR&)af#(! z3Gr!~f=w_??f~r>ao6HHu9sw9Mx;CTz^5n1ci!~8^Fo~9wFA5>Y!G0G^PEYl`C|G4 z7lSI`c}^pb$D@G2ziK~3R6MVH3iHu&?@tf1v73LioeTVmFukU)MEjFKQ13Tu&UHTJ z_-4#gtUp1IZ(QGfWh?!5Z+m#}KiEI1)vh9MSAX#HqFUK_=!b^d9VgQ-a&SBLMdY68 zA3d-+aSCO!mds&N0{dQt=S9%OuYcHXpCN)>Y%YBRbnM!rCo zZ6uHL&bLoXH7D(Kz-6y$modfD_)XTG5a1yyAQpgHlMM8H!Gaad{~b2-RD7RDu!o7 zfD!W5(Wm*ZWa@`k?0L)k!}%Vl5p_X`FxG2GAk(%Q<2?3C{G=}W-gC`na-O~Q+fn2? zTkLbZv9(CL#?VQfFN;I|{lgThtX-bG@r8YAJQB z5KCOkk!JhM7Z_JSELTZkF@l}M>jNswwGrfRhEtk(NWvb*Y}sdZo$1)c!UtbOv#N(7 zMl7JcDa=-C27>-epGP-mJ}9KaJE1irov!8sw;N7Qm@eY}25B8{7}ODuA=joGH``K# z(|N%>UAzyAsIgsq!&gsP50^iHZvh*4-}^e)VXX7erds|1B@L;@IYf7fP#cm{h|`dI zUa4H>P2dKile%VNEAyvAy$^#Ovq1OMz_Inu^)m|UfLHc#fq9E1ew#1Y+Yuj~FCnsd zqZfoV@ZpRvEe&GbTrHP04+LRcA#xKnvL&F_KLh8|3Q~ccmN*6ZQDt-jb!<~haadux zgb7ZGb*(JTry=g|{Ug2}p^}vgitsTj4gKo)$^GOt0@5FSXAb;-gSQpmuXxMUmSf@-+UssW92girJu45X9 zx(|Q-<6qoZMn6rT987}CMVipoNz$x3>f)_XM+v_fI2!H@3gJxMb`a3L!o>~p2D<_L zbv(ba2AcmEf9J@n+lTG@Dt(XNs{#H{FrByiroachv+Mht&ixNE``b0D0Q>3fUW(#f z$^U=$-UUgL90wNLp4p4aOwtMTbX=K9?;O)DI6x;s5+o6ytge|ix!V;aJ`M*6G9s&T zs@%P*@{44bK(86IKJ6X*`MJmMqbqwwpC!b(<|Ph&;7{K4 zfa8k8_>8u)V=lPv@Vs4iTx%$coPCy`ux){Dov$>@1Y`ohc`kmuaH(R}bjs!cVs+I- zDpqFjbUkkSk4181?e`Bc7pcVXoybEe9MU|z&DTNk2Omxp4)Nn+mqlpvT*zuLQjgf> ztHj0rmsPm8+|P)PXc#l<-iumT-EuciOKyKbJTAu ziGG5ICA*zG9c|sC)kp74&n@4!Kzm~2dB3;5r;V4Wuc6hn$A7{Nf9?yf-ETrOi_O;y z`|;m8O%`$+`Fkm~_QP{b>jUHZtQ)T7%U?<>JAjPZZRn}Gm zVeA9C2v~bXf#c>y-Y{A93n6A!4Vdex`4k6_2hq;IA>A9T;u4MgINx3MKE5+>x>HQOijyTPt?^1P?F-5N6Qzhl^RGhQ6GdDv)WHRAEW8s#J2 zYVIHSVDrb_6KE0O7v813{L&l8iwDS=Ubi*$y9)1Tb!Oo$?yk4TSdVd>4mmH3vvtU! zErLv9>Dp}I%@0(1*wv2ft^NtKbm@Lmvf6vEHVhsRa#`oBo)?Da_H(4KLTHtFe|?yP zAiH(PH=J5j+Prstyavj(G2G$dyx!@vS)ulN&vp*F9&UbRc#RWsZTT+aNL{j=u*Tgh zc=K;D6LB4oht;ufEN6Efy0}*{JP8T(GkH(leF)&%dX? z@2r7``xQKbMbEjJvjuhf@#9YqAJ?w4*iQm_+C*JV_Yl2Sme!x;ZEdmUe%%q_9L1h- znqQCSLwl@d?=7y3JzCHE3W~Rtk6ZMhURlR~WsK6#{}uM;VEw_Z6X0SSF5GhK74H%F z@*jp{kr&ttg5!SI55a-;;e&ADaSFfbb-$()l$?=mKTO(Au;=G%l&jx`TVcn;Pjqh= zVx9qPDhnCJ>+X^Kn7z=SY^(g^d;0w~THa?y0=`d6vT>ecWqht}?E3(4T{xYbaca#0 zTL3zo7S4_OI;*SGav0Z{T3q{e^ZnIwORUQ(P1)~Vehe+bg+`ujS73BD+99r}8t-O5 z+Mep-?Z>r<@by0=NYJJ)FntVVIs~FEvl!GA*DLKKJL;-&8O&YeEkJVqfrz(=#&~Zs zX8#>Pf4xw;Q( zZ0w&7kTaZP7FzM;OZ6%CpoO=|{2bh0E8dhe2~@#_`+OnXU00m5L| zEZS%^!F$?97`d_!d&_uct!n5#1`)k1Mrcyjx%vf6?V4w9#Iu7xpFHD~wWx&p zIOG2BwddIs-{%{+`&tL;$0G9a&weXV?es-mRz55F2tyt#`>XO_+{lsRQ1i+~24y!# zUbkdd^UChSUq9K|w`fgHS9wkVTG2m%11BcI&2s98|^}{BFxn5KR;Z)9!%nQu`Ya%x`*jdyeb@z zoPPrQ`$Ko5j>*ZV=py=%58i!<|guIE0nf3?500@=QbNG^IUGW}gL?&IHe z!+(;uzjq9eyH8-%m*>IiLG*C|2f#Ie=>9siW+QhOq8l>a{aApDHinlqK3(v|1e|mY zuemMIidg8dM=s|oe3(u11-T4Cc$zmcz(~hsaT+ExnU{+zKy}tNsE_6_BXI?AcK^U( z{ZK?Ax9Kgr-$-4Z*I?SmN!vBbLgRlBPm|xYjyyv^qxSOZn-S#7t9&zpEeZN>*X$iU zVF;4ZT2jU&m{)N1b)uTGS~n`5Ts@b&J#p9X!26x`I0X5W+ShdvLrspgyYhsR2)f|% zNUUKKv5&bn7VR$DWb+5C&p*iX-hb<{enXTW4w9a@P|NR-H@hRE4V}vC;2C4w?xODl zwVt}Nr=D?Hd4tPc7Q7Fz3A7hj;8nmuPIJ^9&pNoL@G&8(-QZrQ_m-^hg4@3xPRUm) zsX^-j^jyy)1+XxR*7Is@xF!gJweUYAUfv5Y)F89IV;<)mjCIt_to2xD=DDl>$YW9V zDqh9HvzX>kg6X(=eR#lNct7wP4s84;-u}aIeZHiJ{Wt%X#NKu{BhF+a3SGwwxi7IQ z_^xZJkqm$|zbZbs3Dgd)+RiXlq8N+y#ohWR-wSSPU>FrL94MC4EYAaHvl}AjlOM`^ zY~GKu?@Pv9Jl42hJ6$lD>VO4}mp<^GMHAj^l8`h49PvpN?Xdf-OalCp3D#L|@Y_Dm z03wgwUO^0fq0cc6`kj4}i5J;e2+1YDj_fnCV_q4MgiX4yN*VXXP6Tu&u6TZHD1w<#&k+vS?h|O z^n1})&R%nm^2?jj41g)Stj0Rx(8kCrxm9R7xf(g)NgX01YHU?fenAK56Q+yVh&-| zeB)suo_rkxUI;e2dKzmO(Qrd{4r>qnCbzeBjE()3FU@otH< zwRS&Hrn+1?1y%GW=4*6nVC6m48(+egwSI4#%2UW&4~QC|<^+-^YPJ>xpT>mEL%dt+mKXPb#9 zoe}zD=MH+sJ?Gv?lWVQ@y_x49ayMHzUWm1&Wk|vwct>}x3!!{*J!Wa zJ;StCDWVY*$e6$mgf=qC*3Ig^Ry`XKVlE-WWZ-G~(Fp16R=cLzod9b6;93S$Xpu8JoTDXwceVWe9=_f3bav< zG>-PVtdq-%#bme@5alX2g5o@Vv|jEU1Q+EYGCil=&1=VxIq(W@J9~2X*BYBb$4fb*{e3fD@lS@2c9-WP0RrHh2sX>g+}xn`uSHS3 z$zp8#QC90dgd*2_O@KqTcz0*7z(^F(;vYYZXtw=V=)Je!*S)1+m2kV}A z0;BC>Jx8-PUjr8UUB1n)A5C>YkqAK3btqcY@6}Cs)#C2JubQpRYF#|--fM`BT36$( zr8*|k9|G8vXOP9h`{VK(?P~1MtvHL(Dp9e}I%9<|lDphy8;U2DPxD;mJsN76zBjxX zcuy;>^_1xJv?jz!Upo>q=?HX_G^E=|;&T_{Lb$DIxnE0a+AUA%uwGYjHv4u<|A`VC z8?T44>zSpy4VZEAIDh!!^D*b2ySA7sUc1Zt?)-@8-`bMa_xq(mOJ{R!Va&Qsb@P0gE+(uyG1n4#fNqpjZ zub@jNAJ5U%vmpRXX@1l3n1xZ-)1n^Bds0O;&qld&9UDH#$pBKwtGHCE99F+6Psgp0k6J zLd4}jEuO@LfArF@E~ZGW|^?u~omJ*6RO|V6Il@ zyzm`GPw!m+7<1fDw{ZgaOsV=T${I1T4S?~cp*`bX;-0D>2=p;5O%luWeJMI?-81(tg9(xJ6M+xt}ns(mDO*f7Z=Si%F*LH7{MWglJChzrL zjqonXG*zkZuGfx$g{SsRnM z;{Fuxzb>&Yz&=5SL(jYWe?Xy%knyyBReNm^VJW4;kv;iC>Jrt!M}r?y&{Sls`@7`y zqx?z~x=11H;*w zJ>Q)p@W>V7k%ucoRgO0B^YyAA>MUInIl!sBZ1>pYc2Bt&+E1smM8eg$Vyhfch=SvW zT@Mw?Bx@+8NawyXH(gT+1d50gt*2ji^V)yq8oDy51LXK^VtCn~bM={-oL{+yQ65MU z*!YiTPHVK{!Z^4hcl;JC+Ct{z;!dG;DYb>3Yop`xMb|n~6g{7KSmS+N1r2#F8rIla zg~vL3PJVpix2w6w!5Fo|TJHWVua*n7g~R4G#f5`k3`|Syb-g!$dLI>An5=3?DhRQG zsuW0twzwq*w?D$_wenr8AB|ym;t5;p(dyOealm&TlB>N3V;``~TkfW{@5=`U>AFU7kFp-yqOgfv3 z#oTZ$X6K8NAQPD9^EiXwvnXxw8WpbFXM5?Kt5w-fTb}i2uh@b;1Z_62S_gA#z*2B_ zKo+Yx=SH?i#P)8_k|3DsR)Ju@XKKEQm{)9987sxoyie*#F32yUZnd0qcdOXFN8aY38HY~N^-8foYW0gvHhX@z-Vuf@V{r5#ch5se>**d?yzQ3#3dYYWuxu+-g;VH!J=+9@7#g7RHdNpuQ zV>cW3x_>aF&dYXKS9Qdn{aU_S6V_`sJWAloAC9Q8LOc9&_FyTR^a#5(Kwe7u#d8e- zSM_>hea1eGdvTq1v_Imt(-m0))uX#xw554Up>>nB$mN7Ch&#d8KfS&JrM8}F*cWk3 z@1`|&V7Yt@q2nIL_mTQ>t6wi~nMK^&2WT$!C!t)PW7KdijRV*8x`ZHkA?ul51D^Fl zk|~00=zqEQ@$EeR80VZr<}f;s4m?0B@^;|ABGH>zq!tpnntK zg9^3UD!$Z<;$iPWHQNds4_f^_4~r-MT>scPkoLR-0~3iEay;dgM4Qhljl%p5#pg#} zr}(t9Yg_+b{`Rcr9ig{Xi?mIa{f7D2Zw-MXF(I$_9@&fF z+P#D~BWfO@TZp$KRnhD$~7U4vN{_W>l=Qi>P$ zP9It-f`yaUxCWr0oK#!Blzqwb!mFY&`~`TsK5FBfM;=t^8CJMfSt>`f*0l$JP$IzQ zia)cC*NTt13Tgq{+nM$1Yq$0*qaye9dJ^*xM${;_6`Zx#8R}PR0}QR}AcK5-S)Uo6 z_aE)XdCgbq>^q6_D_9NNc;q^vdHo$mtP8mAYNK{6Lo%@)-UOiwu8TIQ?g+rw+OBN4 z1Bj-!I3Elv#?iV+pjdkdD(YR_vo|f|X$|$ez(einUaqV4qAm1(Jh*?+)b2qOS6Ki( zTfidh({}d4MAs{{GbL1)))eLUfvx!v>e37K^>v2xl~GkIAFs(jA;9lm*Sk+CpQ?RyJBVa;>(;@6 zQ3P^u8Pw4kFv?zgFdAY<)99Rk`k?3Iur+bzH;lX<BP79_vSP;&gVC% z_<^>6t#afKaJ+5j+BHOH6;5W(t2GGSRmgS0WW{^s-DNFgDt#7kH zgP|_9aExCKKQi#SAiy8V`q+m)=GrVt(sY^DP=_VZPO-)q^CZf;uSnF0lRo`cS9-1V zvz#8;2s6TGB<;l7y!n6T;+VOb0$$Qcp0k6y7>Pf(|^khs9Xc|@M=%B-XY@1r#}N>kNY0? z#qMaM?TEOZld)M?E$2#_m3^JH1>OJ059L2_SmBXRi(asCiPpFoY8_CyRrNY-F~SE- zBTU%g11<9S#k>=(x6mrEuPfK*5!G zg+gFqBDEWHru9(U9oDHA6jEye6e-Kl2k`$>c(A^MTI;Qj_+k(fM%5<C2=Jk#Q#?e2_m$rQN)Yoz%k@pdUZCCXI_A>Z3NdgS*QT>^lT%#fYo*$* zrJ5imDc;yOE?hU{l0pc+B}~0qg*2Pa?>G@)^~x7vSumdYJ|=30!Qlgr53?f8EcR8ChF5jR-K0dO66Z^ z4j^89vwiL3%wtbvTG`oLB)F|{> z2&d&>2^RJ$&e*`Pl<{gc39l>AO&TeRDT!8#wWST_m+FiZT&=JAGOk^(R-t)23M#y^ ztG?@`|7wW=mYNm9XHY? zmXDn0Nc|$u`bUx%xPFu$lY4=udtM{z3)eS@84X3c1m}JjcO#Qap>E(`bBS(Mf}oq) z=~ARqM%U;itR2g(_3vS~rSz}z#R`0<_09I=i|Jp2n(iGJil@1yZ}Jy_FJ-|0*@Rl00Z)%cC+pkDHQ#YGqmLFg&&Q1YTO5vVoe%*y z@kUjWvAP#q`3`wQYa=2*V~iLxCb92a4K0URGjrziH*^vo;5iay-CdxKPvy0-fr_XH zvzuz7=Qzhf1S9P(h71{l2~-+P5YDz1jzM{4@X;UoQAXSA*XYcRP)1gfO_o-ceIJvv ztar$;2=`czA_UIk?FT>f!w>wv>J{~Ce_o;O$I!jIewWK%(buW&J$6XWV7?%|1};>XCp?!tc_a+Z8UmD z^O=FMnovsVX+P;bxF~4{aaT%J$QK1DD1!{s314j@g?%UxF(w}bm)HJ>L-b+*^HIMx z46#xDy558t9SeqESHfaX*vmOnBnk}i4`&E0oR!R?7oFFZv`}0JVII^LMVYGYc#t_? z4s{!g@y=AS=)f=~&L9>bsjnWGlg0!>8g=cmg{%`4Q^e3X@d$WGPY&Kg<0H6rXWPT=XI={*2FNJIEX~KhIwayB@SK@KD1sL{NFOOPMyB=~{%Q%FTL~hU z8qPJAI@ghmiLqdElPr9)Nd`ojnR z686=x8`PjG^)rJEfW1+Nb#LO9v;YhNf-|c|8ceGk15cfHUe+1gglj&l{0^M8S0z5@ z!#2DMy|ni+VT6((_Ms$eJm0&(Qp+_OmtX{>eC_Exd=eK6r};XlOG9yPy&=7D=Rmm> zP~y2giY1&8%Tcynz4Z|q8x`B|+lCQ+*7miI>dR)bdb zYdl7Tvv={Rj^eR$f*f|kKB=xyHR9Jt9!R}Kpn#81D-XgyM-wE15&eF%5n;NHA!u-i zfA^Kjev#!Y z)3b%aFJFDU%g!l>nQ`O>tJo3@V~yeLbWx;}>~TdB2b*$^n&(9BU;V!o$X1{{(Y?Jt zvf;nN4iCP${9d@zCHCv-4a&2c#3z&GpR24&(l;kuaj zs(hh#F4k^%kB1&tMXU>W}CB*S<7xlUCsSs0cf7eMTx;9_^og* zFXKUEmyL+3lmlNMXBrOSOj1lv^gqsJzOMl3D}hOQUA1xGtz04#xA8wrg(YV|FVmqBQ)KWwVfxxYfRwn$9Sl z^`Ku{L$gFHMU9p)^wF9NBK+1Nt184OX@u@_?@}%fzuFARpxvwK&9!#feczDsM*H~QzGz5gW!Q6&nPUa$Z;P8znj>Nt^yr+T;d z?}mJ|-#l@Q?~)jCUY=iBx-qo>NkDpSd>s@}1YI9=lQCps?gKo_NwZA{;(8F zZevuk2_2vu9U{Y|-MzCg2_Ep$=i3bbz}H0gV|&P3Jh&eSlw5Ey=4+KY2)lvMe zlead?cg^o#UjJ4=DuDBBJjZy(jqA~Mb^SAqMCXA-7#am zSrgtn-+NrYmz}M4?v3{@0&9df3wMub*8SLCM>gwG6gZ7))gSfJ>5n6vPsN(4$mxm%^SZFuSX1L_3!WXs~Fn8B-FaB zilfCarQWYscAiUIKyNXO;edbZoHJnodO0+lF1_ye!F=ujYn}5YS}z#mJl&oN7h_<} z!u41xV4Yp*ESVWoBj9Wf$z^c^yE#-~loLf&c$=;<+4rFGz~7XV*Dw94x_RxsTA!=O z&Mc+l{mpJEaRuyYA=aIO@V&^%E~O`hXz`8!aK^vu=Yi&+G3WQq$FRkKb-4PT4C`_$ z-I16+^GO9Z&kpuDg&g6mUq+Ni^K}i7VM+A$uom@7-Cw5=RE_%%s@T^z>y)Rnz;>Z@%0yLeUu zM6oWySCwIYv$2dzu$ze|i(_#q$YyDFhHsRED8;B?B9@sJLH?qTN1L-4NVTtS1j*z9 zSpT|LF(L?C0Ls5?-&Kx;_$OU?kUlG_R^(YfTT$6Uhn7pPfM2`pdZ)n;hL(%%j?wg9 zxq*cv>AE-ktnmvIDew-3Yk8$+jB&-Mu<0+BBnXpi8SfZ32y$b1tsy`34Y)_A!L#vk@9@yg~P>Z<7YM&}ZP&KIw?9G_d0h|ULFK*K$&5vsph0iO-t zpkAxnGhROS*r{G;V`Y{ov}P)&@_XE7F8^qW75bc_75Z%Vuf?~j0QbjNle%`YWZCiC zdt!fhQ?)|$4-nZi!~3jo-JcdUmWtFZ~ki#fi*9Y9r{5;+o%dD(^-lL4sOZByh>CCuh)on3w zF2zEAyGR#r;kXhn_SeeX$n(=DbkV zB|ETO-P!LP!>~?|q5A)d{RdN>PLwYt(f34liSMlE?%=O=(PXBKqO^-_t`oSO?v-2q zO6Fc&Vxlw0&@R~1b0vCSA0$!a1H{ zSND-5J96;(ld+d&@XhAO^dUbi@6TH7B$5UP<*UtPGD{5?ZM$iAoW zbwG?&oXV>V=5wUCAdbiP7Tiyep$6giyo1&tp8xzUV|je5UnjBm8@)(l4=u0^UR5$Ig4cD|#IHhyh@%9LG zQG0>X`%zsV;YI^oWrB{>#~ZQjblxr)>mIERbr4t}Zx0$3-^tctF51dlq{pbk5IXdIyDkXgJbhi&S5<9HvTJZ2=9bL{!UYe(|hEq=>|W$LUyWP()h02 zq8bE1DG{(%_t+D_QywRO_RIM56UtkqjA?DrK{53K3OP8VZSje=Sv;DQtD^PJgGGL-eGt>jgOJxtoK}ICbzV7qK<;aQ z`8UFy_?&(iaPp7zZ)1KEZ`Ft0Lt~U=k-g7t6YOP`9`g01e;HihGPPON|1O(M%xl(S%c2YVq7ctiSfU4GnsV!J{8j?0@5O?TpdTc2zneE0$3d41gZ z;`iTlFnVPl_0E~+eZJ};$F^Ea%x}GKzf7*=x)P=T&b4d#I*4ItYs)p+VUBO$2B11E zh&q3Mh9HM*9(|vZ$8!$-^Te)3wFsL5YQ4kgvoN4c1!_nKpldcbXX}yai5l}841Vyx zG#T=ZsD(eki3~Tg(>g}3tSNN69P(86j z|I_X7bohd^CL>=S@b*2xGCaN7n%1g5h5L>E|AZV+K6$p;bY~Wm9ej+OrFH*JE0d2%}wLZPWOEZa!To@i3 z1?%o4=|Ht7lfB#m*XZe3J3~INsf{Gpp=Y`60wi==LzJ<+xNkXsa-I4E3A$Jw8@B%S zCJ&EmJ%g_4s_jj5?CbIgF51g`3KOT-1yXWW{VEmuc}}*xra9Hu`;BAm8>~-)l(kLn z`CyErCy3Df#QM&$yoA-WibaXOxgTmhJ%!|0eIJ}f=8s^(Vu}d+toDj8i|0o-TF-48r|A1t+&>D({A`mC(Hmn&k6e{ogd{FJy*v3o=9Mw0uM*K?ge zPg|F)EZpr6!tsXuI^C(yE;iLbXyiG;5B8_2vT-1I184<3dB%EfpjdlX>IkMG)^)c0 z@KrWhF>A7PfNyLl*=Rx$#dTdG>#MS5*sDMr`>%+x3IDR{8)x&4skKFTk)&>o&+d=L z`*WigE3zaRRVk7!0TPNRk1DH!1W+;gJ1p<2hW@_FdsaU4gQW+j=}SRY%cOa(l;q&A ztHOAj#F&rO{yEBz0YRGtTr-Js$#PcT2moZVAdLz}Bibz#^u>kvb4*GS(P`?_IJ&`r zj=Tck=x9;I#e1nxT$A30arf&KSbz?J>2fd|7>V`8{jJ}ao>2zLVv3q--}L$mZPYvJ z3SG;10JuG6y@M{%rE1?YBERO53p&~pXX8Eo1kRbx>(=o1XBy%*TL*c6sBnTC{Y32+ zDrxT!!JM=5t4*_JtNcLG zkTh>ds!aq~WSt$r3FQh}Z5X^S?kQ8|>!OYEDi~0Agq|U1(cv<=QMZBe7Kfjmbi#XAr`^SPwhb z9@HY_Y6$qP+XT-q2+551)CN!Syz6vq&*UV@AGKpNxTr8Yl*(N1m}4?N+@9fTYq_ z?sGT*7M$*)aeWv(wN5oKy|Pzjn>GHM+Hs*l|L&^1oO+?;nS~M3bnmXCXOIpSQoa9p zlJ03<}K7%O=K zGHIee6bx+90q=FeoX0F7iF;Akc*J$rcNWb7esGAy?v>;nQkM$*PRM@}%B$rQuvc5* zRj?1O+ReSHbx+*rzpeytM{1olp5gu*ZKDpWrPndMQE~J4b-xJ$PM2L7SJs!q5#%yv zR}nt}l2xw80_SvqsOl%@786X^i(k@fB}rYEbdva?)tu)kOXP-E^$p^!-cuAuz37*| zWa*~*p+AK+?m_s5zZh|CpnkMIbNQ^Il2@QoS*E_eXN}_`k*DI3%tU%zpj<%IcU{*Q z^ZuH|cp0WhH%xhOMn8|G8ceQDHRu$1#<>RZSn74?E1*P`UddB27e;%`C?C&^b>MXoBrPsD z5>_M26cYb}+_Pfj(a!sXV{rh^c(0sfmw{U}^1K6)@^$^D_NA}R@nFFSjW0%&dW$n& z!6-q^wgXC6&> zu3-*$Lcp$jRfi(wyfd07FhjKCdm1r>?cvzz0+7Ozv&Qy0X@m}Ao{Tn((k#2r*0NCo z;`E&P^)dQci!+WQyH#x?TaQP*{?!JVbn7z{wj#o*yy(yQ>S~>4fc2~5I50RzF$<`- z+?c5~ZI5=cZtVRM=Gp}T7;NyQc;rAi%+W*sw^HgGUe`mspYP77A#5;3#F0fa^L!v( zTQ;9+G&&cPdKLwGK5L!ouCDUMmBSJE?694Ts7I!RCh6!ANDF>pqEBaei@`XsX_9aBRF2GVB?rBAC!J?5m6cW&rL}Z(k z>3yMa?_7*rxxc*-r~_Y5YCXl|X)kLOpBvJ^KQB|G`Ag;DY}0Ey!#$EzE(PV4x(HTT z;>ykb1h`AMYBGaoJ<_;fKlpgv#48SC$wU9&{B_i(2Y*rfQl$Oply(?zqi0@$1<&Sd zJ<859&bz+4hu?^{^_4A{FHHk@FkK;wcc-V?x{BWB~?co%(+x0AFF!U-!L zYdeQ0I>jHee*)-ypKy;BAnF4P7g;+Ziy?0W3w27o=9F?z8R_zD*60a`s0L#-$9anM zMI+taq@^UZp0{X(VeG{M_F^mK0Dr3M`-KZ*Vbjo1Iv#;53SH0HV$$d4o^uh7L)3T6(Ic=%O=j-o+vGMvZgYNWosQ`-{f-LO)SFIY z`yJKYnkG5;A3)LnQZGzg20?f5G@bs5l{Q_Dx*wv66*pmb&(~_pI*YGy${Zg58ShRIpQOWJSD;yTa$ z^y}AOg0iUvV@N~$HlsMay0r`SOX0nJxr7@O^PV(=t4GWL8%|MCR6Dn%{=^a|?LT~J zjd+H=Y|qC)`*_t-v`D$VSGVW&pHA28Be(-76ksc&IRG&yPc=R$hXc* zy|@xVYHDhH_U8&Q;K1<;ul&Knf-M&z{ij_1nw|%IHfpYC>{L@zwFM;s%7ZJ{C{t&y zhrz;Qof$%DS#_PQ7Qebx3CI)?{!}Vn{Bx<8F;aKt6`{sa2ljppN6SenI>h0Y1%&BnFvo@jRyXPs&yq2w*c!Ce9@FThaYft)!uF0KVIbX^zmcNSt_&LqV* zyFbJaVHTlkbn}Jb+EQ&c`UnsUr7+EXk>uj=hx4tpHgz@Y(j;j?zSWV31uS2IyxD)`) z1zW{p%+(dYy%jH<6I|2L_6~NshO!o`xE&A4b;KO!-rjVOxFUIjOj7L8>IdUoxON&LO=CsA}#Rai#6Wm16%bedo2-y@ZB|v+ZhCtOSKIAdy$|;=Cjk!Ol-(6W7*!cRag@d1LVk zxSsJIy9K>HLQU?jNhav0@pl}4{D1$)|Ls;{XPVcsiS{1Lw=qjMYcDq0(rl~HhjUs8 zlz)(*Sg&}xyZBOO?hv`?Ud;{SS)LWlZw3K=3$@|5kze=g)oVCcMm{F|xKT&>jCsBP zW(wz()kj)kcpDwRw;mJp7Yc418(+xocZTA(uQnXA zJ+*R=pFGi`B)WyleTC=SlUV6383a*A(>ek132G215WSIm06U2KJnT)y zlYVF|-TYIowjv!8@qf}edyuV1%lMHK4pyTq~=dt6=NUUZn7r)?d%=S)gf`VAwB3X_Lmn1Qu1sPH%gOtKAWNSQ0Zyk z+8dv=O1YjvPe1r-@sjJ&9O6-};rWD7fFE<*?Hbjn=iIAlF!;6Tzjy9U3^?be8h^CW zbhyr^?z4OqJ^_K>d3n4w3|!|a0x=jf@v_+iC23`8quJ6)YOgt2YS_5khUnr5UIE(n zF3dW=yA$wlFIKoovZGdq(PNv(Xe{%V*P`d0kJ`Ftmgeh>x?!Jhry3^pgE)iSPrKYs z4KRf6d_Cwi?(1+`qpk+WdtO_&%z4#ePdsPA&n|wShqtyR+@KG&^SOzkdtYjKr2Ps2){QYMCI-R%L+xVPohv8cf*OJ!z9$*RDaNp|dea-%IGA4%&E2~U z0=;@E!wRnwWcWD~!}*!_A%H87l?y(h-bd|RzAeT)f^A#xrl0VdY8qv1y^R4hf~cG3;|o4TY5h5>W^A*F z@)~{poM*)f54I~E*WTlqy-DzP(EB1)U8myUbt6VM*RtV@4pf!#g^iEbVGffBPxC7P zQLd5C09&TQqug8kTjayicf~>`*<4}{1{a}JTqV@kd4)B~qxyK8U9EOHkAX3`R=%Th zG2i01mI}SMzJW)UU$hPZoUM8?;hfq0EO|9Y@T5=lb6o18d}5hYBS$`VcT(VFYwO&m zp1PWY@y{nw@qdhWHP5PzBjk$F%nqX&Wmoqr_^bVYwJuB`6B{;B{{dqgx0K;dpIqUm zw(@|i{Zjc_+`R)@q5sLAEkk8Js;LpeCQXOml>ToHC1$VC5= z;7u$9*4kBmpV$H|y^r>QE6lH7^7g#u)Z*i@#J_$7KXmc>?Klpwb@|&U$J*(96kf>Y z(v9H)?n|cGzWj>A{H2s$f%$!PNj#8iJI-&UUP*ih(jOr^%dgc%=g}y8>tV@f=Iaq1 z5ncvcojWHt^sqMe&a-wW@xA+1`_{^BoUg`28R{FjA#IO^N02MeJH8ISULMoSS7UoT zw#B*IsU8GInL3 z-wq|tWZ;z8?bog^;yYVf%=v=QKva!Q-eNi81lwH&QYx$80mylR1Dpmfne$Y9;Kg-R z&IrBW$DBqr{YUv}Uhy_D4a3%Vd?tPz*OhFGg=a)P0G&gWTyhQY+axlt=mT?&CqNE- zGC_)sB9-@$!#m3hD9=pub;<2_`@J3;PJGXtT#pUXLG^5{ek|UjjH|!;z}!e~K0jfB zng-9TV~`Py^R9-^@>R$Vk3l|hMW8VlWkEd(1#ERYVts)|9LE>ERv)6A{5T{R+3mpx zT2Ah_LIPC6A~X2ca~ku^eFgrD*Sey!!@SE;3tw;ZY5b(KVRCp8;n%9?NB_3iHM(b# z2st9^Tz{*OklFdy+{EZtJ+GL-085~v=96B$-v?he#Tw1EZw8F6;qVNB98mZYztgJ_ z3jBT@Y78sl1&adH0&YfsNO0Jj&-$4Z9N9Zz4+Eg52Z!*5nD_u*d&SPo*K+dqujnhSLo#RO;%Zp^M_`#F2ht!{7WvjseFiesEI(soD$$%rF z^t>qaw^(o}c)o_l0SaGbF-5NGvfg6=G-`eQ5Q;D0)25F=3qc`&iRrmDi+MEKAp@<2 zT(k8D>gc1t|E;5 z`k_yrIS{iN2ZP9eG$S761b8vYFs>gu!T9qI4k&JxRn|680*5d zAN{ageEBt^j921fK4Q~GuT0+IcKXGH_BH~A` z7FUluztd$&dhFD=_NAtDRWr!FG0C?Z_Fp>kFuFahq|y#K!>swRP}F`*Hk1IIiQ~ zccHybwJpv9@}hWT(52H&a==kP<~&zcH%LrSmZc(X2)^;dnK#&W^gUnsfLr)d8@G}# zl6Vm+q`nj`14jy%`w|d}$am{-P-f#EU_PaOJKdM@^bP5!a{ofyY+2s#mbVcTnW#y^ zPN}`kZ@;J`t8u>fmS>ZbL8RXVneNq*?I3Fpp-^NQ4ImNEFP8DPm4DvL=K4+|QN@l7 znAC~F5oiryyn1$b9%)HcsZ4w(K}?7sUYlRg>eaHbxclhMS^+$VMC`#^AWV{p>>m#* zjyUf5)-+!kFkOxL>A(yI=8M|04!EA^Z1p~tR%&Z47L2UMb$0SH>nC47A7ROk4@8Hb z9z~V8b4DzAu-ZP*+htK~AHcEcdJ%yacFyJ8oyAz8vY1_fXA|lFOcn_8cB!8cAHAQ} zj@f0aF~;}v6_@v7WLYwzXO|nVaxm}d*xZ2{qv3Uz_-lolrLz`zu#9i|kkus5p3SYK0Zj+Sv(J-TC zjP`tPd=aCM8Y7!^tUF8Ltsl;i>o%HCcQo`mhOD%DrHMxXI`vn2W~_17GrNqntX?s* z4`fOtBi0jeGvk679v@?}^doa@-{Is9M=v{4djaoJB@cajv41Fg8lGUyjG3?Ug-u__52&;nQ1P}Im;Xl86^{=Ij(04 z-de|WnG`n#hR1so(Rl?Z^1^(P-$n)R)vKOVJPR2k2;a7vD_1bDdTyue@5~0^BBDL`JXX% z76spvzE5@+XsOeCwA=vfKcfDET$fB@g?2`1k0+%WGb@nwzQDQKjm9yx7o?0zsON#v zO4sW2oWncq>v>$S1HA8fEou)iJQ#J!!PcU9whIJ`&({i82jU}R4Q27pAbSfUzk{}j z)zvB)DcP{$2jTiRWD8PDagyND|DJ+T@c_?7xra1*y@h5tel5pH*XBE3tcD=&%+diH zNE^-0?E??o&a(|94FfmG_=9k;Y2Vy29G8^|!mqtmi`9(PB2@Ig&EvzPCtM=mh;BNy zcs(M>-yzHH?(`d?my<}B`Q^B2xNA=_M_9k-kH#s3w=2m1W;7LiZzR-GeT6;wb{czT zTkZR6v<){aYb{W{I+^XNBzve;hi>rcd~FM5^2pd2^-pom;&x2C3HY`3$l`Si5=?S^ z5IBlR>2>GWM0nxY@}R+tMNQ_~;_mCRK7;mt2@b9fjg9$@^NJ>lJN0*=D%6#M@==f# zGsycjx>BDJb>-V4hzEZX?Go{|88Mw%9jd+Lb+$$17M%d<=Zkv=QdgLHH{#9L9AM@* z{sDW37S~)nZv0jzjRaSTiK^}5f)`(DyR0FB57#YRr^E#R=3baXbdIx{l4`cW98~dI z0kDD*{rzidzmUs7{AD&)2gKONS?_SxYkkf~l<76=il*)v%xR4)dGb0Vydh!4>sX#+ z^Iqd6@}P+W$(?;I{*{q_*nlzVSYwY08ni1cs=18uzIDCdn&0O}V1s{Ak8bh_ifp+7 zYvbn=afN`#=;hSjYd;nzxR(EX~iLs>-RI1n|vwXw8aXkNbNBq zlK{YpuE#cKKEF7qaA-XosPYushr%k%-dSU!8Zg_vL_bw2;pQO`i?xS5X#Hl+Z<9?y zn~5LU+8_x;k(qMCJbtPDS{*uBj8LV*Sr3VOm4qp^zM!5`&LtDgLFQE@gP>?ouTz1K zVVa${?D3$-D+r-AUEiP0ulp)tDqg3s6{=XC&R~bBarTNB)$H(U>T3Y~!(&AWN6|>Yrc~zULwSl@cv@wp4 z+^hzSX=*4HOJcA#{OuGvhkWui0p-h>J~xL!KPS=#WBg7YOhSJVqP`i7(BH*DKD|vp zbEea9_MJ>@Gl{t43jQ!HH4D5-jbJzOGi$hJYXFZfzCkR%junU*^zNe#Fh-otBe{MG z0$cAq)UD60v#eetzp9Wy*&OQ!;q=Wpqxi@#k2TIqn7$Z%lkyU@^!>ZVcmu9qBcJ^` z>n8^f*Xnc=T1W3SZ`ZU(-^{||C+hcZ3-km-PR`_{ccz~n{bBsxTVKgGCTn)zd?2jJL5Fg?Zb75a$}#q(O-5n58ph_)ZsVS zM77A!@V#rxSH7aJU+Ej*eYg=4i842zZ^CUdxm)MEewBbVVK`c#yM#=@F&;5r5-;3UA^$0f#(B%kfyf!XHugN zVXTlKmmaYHYk#97HlcSwU!vR9#S^d`@D=~A*2E*Zv2B-21>!xCC|ozrU%Lj27S*cj zmo7K~m}IA1PFj9)x)UO>wj;C{tVtw#51)?6ujkg%@%>r9WfqYCwCMJxThzkkwWU5S zb#cUEWihq^KChg5e8YRwb}thJiK)2D7;O*rCU#a}je(WNQxsjpO)>gV+gavMuMr^1 zr91Q9p~P^hD=OEmh#f}eTMw<9bxtvm_%+Vi0W~!9XT{>#hs@fBj{8WTDZcBbmoog2 zzXO@6q4nzGTntKY{p#;sU8e*dpAvDc9J=$^3mXF$St^vK~>)YS2Mg*VB z08T)$zZ}sd8JjGYB4z_PG9>9U0~4h+!|OiTywCys;#1 zw6+_!qH60yddodd`V~|J>fSJ_Y8)g?Mwe;M_-|lM;IUxe7qQQ$rC-H~XYteTf8MP} zCQs{CYlyM`xi9XTKf#ZEStVXat6ZfP zignySrBJ#zrLMbf`SCyh&;PO0A8TGWcCn1YjW#g-dF~5E#5WH#k%Es)NO=0LqjPXW z#2xXR`ttB8*65GlkY<}TE>L#yeIjEFue&-9Yrg?`Beqr|xxO1JU#Bv{alCk0C)*$6 zcLXL26CA&RF7dGcvVHT$dM&8_EB;@&0_pxs9x&NH&Hk2~)Y2rm?H*vG`(rBhCyfpd z38&D>Bkcs^&L|+hh1$Yqd$4)LBixFjXPVI(Kk|5Uy?@{#IopFHnP{F~cUg-?+_!29 zdKO|4DB@pb;*)XHn`O{f>Yf3p0gr>eF8s0I(XATv{#CpkXa?w!`U-M|&YS3T5LExZ z&wq}N@{@}@JS+T_{;N(xzsu1nRzsKGmHWY!z3W0Ki$>9}0jy}b?ul%E<8Ms1^o2D; ztm-kzXD(R|6OKtKReq|-zmdMpW|-pgzh3lb}d6%0T=(W9nzkbq+ae8b@!O2?!)6Z#VS7;fv zu#-5nk88M&+hG%g@KpMwD3dFqx5!Sh7!qc?pVY_*q@P2ShpSmRf46Ziav$ru!e$A_ z67=@1z+TS!jJ}uyw_>V&#?t*VCK+JRU3mreE54}5 z*ry}BVLEe#*j;%AUw_a7y6{QhdrIkd2Jh43*t4EV3?NQYa01fU-fB3{wjVBst(mBtd*Jcm_GLj2~PUid8lmFXo83!lw%;dK*%P-uTh7zcwEvR|wLnm|o#K)@S8g zPUA)aKrQ7&9=%vaOY4C{(7M0+1?)Bb zGLf%?thIH1Fw5jX7`5MUaL~h0GKMpO2JMw;#5u|>!VEeiG837ceTl;8IxZ025@&Nm zJX@MZ-2Xi23QolRs()kQ&_w9hAhdDj(Qw6MC66#rm$6o6SNgO#`J*qw@v>Zef7eI$ z*bqS#v`!w~#<>`QpWAmU49I=I%qUH=!e|yY%Gy=GQVQQARVM@96ChjJXiUjBsH%rr zjPoKaIhLA7u~dU3oBx!i?)N&Lf|H zW&c*-Qx!<}-)_%2a_RG``>BQln1=B;`8%^DH}#2ZaYU4N$h=i^?&DDBWgi{;bL)3J zxG*`^EWNmN%w5@oPapiUZx$>a`}#CyF2k?4daI^j-qq{Uqpa*A_Kx6OuC@4LA71v` zl>2F2;D3uxSBM2cS1VZP8RYg{J%7ZmjtS-L)VIXD#g&*BudFTHQgN9t&R>1AS$^HFV(%apf8!Wsp@RvDM^nr>-nf}c;^<305O<}9S_^edN3uBOD{2GJs6L%x znc%jqKXlLsg7Z_^AF^78eUYDjKu79d%Cg$G_6Jqjy89TYE4b5Yb^l$ho1HO|GXYp2 zlGORAq>-Hkz+Tnb%5ndj(cc?MZgLt`kU7bvu`ueAy zcX2;zloBhQ8%atUIxJK>GQf1)sk8G$RFMyjUb->_s*N$L&TANk#-Y-L;~BOwom4Ad z)@5?IAV7a0&)pukrM3zL%QHt~5vxW7;%@caR0mr<1taUxK?lorVt?In?t1e~#>HLlLlP>JL zuSR+_(A|FdtaudCoF%4ioeQ-|e-N&1*cXV75L&TOX!F$@_So8_wg5YetGW%rG?X>C z-gxRlMb2-;if~_)`Hi@QO>F4E_j_b7EGiM^Q3U~Oh)#OC5s&kiuG#P}h5Hxg-wOPb zD!^}9opM_JSF0yK)pvWen+)zdotz&ZI6`(2L2egvr}K%OV$^30XLx?2=8S!?50A4s zlg93rdEt4DaIamX>V>&QhMooVcOKR}h8wdN?mVEg)|$tZ%p_=0yBxcT+1ywtpll+x z*wF}yT!=X{=BbuoFgquR1DB4xj)`nyi_7FC<{OU@{Mx(*vmoq~RlvtQYCH~rSjM`p zl=o>w(o0&iFj6y=bwrxxfzpuDz9!ykvo_9W37VeXA`_%V9xo zAubG?J4P1OWcCEaTK9IGDYo8YWVAP>i@VOuW=Z1&9bUOGs3U(kWPbju-*TI+=3Q!S zPVupScJDX$d5pWSqwxBqa;bysAx^H)uWDw#`+8*=o$3ypx}7(m_JP+GzRh)SYkb;9iaGB7i?nLysU8#^0hN^ z{v6v>002M$NklDpT3CIF~UGHAJIa5Tf{TUfbuUw82?t_ z?_PoW1B62&U%h>I@pd{rJ!tTWqhxXR>YwE-HM|=(>u2eiHB&|C?hTZ3@!CQzaT)KG z@qIc0bjjqzHB+4xM#eWF8?ANt0DQ&=Gu>-v(}2j^B3~y*Xn5uvqgJor&~PZD+kTE3 z-*ncR?$P&J0nnU=_``I<&~HqD^pOCNG(!0y-~@H}9H062UMF_FwcpG6eOz+uq2}4p z2mTprK8t2|NbsW~*2r6!f0RGW19`MBcl~^+j5O}!dKyu9pHDRQYeRj0jp(ts_EgnK zMUu)NvTn?1;jQ9fd6%YjKP)YF3NQ)C?p!)u;7ifPMftHz*mt&k&~pN_8o-iSqM0iF_NAW>VjzegAE)K zCLQjpldlY3YIf`wBq&C@?Gklf*JF&dN*40bc8$8zJfgb;b~=l(%EcKja}wXDH=Pm& zTl@YNX3h7x(8_1F^Pv6C#$)+0KI8#EoPoHnp3Yvz0tUx(+*zVA%NqQ^pGu{(D%M|U zwm>vT7%dE_;&mOVKnad=W4}cALOtIF5iuDT0TM5MAcm%JU)No=G(BEPp;5xxa&~lA z1Ed|L3?=YSXlAqG-57>gfpELu2C{*>=G4CUyMB|}sBs%Lr}@gW;~o@F+epBF4S9_5 zR`}kIHjp99yC3{CoQAgQpDs5~#Epr<)a!G*G}w0k!;wxNPwI3!pPYF+pgQ3^;d9e6 z*9D&rDd5}b%j5*b8m+hh=7hnx-cE7d#_s6C5U);XqVa3W^w7^UrkzusZ*Q~L&^AGz zrk}r}2KwUl{gCL}U7tLSn8lx$o9o5vo=La=axQzoowlw^G2))MxlA|R^o%CWPp%s+#Yx^GnZVkLuE7BOlD4acLZIFKdyqxXM64u=DY%5Ov@&-x&KE_#l2f z$6=m(tJx2ddJpUi6dNC;cD7)L^=tPu2J(AOkG0)biM2$k*JI{l_%dp4MQ}UMLK@F& zWZ+}u$MD|QC&FUQuGcF<`yDb??RxHewhUUDWGC^7Nh`Ui2#+`CmTV zcz#dEJiK-|b6u?T*A_t7k1MzfdeA+=ir@Hoe%CUKsQS8&XyZKc&&Yg?*dG6V!p&$; z3LKN^rJG(D`@BBX2AulrHlSVf=l|V?uRZ(8%erv?ut_#g*5#Cb7Vm`fyY<<8e>czX z8b8|y{hr@s^ZMUO!`s~at2@W!XsYK}1d&cEavo&kIr-s-m>PXNe&5Wg1X=aSJA3a; z*h-5x+y`5!#aIs3>Eueg<5kEY#*s?^w5sE1dIj6}`?lA|ATrllmA<_aGk_{}zxNGI z`*WNPb)EuAq}xp&~wdb~d1r!^!|n3_;M zuYQU8D#Cc0FR}p!ahRQ#MR6n9DqWvTyf-2=FC#lCX{oQ>@|xUR+n5W{YsNoA*=sX1 z*-@2)#E-*tK+Ip+E-0h!*%Ly+i6imGwmy{lFbIL=YH3)m zQ2QFFS;VUF=p4;nk24MkyqfySK1d?!OEsLy1=GhAP>wSHqY zh1+8D`46qS5Ov6ukpIcHIt2rdv+V^Iy8P+m74IPc@`Z#pF= z6WRIG)L&tb^LuxmYTv+VRjeM+W|9ogUa!`%)W5zKn08K__YrXn@=)gzHVR2bb4M{k zS*OC?uQ4s!{u16b)((-Lc3t(5w`wuGG&kmNLj(rsMLD!?Y&k$?HB+xtu)1>MQu{e7 zh3GXW-H`=4vdcte(SeElHkhn+T!T!o*oL^!X0eSn80US|c=%#DTRjI=on|@F0qb~o zIf&t}zCMs&<>Rq9zKaRJH{yc_TaTQgGln{UwND@S?jC5 z^dtSN{_3Y?k}p~$Ojs>L^)asE-}OZt`Wn4_PtnhMrR4(oC}Z99V5^g<1YQ%4EoO_A z?Nfj$uc78)kd2Tz!{n>hsKu0B)l%QE{ESNLcZC4nFP0bfZ2O-2E{RB|ok^&FuR{e| ze+-IY`uI1(je)QM`~fn=TTY`Trtuhq^1D~wEbjWluWfW3ma7MpT~_Pp@8;V!oUoj3 z>Wu~8t~SZt5pNoi|GkPtNP(;a$D%Zw`5P)u+025GuV0`(h{m}==5Fdb|gL;B=a5Jp3Yxix2J?Y?4Qmzd2G~gtbUTWHhD}a`)2Dl zy+dCrwJQ&XDI${Vly1M%<8_47I_T$0G(8+GrMcv9n z@THo%(4QFUb7Z+$R$lUhsz)zfw}POJfYs^G4ruWMnanHtAs~2Lk0n90PqMZNR;3Tr zQej`j4#RKu_h7$!Z&24b`bkEZWSdmweZ8^?<*l{=+ zQ%p-T-S_tp53sDu57Yrd`6vH}78lrLVwfHL$_r4$rVQ75|0;3R4vIn&!{G&&`g{RW z?lr~;QJfF$N4q}9eg=2gk3N-#=Fqe@YIC(C2dRmc0C<#Dpb}%igL*(~9>5T#GM3)M zc4CgzsK}NW#jwwM6B9sD90n|bG(YewFBK0xf#0H!K3=`l2N*K2O97|DFlD$g7n)O# zIqS5NQBPl7jf0n%43a299LjO|pX`5YTAz6a zJc|t>pV2)FjK%Zt+b)5De?al@8gpD{jpMDvX?PK95Kq(4&OswS2(5Zx0u;fY;!{5i zhkZ2oBc|2L1yb4kMdOPY{R5o+%aGMZZJPt`#n?lT5EFJ$U#kCPr`A-JYeT9yjzYJP zgQuSYrTRNXMK5Wr?3_zD-1%vYQX3%=`mcoeFdScT4BYo%g8;C!acoPZ%~deecURbA z0~GYE@0sWxv5BTCrCqtVeo@inZ1srNax!%SV8wXN=;G28$F@FNjZ=^ot{bi0JifW) za&LYs`*qBY+Atxmto%KI0S{AR_NwqaN3_+APe7^go7N74aCCu$3lTL^EJ zjnM_%Od6MsQBsAC<@vR-&majlm^G|HadW!Ed(O6ydb7AU^PJpp5T<$UzC|%1PlB<= zV}DEzMKJoU?B16DQ{vuv^YnHt|F(Ft`Q5X^HjTIY<##-oY!kexOxMK~dYAi;?05Z! zAIK?v7h_CEAE-Bn{U;u5Mh@LseD5i5f;k(mYf2e>)zkNjG`3yNfQyCNkD)=@{T_=f6kFBv&T6(R&FV&~I$!}f( zCcZ2PK-ID?j#n2_-0=3b{a0ZKx_@0-^U56qtYYCgg~-*}@0}h3IrNe%vx+PG@7MfO zw<}PZp;F2A`6YBS9(&9hr2$>)x#m_!_Co_(vnmV*^_loV?L90%Fydu4W~bYSgYGO* zU1I^P-BuG2A%9ZhWh0Sno~t$=@lNydUvJ_!iCld#-*qqaHNA=-+7Ef3&uyZxumb?q zi)+@J=nI%{D#rRO)}4t}$#{I3UB5S4KK6a#8b^r;BK9+Q7!if6HbVgap%Aaq z7=S9g0mTfw9mlYbW57#^=+$r<66W}~+WQ{Ye8o6=m32ZzQHF7U(bwZeFkS{o^(!f0 zZhg?KfCn3`R7_p97~?|+b-K&^@}fVHjLF_OYgb_F1%7zximXBu zn{n+c$YC(Ar^Re11^`N(G~X4GMW6zw=h4ug)q^255+>|i8A`bG8CsFrz+tNJK%2ED zz#F~x98>Dx^04w95@7-tu5%CUouB6w;kR7hsC^V6EBj1-+33wq_srpJY1SCE8aBDf zRyDo4_6=8}@qAkCYi}Hkx3OK{_pU{uv2i%`+HtmxF&YnZ<_GbreuGP$(pTx-tPj_- zi#^uml)v8Hnvp+GEU!x0YB}ONbu=X2?Gz)>r0mJsB807x++ACF!pL09P>H+q!GH7{ z@w)XLjqBVNhHa1DsD7%tLZaB#wJw9JiBxVjzr^@6$Ag(y&MJdM8{^lr6kXd*#qfUQ`<~=@ zxGn=M6$ikV)IK~5>}64ylRonKu&h74J{)WTf9s9T0_$J#!wN``vYj6ynY(~x+dkWi z@7`iBWSLFm0%SEEv2QIx*2x8P!^))&2BpGhV^omkU_h^SnFtvh07fyUJ{yec17>A3 z4hDx&{YCTWc_aH=X!VP$IG)G)P5+BIjTMR`9Y8$@#vY_g)Egc!mue3_8)*dj(uJMP z&XRG_E&}pfCJByxIIHM=8p-~fx*<^V+W`nym0)a)6 zP?6ulq=ww;E6CQWV$r+`WRUap9(TsOC|(yaoa3FWJmT!VmYi_udBVSq;~h^yNT$2O z$%AytVIp=r)5DoCfE}hxW*6`P;nfigWDMhN%Q$ig%nAg7vR)CA$WAxQTH`qmo=f)6 zwpZ4A!EYy?DebJAj-_jo2cs<5U9u0TZCwv*L%MpEFKRAd@UTT4@T)uuc8H-au=(r@ zbnis*X`UDw{*dq8z%`g>kjvn4$Qt`JaC|zN<-3O>Q;YH8e1P??gX+@Mzeh4=j$Z-^ zA1Hvw{!bkeb6~C0BBRMNrhSlzW<=tA>E;yhsrCeD60=l;YBhMbDLx3BI*`D!1m+r>2zm%7^G zn)ilf^(=|5$d~YRVYhwrKUY*9J^vm zEmq}N$ql~{tKO~Z`|m@M9sN1Sbsy1NzBBe5?!{*R-(MeQLN3>MFg{WIHAceICSHgK zi`WVls~4G?-u!LNd(Fy!l22|TP+0k*3Ch*NOs;nY4EZwblFom}gKla0Vx~y0y=_}Z z%xSD-yN1i*2q(8&V!U8kxMHUu;+n5@0~;eU-0Cp1Z$8kf;anM2@306}dj;~E?H7dD z5o)&#^r@|YmqorOedP0T*>A4n$MgF)z~83=*g`TWL z;BJ4{sAa6ny+q?mplmi7=$sADakGvYOjX%J^M3B18@3LYl@Xsr<*=5^SPpY-wDeZR z_*`(gar(f@$kXB&X1(d2*Fu}4hoH}bkv3^uM)Lq$(%#UbdCBFt0^$89{!2jbwKO7J zy|R6_DOPI?d>kq=@nB=V*sGt~r;VM&)1Oj!NrtE8)c@cx;irXcu@vQ4RKcwaz*=6t zuDFfzf!iv~=q7gEJ+tKGe*m!I*hRp+wiy?~S0_xz{!B-99m6U!JhHbWhHq zK8v_3WCPAw9m?L|HY4)RMdVUX)*?_O8u*Cyr@@n#w_1+>4;kb61i$k7c%fLM$=7oIQ7%@3p$M29zJa~2T$(`DU-$u=t zR!y=R(R=3s9qk&9m+ZXZ0b8P|Eu9aJykFa+m^e-A(gRqWUS^CL&}R5*wrM;#MjtM^ijb`J0emq|zpNWtY=siYq zyZ#)G0)icu-L6>sMOn33)l5u>QYyx+FD2|csBwGeJ>ohTG|RkQVw0V#n=`vK^sFZQ zf>hTB^HTf_-yD%RDtYBFycIq744;)Q=G?I;H16~&_vmIf)KJW}3Q~hJf5JSe(+?a9 zj-ck_=8Vx@;UY_S{XB6fg)~FexVx5s@lNmHvqP>U?KA61TfO=sFqzJPlk3Fw+4xR# zGUTgQCU-rLS82Qi#ytbL>m@F=(2J{w8;&#)!^eak^L1?2+aqlPc(aFNe=o`1SFvlr zH|7^T8!<)>KTc?0zu2cqS>Kp*vx`UT*u;h33VS7=V<8R^wO2TqO()5k<7E1(0CD+R z_ctw~s{>fpF!Gya_qliu4);*hUJZ==TDvH9sQW~U*rP1CRj>6x`HA{DvvrKa!M1U{ zuFC&LxFj|Yrj*)*9f_M2hQJt!|z>*f1_WjK=K@DXZ9uZ?_r$G z(Ubj>eD%!O?AVRUb3Kj`=iZa;5&CFQ9zNbmMdOwAjB?^VCE^v?M|M@F_g}jSU-qpa z9~cDv{ET18F-g_Jn-5&>#(uRYK!kmPJMmR;@x7Zzjho$L!TR9=bEG`Zk)pn&^pkE9 z(70U_Ce3&pp+1lub7YkEJmmM}?HZ4KIG6A2`ai?N=v0q$%KbHC^N!kpO)AHE)FsI# z%|`U)oT)AiiemTYw6?zbt2o%F_xh;Mc~iqJk(`pT$awFC^N1d_#2;?re-TQV-A0D? zY)U^WffY4$AhR(ptJPZ&#_~P(#%~ zrUve+KNUnC(gPX<bN+@J zV2cRW(fu;YIzUjKD)-AQzq-$C@wF9$QgtetZU4~~cpTF?ytb&JS}@e2oRy)C6B?Qb z;Af6iOC4zaA-N+D`)kS6R8!q^v$W~!s2GiPs`~$*z4w5-<0$X_=dJ3pC0Q<#EH}9~ zVH>cqjcdS|l0b|T$R*b#gr3|>!c9o>xw-j}KZFni=7t&qhCt{oa7hRqjIpuhUgd79 zxLdN?E4}sq{ATvqot>R6r@TedZ|tL;oq5`Pch8=WnDp5NKqHIjzO%n`2-YZtb zjxlOIk<9m5m+@#)%l0!V@RfG9P|;;3JK1x4JIvR|7uG!4C zo^`&%>N616N5?4B#W`t9*>zCOTQT`3Q%&_$#NSq2a;%trFTj?(3fJxGVfb!3uKVYV z8mr>3@>Mcwr=6|Z4|SVd3!&@KO(DQA(3<`9eDmZA$KUJIsvTPs2&yniTR;9f);LGX zj^`wW*Rk1Vob8)de1#VSuc_q5(|xQ!ukKSdK9pwh#dSMvb-rOG^8SjTh>68w023`~ zRa{`{c`cKD>UWDP?4V56^-+1mw)T`0_cnsaA&TiVX|rq~s0Ts*w&WK(X8FK#-RTkZ zMS^-waPCdw>8N}Y+n!od)oYg9Ho4jsZOoLG{`6;CEk>j#W~dhX5)T#4hQ zO!d^VZqtseQqh$ONzD$p;W2C|*7O4|Jl?suyd7Lzn#y`=Q&#PEY>huaucgQ(>$Cul9(t@m4|S!i#}OJb{W z3ucz5H;gil#nZ%73WBUWqS=k0(<&MctX1!p#apeF_4?;iJGPqZ*Bp!_q*AK6^Ad-) znLT?Wo(6Eg#hJfhQSm=PFm#Zhmmak2LQXlK!SZ~_y}Vg?h~$lLMV1ZMNQvG0PxA789O;{)y;BdeJILr&g#%^n63 zi_dFI4^g85<9rF@D~Ul4Ri0>xoIG01&YGf3oelrJS?0ktC~J{HU<8(f7heAT;VZk(75^IP6L6mkev8<) zcJm`?njEKz9vVU8d+B5>F3x;BYAf8@^CZ#pKk`C3-M3cL3!%1VTO_+^$!chUlf;qK z@_p`aiCHh?A(NMKt@(dr$817BQ$qF7L2Mje{CQ84zh}=!&rKM<*OjZr7^p!0TyW>3 z8+Hc6Kd+(ZpMQA2BM$hma_$0P&Es#o#TaE2LF0sEhFNcELY!51?>|?y|H4}S9TWen zYYzgH;}p0N8-X@r7RT90p;pxLLa3}_T$YD5k+-9s5tUxA{7b0s7xCZ~hLX3Kg`&sT zx1qg0YdthEIh9W?;K^>{5t{^(rD}si6Ye(>8QYJ#r(>;P-^uB?ZFB4&`P;4=cVZ)v z@!y8FUmxPgPF_-C((^F1Ul0rh^82{%`F`Oj$1Sm^$2_ksvX)2EDs}(83udrYcHM^G z+_8tR#9r00_G3^v4I{Q(rOMc$h{I$^Y0#=0_V|9P>d;r4j-|7hq zg3r8UF-co;fUKV!Fi$=vBMKTkHdyS7&&a1fbqCpH+ z1(=AWs-E*o&eEBRTKk!ktd?3Wt-yv}SM;r@!q~T73g?qbWLvdieM2ufR!#!%kxVwL zNu%|Vw8(B$EK^A0kp=`F7T=ck1qSWipx5SARU_Tz-uG#1q#{PVqakC+Tg}deK-Zp& z*-&b)seyXBn|EiM5l{5|MsITS=N}?>eDa21!=?D9o}v}#<~8$T84pO+kJ8;iWCyrx z9M)$hmUo)llW|1kVq?y!r90UO&;%;&mi+rdxVa!&G#49B*?TN*8h$Yj$0Zw&9cgkf z?Rncmd~R&{IGhc{;GH2}H6ER7ZO%&X$TDm3lnCB;83ybhuSenD&;w` zez2eQH64f5%G9uHODp=SgRSEdiyO=#;rhbkQKbj1cyaGVgg+5{cZ$mwTT928`yhiK zoZrQ9P1qZNVtc_;gmFQpw86LEk)cu#?RJF6QSFp+Re=__jc0_jH(=hC%tu$}vx%%{ zy3SmEzZ}c#aE9LX0-H(H8T2jafoZC(y1K3NrTywh_lw*5n-{0kG}596ZAnkMrlv61 zR%F#t<+fFVmBwsmI<9)ru1VA%SLdo}Y`N=cRg{g7NB22bg{6H>$E)((?nVTr=afnT z&E#_{_6M{yaQ{6!fnS%qQazsH7ZBC!cw2fLW4CafdCR$K=UYu@?o;h*)~Q&dO2@Wx zP|986XfzRZe<;f&yNS7atl~3sTRMp$mDNdN_{pOLj$2Sy84QXr9GRa z6bbgM@!}s;mA;18DAm3vIcNN zUu!`I$EM79NxStaUR&bgY_*}{1rgEqIk&_hVoN;5TfGoa)u%Q=bNjn^uY~WH_N_V1 z?%J!imK_AguMx$H0cQ4eEZE`?@0EW^2-PY))OFbrG#Ew$k;GLq$>ynnbt8~|acRBQ zxz>Kj#~7jwGX7TG`|a8$a`vs5$g6qnZfgr$L5aQH-FX@j4s;vu%IAVwYiS&!r`P+I z^pe10I=JkF51T`|aKCh%5X8XT2d_I%N`+mAUiS3wtN8Y2KmB6|qQ;hXYrMME_Sn|R z#IFGH>r?jq5<`t?mik499(bunqkHkP?L(heRtTv=N+K_C$^T_WB;|ceD z*}8gdY@Pw!kGjKM?J<+fl!2mJE0Z-yK!I=v=ayQt_t1%*D*rgYqt`z*lx&-h!@gfI zj4G#r?Xq3H3dPU!qLv#o5LP=^HojCkK2*|zfyj;wDw9pFah`(T>#IV^*V9L7Sz9V? zD`|Vl`LEKcoHY3Lus_zPGFCAeUiyYjJ6%h7?FjAJai=ysWmH8tc3$cG4xjm%rf~Lre|}x$bu5Xhl`k2W-Y*4Sa=Z3@7}&H&ro?T&Ilq@P+{R8z z$273-BkjaaU^dy+abm0WxMZx=zJJhBa-3p1P1k z=(eEl&h3~&-j0ng99y`b1tGP(KDx3o#{A`!b337QljD>#5bTuehxf#x=fF_1n_l_t zkelhmEjdEv@x`^Ywft}>c_&$AKW-z5OHV9}GcKs1q}w75*ebTB3X@o|_sHNY-(dVy8N0t|(d`Bc&BZR~TtT4N^l z_S;`1PGUrgHFS|b9<4$TtzqByl(&~ZdGdX=mL$+B4d1IDMc$|1llNG(?YNi}Zkvbn~7 z8wEhhf?<5?cmaYlidPCuQ&@EeF;@R@5((Lcy3y$nJ zV%_wD)!={x{_+tu&~G4;vzhqIwN=-47tf1^vFYR6ZGKv@aFPS4w3SniX(TW#2heG_zc4H50M5GP$h1Xge^0 zUAM-SFo_V%Or?rtOjChq1%@*F5wlLKBH*Hqv{XJFiv&_MVukW!f>484BjyWD30vP@ zUM2~sB(A(HzPn~|XhR^Xb{XAi8c~KV3j{x@FFiV@H&%f!`MXHh1WR9qN}jQ zp2K;2`Mpq~ZokQRVMDw`9fkT33ft;pDDQ7-DH>Y2*~UG1z!AL+s6*YVMcvnJ*bX)o z*C7?J-xkTl?k`=NoUc05SH0m$ljsqUc;_JU5Ko=c*x!qw(-SWB7#c1;fDw<-wOA9j z4Ud!mfY+v)i5-{V;6RK}j{^^yCt*M))Pv}Ff=>|u~? z?!A-~46P(O36gxT-{_2}{k&Y8do^(ttTvYS1ifm(p4Xrwwc_}vL=SQ$U7j_snj8rC zj`Z5As!<0nLhHZD`$cTH2Sm6g6`keAtKAjnB(4jUpT-d%YBsmc$rYn0wurVgVhs4R zW~y%g#wjtW0^%zfsMSdnvC&s9F5OW%-k>4KbYMDeh?~PeP$h1_SC1UW?I_fwyr&t&iCat{Jx+Eu?Ocw z>KCy?Jp0Ef9TvHQCj+c{ zUq^!Rnz|d8XE>?W+s|eZ%WG?UYwz*Ajcl(zj!af-K3{FC*y_nvDpDSUjuoo@cwN0* zFLTvICX>!;?dqw8I{mtSwWHfmKHOKiW?OLec{bC6R5QPN+{%4a+ll`Ty?K;P;|wk8 zb;FLdJorSddJOHy(C)GEM^hJ@%C`7kR<-Ch<`Zr1svK2G8kKu3@+u>KU#USq#@Y*0 z8oEmQ+P=H4)irM4UD?{ zu7#PQ*YprIJqw!Jn;D~@c~R_*oLhNsmVIGw^+?wKakWK*rPqVtfVw~F28~f)U3@1M zZc0l0mo!Ji3mTh78*>qB3(VVH=OZtj8(Pwpmxx)Kq&5k#vG1s0tkENDtKNQ2JhxLj zK+j4}wlym`)oI(&bHK))8$fO+9v?v9&07E>x((Drqt;y5*mNHQY5ZkDgYyH|wx$m2 zi1)gbB?f+7fSKeSdZRASY@%7 z^Whs(U!?+`a4|Nob6Tnzedb)pQS8ZNN@^W}F0t95*+tq$yan6NMtF~lR;5x<>1u;` zDjP=bK85iuM$@zTe{bwb$>_ zy6cO%z+1O8Y+qf?7sE;h;0tF$>a+QKAk)>Fx>gUiJ!sUw8#tMqq?)mpvv^M`(x_6& ztj2=!C>7HHMX*}7x;M1nG-kc_#jbhq=ogJZL-zZ$t~yyFRwk`|kj+}%$4TiqsfHVF zyZyHv<)~w~TYn&kOFM%Y^&E8~ZV&1D{@4SR`d#%cz~XMzx(b$<6frA-0ZIvzr4;5?oRV}kvt5PkXhSYE%t;acNw!5mLCSo$Jw838P{idLN2VHim z=VFty&&F3XAbqA6o;NjWE~!+;slzLkuR0(RC0sv}Q#sNbYtjgO=rOtW+bpBt!q#nX zdR!4@W;?6ZMz0w125Qx!u!FJI8>yG@&qaT%p=OiwI@IabzP=ay<;PonUvw)LwPO#f z_lD?ZJf7L|dr1wX^quY>*;Kf3rL`DhX8jXi`&)S5Br45Dp}s=<;l9S`h1fkyWge>9ag4pg zTO}IlL+q^+&~qLJ+xHy_r=qFOC*tsBDoiC^;kdEiCXW(}Sq$n+&y}nvSF_zJqdK+5 zb0(VZs25*8@aT8d)*CO4T5HJ@u!kfTsVCD(weEyz<-+X4%WgKZx0m0qcKx=pafC8u zF^6)YJ@skZ#YhfonbFWl)qc)kiC|lPnx_bcUj5?`_WApD?0ng#^`^ceK`${ zOyYjiaplgpNsOmpy5Tw2O6qCB#~$5~Em=}I%*LE6t?ap-0iTZE4`Qn${U(%yc6QiNjTs^xjk_&d*`V4wTXH_dLfa>t#F2&45{KrWfsyxaE`E2A zs*eE%m;~zUwmfiW!)IQLF7fAFK^m{fnA|Xm|3Y7sYyJ3|qEpSo7nZsn!_bLd>uPWK z)PS?wBwF0dwG?9zGIp&ERJ`Muj|83Z5)L&kh1UA-0PYYq^Q;e4%l)~Y=JAD=pji_O z0!9&TsQJEnWhZQN5_y~TRIG>WA5qtDe(t!d*Sy_Kq177f;Z^b8(sBEyy>lmP#^~~P zdhNYNzAcl_YT*)vSx-=F_ykm$1=`+j!q3Cl>HEqW?-2$KX3z56dNCENdbEo@t+x1< z^4@WD^ej-TddRJouc`vcHZNBp80clYqGOHtG2uMIzTcK<__c}Hg`tfwnyECC^5cuu z^H%bEPCnL_w*)e=^R@OPCvT>9FO4MS?B2^U-?hf9Kx#1+FSevz#fl8veojV|@=f`@ zqM@Wk&OLXg$(|#ja zxKuRU=A#IE#ZG#qaD%gPidat1by?-8UtidhO}*JR@dP2>e9r2-V?P+6VtARnj#2!L}n2M&cCg%L5 z5y3?LM!eak@Ei*LhW%=%Ag3LLZE{bU2Am0CEGVHZ*J%Gu|LK*Hz(m=7roD_O2BY>; zOHzr(;*=|6@@*t_D=+qZlej!-oay--o|~ee_ZT>N{g~4j)L&v8?fP+5eP1b(en8$1 zJ{5dl>Y}jC=@)u)4X}xsFriXZbDu-C@1xWrVlP_JZpX&`tK-0)YXNr|AEJnuP#M_D zb?0`}leeww_e8A^$jiai_`L44>Zo9-&5c6`^6tDTx3A}%#ZX~B=39NFfhHB79hx+L zhq~NJnZ4A0scPV{5vMe&Qm(KXy3}J9wx=;GH!k8B<=$I?V6bbw z`fV98cP{#UCBqiBWj)Y67Y4cGu^ey>(O+PS`dqh$u)X2uRlg zN_U3{0!xZWrvgiNx3owv&C)5bba&@2-Q6IubmzOi-}(N1e~-_e`D+j7Ff%)I-Pe6x z_sn3)?{LV9-SISSajf0wnb-1uWXMRTp0O}zy4PtZo~P0w&tfCBuy|`v`kfyK8#P?x zAl8oIW}tq@4x@AUY*aiNRH@U;A=s-u(A>1gRz0YsDbVj<>&M8$4UX_f|ucb2Xgp z0|f~c$25qF<|b6Ast7EC@3VAMsyNI{ly4b(nQk@-JNkAntzy~VwQIq0pI4KY4my5c zS0y~B{i8#3wp?;pA?Ejn#xf{3W6Dfo+%8af;C?rqZGdh>#cn{IsiO81sv*mOi=6Pa zoJV;5+Ig8&W})_y#9}j^ngHyQ$BU9D4yK*n)cjF6yi`JAh>2_wU3%tJfS^~Y*OFFF zbiS(CVQk5uOJl)Wf;IOhRa(=8n!=?zzAa13%mbM;B_KLY{e5(L)^vR7=17 z+}9H$1>qK-_NHuWNre7tb7xNM;8!WCLG>tk|EDh$sPQLQ+@#8pOhiF6)S$%GThi)+ zM)WxKrII0rKh_1^#8-vqtPF~ogN0@moGoo%f!9vhTuC{)^EITcSt-$W1Iq9yh>HWf=2z|Rq57tNLh!9Ce>-zG=umf_ zg3KlkyViU-m86@WzyZpjfLCoJwD2hFtN(`M?QVc&r=g{xZ=qmy(86&@1jkM-=^obf z^KJFV^G_+OEs`|T`1^HF42oSp0VSPmIhQJCz)@Yl-W)dP50%MRBMQqhD|Xbre)Rao z6t2qlo<`#*@+B==0z%kS2D0YSNIDrI5W*6Xi@X$K^jD>c6{v8|%eOQw<1`ZRF>`{sgbvS4sTZ>#>sJ=+~& z?@L+j>&~}dH=Z|p+kRSq_l2gtdG1fLwTM@y-f1-;5od(WV8@2c@YQKm5lW5oplnEjKKKjr44C;+WXZ1Q z@ut>!=x~}&d1Kj3h^k4sfzbBvd-B_~vrbk4hP8BG#ZmQg+H*uTftC<@mqUh{Q_5b) ziCCy$IeyRAZ9ZXj!DB>(oX55vgZEx)-AY4229eMtCVf`~DpmYxUsf|2>#o7WK87tRsE8-EY(WLja(@var zI76&y#(ceUv@=kHi z-Z+1w1qnBuGhze2OE<}~Fr?2Hj1An-@0*yUNZ-AE-wBs$3NrXLjoX)%&p7dWS>xv_ zMk*PWg%~~VHZbJ+#b5z+(Y(#M$iZS0fGM=vD6Q~eM9k*QraRNKJwqD%5|dYN`Li;$ zm2&w22mKf?5>zK-)%v$}WH(e#Y?IHXuP<*6d*6jV!754-1nxCRvD(lH*<}zyRJr4n znDo9THIO^F%HJR7YOTEkF(RgA@syMaJyX|Haad95o6wu0?R)|HZ*@=P?(kZpWuAy5OvovV1HemC+yL}R=n~E7$OU5 ztxLeK5@IZ#&qC8`I(^p2KlJ$s;`LO|W1ORdS@!-aMQ1?Ld9`F;WG!d0)%)j4?6M1| z-k(wLYNB!MW`3!%cct`H!r3*u&$A<7HECYM@`?>-B55(;)UFRHpWo@UQZ}+qSO|nv zl)pKLwC@7qvxeWOLW_!d`Ife_OI*NB>U+-|@D!GV1?YV8S6@*P5?MX&JJ#>f z-h*qZKVwXiw$=($A~;Hj)xR&xx`{Vj6*|p__L4^FpL^a8I-Rp02)ZF~r3nv;bY^Gc z&l9FkBp5G0TZ=bshkp%`x)q!(rSMtgscPnseohmvYIw|1KsKkNd!n`R)aRr3IR_`F zwUo3p{OIWSY`w!wON|vN*gI*OXc^(pM_&;(p~qU%kSQ_qC?s@oPgR~yxcSwF`&L_} za9?$<72REGtT3FOOk%9arwD8IETJ!7s#5mcfB;B;IQ_lhfkhW8Hd^|}FMvF%@2kIa zO`)M<%~vU0>;(%*rJs+7{NorMXy~{%c~-iZ)1N5;(&9x3T7)XRMky)NByjMUnzvYYPv&BGyw z$FC{#1MQz$UPN0RT&M9{XUx`=_8}kNf^Fn=H=8xD%hL5{ydOrAKu#b>F!n5G^5_Kn zJixk-^xgjCOyTa7t#D|J9yZ>xJ8u(0mpoY6-V7eyIiOm8m+x zL-hNh1iRf~4Sqi@Olf0`(KmJ-Q(h!U?^fCohj`1i=#}ii0z+)C(dsNI>NxLI^|JcE z0P`~BWlcLj`#7kl8(er@e*&%ixW7NrU_im6`q$=Lf`k z%ckGm3T~g%!CVMs;H*w5Ot6&Dru%Msfxk-c9_pv8^6)F`Q=FQ%J8#Q9Tk~jqkzwi_ z6fk~Zj2)wPY7#S^QV@&7`m*RtICxr*29`mAfPhl}aU%ck zYNAhl5-;mD4q@fHTyCXKB4>p=VoJzV4DIJB5(-$Va*krvjC`|hozqjSDiQ({1o?8i zeS6=#KRNkM*ic6HRDW)gF{7e0oA%u6s^VzfGaRBRO%95`KNm_w%YW{x{lA#K_jI-k zcEQPyH>I$_PedYO{Y4#;1~Q+SJe;_M#VQMvbfL#P4;J*xECqeSj!t>H@%nobVe{ws zW1n$ff~-5`@Mi{US}2SWpZR^l~(s8)v&A1**$N_>`1m3W>vA+YmY4s@2e_W&PI z|GBZ}qHPVOT8W+)i18)pxwl-Un(}87pJb4{@p0xZ-k#uIW}Mb&$qvz`$yD{xE}79( zT9@Qc$O(#CxU);Gx5`_bW46UfAOmr*mTqLo_f55|;8_7>Q|a4gy?}n5Yrk)jU3P(> z)<@@pot-^@!j~9PPyV^dGx@f(=$*FXwk$UN`80gG_CfTkYJpOaTtzYW-hlNw;hxpz z8Fv9|Edhp8BL0DAz8y_UgSj2Q8cWLgApIoW(+SUZ+oH<0g5?IQh=jH;9wRUDcO9`z zYrWD=psK-1bghq#z%iXv^^2H)?_5;d#H&9D1PA5qOnS0mqzJd&&)HQY>Mt8&afE~M zj0C2c*(%x%mgcHWECK5wH7PIh8!*`ycI7P})MCc&isvwD&Fr;iRuRFX=N}kBiy!Ia z{Umf4OP#-rJAfc`3C;0b?YSQ`sQ-1(qTnS0(aPj^rA1G0#>HmRi^D^jIDueTv%UB& zv1)z9AH`&K0)?`1=Ca@B>r#-;$!^cOo)FuiaygpH^B(F148|x+AzwOKkEq-~t(@ua zSAO=xWv4=T0WCW(<#MtD`t4>YDJl6vy>B=3e3reSSdagUE>ig>$*jy6;&MEm`skSB zuUdM79|1sRp3JH9gx?kqs+o-n9%-qT-gRYL7(CDmb9>Fjn$xn*p9ac!OW*`?JRNZM zTUp-OTA($i$Se&)LBGtmAssCr!*<tfGV2b*bQ$;s2^z#0o1cHV+C8Z7889#Ol@k zw#C>$htjg}1XiQCYsD(op(gVMr;#~RsXEpG(z@=FpxrU#y(7HS6t7E7KYAurclo(| z=J8hW>r~Tc4}JJV)GG7lTVUY-2F^gdz5))QB$vBkxp68UX+|+FokZL?*0;OC!};8JXNYppqNR34Bu@EOeiL{N~@U@1&*39gtm=g)1Xn_P6_DT$$o842m-!q3XDjs#re%sj;16~U`BgdC^#kFM!@j_xf z4)SICT?JXVBD6S!g><$~Ccc#(ENW@UHcs0h;`doUM4$9a^4S)6S-62_lBtP0_s7~i zMLDTQyS@_ZL05S#5EoiCyTQ-hXYrlvF$234gX^(AU*_)T|85GMaZw$%hj>dL5Ds)2 zzyR4_QyUpO}Hvc(|EuKmWw$Sg4bF`7Wk)tm&H469c8gf-zBWbAR{oB=gRhdAeHD*ADp+xkSOWeU)v+_rKc; ziy>`HdUk4f*37R5;q~ek?+HUsKXjYFp;0)X|bOXzr4;C8=uzaeOZa!W~Qm+ zw>#2l+E7QH*sc)Wnkx7=<`-Q-8`Uyl-#lf!CG5Cb1fHD-Q>X`bAzvH_*1fi|okcM< z`ZxISHKSu^?Z?VCTnAa|*puc^Y)Q#m*b)py=Z=og8{QbvWIeR#B}Kji|546dE-vBt zR%_up5f&Dq8L?6?^yUb)76k}O=9#g%$q~hWc|FvX4eoaI19a$mAjnJFTb{+-A+H4S zmR20Q1q{BHYYOgn)%>Gdbl%Hc%`J@4K%xeh=;X!d>REe^X3`h-GIc-{ytoi%Q$peH zODtoGM|Op?UkiA%F8Xf)Se_UKU}<&|Kj;j|J4(0cp^bGUj!^U_`t5r%)g5lJD|V(h*xPrL+^rypnFwbxV+Mh?c+= zV3*66Eg^UQ^!YrjhFd^^bdj*KGq77xkdW880+%wzQz4YTBbP%OJ?Wxa!wj=msi=~x z9pyvfd$KYYN>oE}$qU-{npy9HZ>;<*?4d80+SWeJb+P>8(B7i}+OQ+T==!zsok3+S z-oT%`Ni9i}TF-uTRUTs`^;^RSO@qDQmVEppCME(FlX^@i5{**uDMVveEd*$D0rftf zKja@8Nt*09rglCep&;fFatWU+rz)^%Z_)$}L47}a%3k)n$lAGVSYDsp<9V@_%Pu8w z>Shlno@ha?ceK_>PO9+^>vgJfSmd_N3DpC?#=l5#h&8LiqE=C`s0P}m;p?LFkY`Wl zqmPT4*#d37LoHM^Eu(dwVoi{#}i~mV1X4IQ1b79dC_3dp}BZB?^s?lNS{Aq;`0J zmKS4a2wEeA601{dhr%N&Y8qq`nM^KZ>?{QQIbWfg=L*j0sOJ<~aC~!;inEKj)u}K_ zuj5<_xbZ&P6EGWu4v_E|zZ6ML$hx1%>j^^dnih{HTk|Zig%DZR5h?gp5}SR0qD}fi z^w(X~iC4?~h_l`>aP1=sL*hMlbqK|*?5Eo1)2(ZI&40^ke1QxrAivHpY52U#mY?H0 z_s{V^(u?>V2!8mJ82eityc7lJW9CY(mlR8a%G{veG(xa~lLl%mm(5JRK*U@|;ORp1 z^!Uy$UsX)7ds}L8VFNgGMlDueLW4Eroz7t*72vh6!&uTSDlYqtn`X;iM1VYcq!Hr zr_TB~X+hTON?w3|Tkz{?J`1(4apC{?V-urA-PKskumt~_9RmUJbn-D6V_usy@yO{Hlb4Rz`LCooWntutxGcXJTUVb<@$Zzv=kv$c10lp>e`RT`D zxSvW0SF51~Vro-`ho1`dK%GW&;?8AKHF+l(zfB(hFT%fe&AK zAsVC{W?5PV=D-e(O~_PvUBN@}K_UOWs2IA5YSRYmZy>snzRPrmVsJ0!zacOhniO3Uh5&Zrd+bt? z=0E%#ps?og3I}9R?8kCQe6Nt8kC@n!pXzvJ)$F?+N(!uQn6?C?;F=@1L z?J68h;+cuKu`b9qoGe$`qM8W4Ns-s*>aK}U?G;s7Gv|p|0(WT*#td-gp~8}pi;-*R zLt&YPN&|oxyWi;>x~4e)Tt1;CQ+FBw_PQ|#{TThdZ?8-7?Se{UhtOXGVWAV zJoUhBZ8w4nUcBi6eEmBFG$O8{oWDa@N40$W*#`VHkVzgFFL%FX(IF;~&RM7A&75w! zmEtCTrW)V32jpu=gu_0?mf;`PC_@#dWz1cy8j>~=;&5r=ZPi$dMWZX#SX3AHaApI@ zvqWoVbUEUpL_TCDu|C-1BTh~UqL7X>Ff219L$`&ps%CIZToGh5?>SIDo z;yqz^J34iP0y6(*Pwt3d>Nl0MT7B|ikfKX|`EjJ$>GjytxWv8yO08b4mV3XeR&CxBM7`i<{fhSq62X4$$^( z+2=u&MO>A?dbBXv&_c@9YEJ0F}GK<6}{lsD-hA&{{VlBD&uL9 z_$p8i6ggOlSsE%+vb*#X>I8{m;O*8YQXul%pWZ=WiirEuN6vOt8Qjeg{g!lrVCBIn z9GT9WpJI?Qh8BC$Z_7?WES6ZD59-zx`)erEz#5Ul_HmkJ1`n}USutB^X>MD@ry~-P z-0Cs_lR=W$_4>B`%HfY(J`bMPlbuVIAa_`q*5|h*B%JCx$4Xll^M`%Se3WiRsk04E zMQ)dkk5b-doG`70a>G8)YnXnFMI-B2ip$x6`a_;(ldEz|w8#I5m#_z-1tHhNZG>(G z79-xu+HiFqdrFNiHJibkepF6$IH*>IzABN=B|eE3X!n14ZJ7z)3%r~x|9~*LhXM1~ z?WSNI$&$FdG0Elu84?duVOkx{4js)gEoRhD*xH$CbJC4d-wZqC8cxOZCgZJn#s`&t zRNjbFRmciJ=K!&GY<8@#Aft_xS8c(Y4uZgM=^HZ34;Qt`~#rQj}#lau$ryt_S_a)9_+ssV)IXtLwA(xg^F@F9n)rW7V;L#lhn6^9rSYMbEjpdJuxAOTGCRC)D1@9J2Q(h2VS-bJ^{wyojHNdAM{xcvYmU8Y|=M2SNI$;L|bUeis<~O#p zTyF6i@ElckKphsnwbbV72&9O5Q|pWn*?KN^l__ww;y;*VlJ-sSs-u!lIfAP@5L$Ra z>FugZjiI<%F3%XRFezDAUd~bJc3L^7I};HW_GWJ8KXvSt7dj62R-o>R`@wb?E)^bL zq8-{n;f>=3%9t@K4(nj3BX5<;KG1$a{#_sW+vsg4ZR46o4$XG6^lJyuM~yIF zvB7P^Q^V%jy3DYjW3hA%Bu~_ z*4FBVI6nzEYBd{TUTnvVXx#B)C_={h{U55DbH0qI*Mr-&-8`O1j@*2di@Yx@R-UxB z1{y>%{2+#>d7iw#b-!AbhA+A-TbZzX-0%75gXpw{4SOQ#q{MDUm128NiF}St#z|}z zPufqn2ARTB$^UZ~4!(fSAJtv^h~32{37NzTJVI3liHAkXlW1~f3@~3%MX&GaKgQ42 zSV7Kftmd5^P6un}ZgwXbW^?M2()zx|tT@YzB?Eq58!s)0bLlU+JnY+ex9UqjpyJWF zA4lnJE&Vx!SZxhbaL)%B#n+Q}w*0A@;t*QEA!fpiSWB2}qc32-gM`PzuYKaADZ+3%45;O^RWMg&~c=YHRQs3kk7!`ji z9<8&I4zYds!Cp@>AgM$cA-1kPwM$0(e$b|}#!-?HZ0S|6qppgVLJ(`L=0!>qdH=;j zV10qww>h+p^_r(A2pO0ZAZc+3snZ}n9Z-bO5X-i}B7oOs$#M!>pUI8oNu_AAMgj8Z z3@-I9KYqGslI{gB@1;QSmH+4N9YOa^*YV1B(@HZGZtkB6;HU4XMu}$BWmsXbH{}c# ztUnY@coXal=pNjV#9=qlgiqZ80RJ^q^dB&L4F934Yqo#|8TS{(R(W@wd>ka(Dhg&v8-_lYR8NEFfuv5PS z_x|tBG_Iex-K-v@xBoFHFSqq}jt9(2P}qwDw76wWG(>-Xv-rz>Zgh(<#PJj~%=r|Y zQ|`7GMNEus!eTyd8*DBU)X7=kbzgC|2ld4%Rz^CI8Si}|HZ3ejEuW`+zu^x9X|^8y z^u%ErYr>{JH3MV%(AFUVXWpG8*C?|&!v?CrAUW(#5$_ut5zA%f#-?Avwl}scX|gp0 zC+kUR!P98i&OpXlMq91drsd8Vv@o!^NC}`)d(&@IqHgRE1iBl7YF5HabQ|*kL+$M~ z4s`hdQNbiKR2e~!72oH^0%MVo%cku`(7}R0%(^LV`7h|M!;nBPnd69f2ZEYQSlIGN zROIeRVo+I{{C%r^v{UVWo9uJ+KW0~)_u*oc$g#@@Sdf}29>;52R}Kf(*eqL@%?;iz zT|UlQDgG3ChN}N~Q|k~ymY{nf*!XMY?)ntE{}%)&i_~G@f@S%H$4)F6uJ_S~mYyA! zi#6j01)o{GyhM00tkn|I31}lxc%uz2;qeI0*FA7oy~uKZ6!61b>b2smog6A)B&=bwC@52bz=>lMbNDcBh(5R8ci0tKUX1UWrv7b zusV$SeoasgNgCo zB5DEQZx5e(+O@kKPpAwh?v?5r9yIJ7RJB6wZxJquY(CdTTeuG^tqCDzBGf;O+G7+2 z`&UG`SoPmV-38UG@r3vNr+%SDy)ukm`~4baYsEi4*Vs9 zpCq(akjq$x(%Dl{<8XCl;y&vqli5fFR+3<2W5f0>50aWhqxJc1N)$9I#g#h5kQ?Dk zflQD@e_mG-nhCaoABqM%A=lvVYHE;vGCg25zu-YWEvDdl8Z(E4agKUkQMJ7{{SJJ~ zp5VAst9lC-2kj^H@MwF@FXA2QvU4orh0U548P5Sq&X$;h>(g7Le$9F|3;$F*z;bi8;C{Taen+o3W|MlSJvEQfPWu#E+HBBJ%IpbKh}%U1 zp2L=-4I!tert8Hl3kVj^0?y&KMzCqHFIyX00BSj%M`)pG~K3#5&(y zstjL|e`@9J?XzRwpd6c9|EH~5 z@4Zc{#}AKD5^9BJjk-1a84C}Nh^EJT%Ghnyh<0Q^PfBPxqZ=oXZD#}dcRJ9=YT%`m z{^-K(gI8&WOZE2bS7fZyC#6VH91W*)!QiPPe}cu{J6*k{px~Jga!v}NNYETn?D$mc zC(-ddUM7{xqwVb6t~%e^E;qFq@&vrHblHNNgD!D?b}Dyy+-Wp#Gz$9+w!Np3-)6LkFdkudVlhRH~^@^ z!@~yxZR8^k>)=_FCbrQX;dhzA6yFtvkI_z3wo{lZAqe#{)#)FSrARz^0u?N?^MgmGi--{y`_KFZ)02`xTk|J z6pMml^m+4;h`U!(j5bz9nRCZ13M-#C&mMAbnUOhd+h%N@?3j0tDUYlPtwx?*6sg+2 zymlg^_jt7tqmpm^$>(?E`lusw%YAc!_q47BT|Xj!l$z23u6!YNDnWTurtr@F?wG;B zzV0zT4q z&xg}T5QXcCxIY>lz+Uyb9a{vi8AoXU^Xc65LrH2{9W%WZWsJV`U9XSl^4-dFF+56$ z5pPpIg4uSC()zIV5yfHAX&RC%m!L&?)ji-y1n4Grnuy*CxAAOF^>ahaRp(N#PQSm3 zlhw>xF*<7F(5xMzYYPv zkGu>2Atm_=qOMxn%J@mR&4vyQ3}V)PpMBUe(BySeVo4NUi!1dEB&SI8SiPRMs$H}$ zY1mDu!5;q5a<^GJE6F5}I%+=avg`#9)%VOyMSD8T&2H8$|4u?eXq=tBpk1CZd4a>n zyT-^$*OSo$nc+-@C~CDnhI#hltnP`(q%&a{cr~l=k&<|}Z^v8p+x2kWnWd3i%YXt6 zX%=!)y}6qbUTajF$GP3kFIzImjOAwfen{WEg+Zn=kB!A{XNR@z0B;S=%vr;=q)VZc zluxdW>Nxv%ENn!2Y7Pwsz%%spJ+gQUO-i5T-YvMytQ8~mizI!+BVXZfJ<+T2o?4B# zb_&7c7hV2+n#$Ypk5Vu8=c-|>M8rE4eC_%-W9pk*H|pRg@ryrtj7FW$C#MscO7GMw zzjdM~r55W^2x=7Kl}b~3!Rf0O?Rv?#A|J1cD?H6P`f*O)$)wz#<(I}XuSk=0KO^^4 zZnIeL2?x7YE4E19<<(!Ug^m!gB(7aKq~H1>%PYOjD17che#_6)IqmUkqB}#}Hlm%t zVdpvRrFKZN)D3Q$B>JUz{eV;m2PyAIjki({?_gh+WiA>|hZ+@_eQhdS{~WVn5A50Y zTWWrshiZ1~n^AGyby7b3bUSJf9@Ce0qt8;k8`}+GNULHaGd_(tlrJFd;~ABlcvPeg%WOo0&k~F zAM#V*LRYtQ?+Ic4NaLuax+Z#DGixdO+RkR7FXIC5Hb_ zBW=4*k{`P7*h}uhi0W{)8cYmmT6H6!FGCha7I|IxYYrTdp$$)0r8tgZIQwDBGujS| zT$)w3;}zZ>wsJ2{W76l>Jw7~lnl^AMc#6|^Wq3|6ujp%HAp>d~kp1a3Tk&)dIe+^t zjO+CS3Ve%S5+~3aTnT?xIPQ3(7s&-aJ6>}eLiUAr*t%vu1oKE|J10hwIrWITYSd9b z;gc2PAfT2A+EG+4@%@`iMtHz*2yP{0BF}1IAd&;UpxDd3lvwmlmOm1!D zxPbK%((b$C6ETl5&8XX?Zy4kAb!T6}OJfKhLkAJBcs_qFgnu5D;XL|@t){5*Tdqhd z@U+$&M(6x@iFY5u%xTEf2m@F=^V*0)X$@57+1)hkMT)mjGm+2Ar6=U_{`wN4`oh3D zL&le!^yBxg+Lv~ZT<^1%oK^NhZ1GGzU$6!_QV~$cVfUcE8-3~frn~1Ec!)JG{>W}; z@)>Kq-=_+)nmLuK?s!4eI&ts)@?H`;h_1^b$!UnvT_qsN>Nl76+~bU)Qeyi3K9O_t zA7r{YIEq$LRMIea2W$0|vd)^0n=9D;z&ZJs6F;2mKMukne8VXYL$lB90LQxC*92S0 zQ_)o+R?mEs(eFNPw<9m7*T3o@vH~w3-VM?5kf@A@=ZXyr?mcr3ndXd~*1O&NNV9Oz z@w7ko(CbjFkErZ9qsen-QlUAHYX11s`?lvL>^}F?hZS4|YW*@ z;hUMtDbP8>s;)%;b%xr?yM6_(VwnY5-WtZNWd-Jpchzfe!Q+$iD&m6JV-||^?H;U! zEXdRpI%IjZ%6{R3h#Jqv)RS#|ZkLUpk@fD?%pZJy4Mg`C@Z6xKl)GF$iRS~-%#r}# zH0px3XF>S*H%9N}0Ue8O+ghhd!#YU=dfwM!G8MDTN%Cv6Dd8{Kn%bHUoJtiotNgYd zm+!V}ou)>Ykrs*${0z|be8A}Z6>*u%6oIni{1)tB^nxy1x-Vqy(HA|0_@z4 zi%}okjq5-`x$E^Sey0kFFD{W=T~fodw?y_Ch0O0xOkkzSaQsH|{UBuN44rsy)hx_I zo6b|JRRuJ2ioDxs*TO<`QBmOgd;P1WdZxrFK(&fI8W8EEd-6%b(`b zpwOtk^53nRz@`eS(QV~u7JN*Nu(26+sdSo*By8mtx7T6-+U`E9IbtHbo7;?4QM0IA zq#50bNxvhi^!B>#cQ${e+4p!ioX*Rn24$BfvrFWiN7S~QTR9B!OslcxC#k%fZ4ZB# zZnKBik)aM0ICdO@UZ;o-7+jD%u=ON(6Rewygl{kD(S>5p`B z3lEBopx@H}At!r?_fi_Lk-kwyT^Pr7e5cV9)xTe*f{gezk4)Ls}u8rS%eL} z+a9J5mTbu9E6ADe*gg>D((#t;FzCkzXr?j6)xK3*)YKnFNukSy(cCCp88RS6so8?{kV+Vo*3* zUdRu*APD_7_M-X66t=X-g^w5N%nbiEFSRV6;HSlG?p!S;X?Ti3N7hub8JJ)VlmH6AvdDw^Fo z8{?6Arr35IJMYK?Hj#90afi+Jiv;kQ3a8J$VR|g_){==y#>?A$_s0npr2@wgx{vpq zv%(kiHozOYy#BKh{>Ul=K}!}~;iHUHh0m9;nqEquly;J}#A|G>hd2UHU?*F$-bF=1 zpFm@od>GC{GBT$Sy3iK`BWo(+rf*(`x^z73_+n~6ZFP|&$5SacgE6wybgr)|oh zI;!oK=G!R_@m`|O>yhiE&mvpk${^uSP>o62tkFTsEyY)>c1B4VQ;Bv55ug5vzv(P5 z5GTYYF%_riv(<7-=hSi7QLIWDZNurHg`PvfUdVK_;aOKTR z?}LDXp9BpB{f{5Q@rL)SxIUKY)2sE1!J=nAgUfe=`qk%Q+p{LMeF4O+HASET8_Vc3 zzl{X?PxwYuMS{;MTr&jL!?x#*bs#gQs`Q=_B{#I3hH3if&9ljO7X`o7Z{mY*R8q0{ z1S__U@dALh{3WjFp?j!EIh+~2-kQwF#8=`A<3e|9~Ai2te5ILGH_9-}< zB=B>IAn!M8fpK)2-!QkQo3>mmJRXm3< zI=xyK^DZJYaiRF;zJ$aNe1XS@p~j{2p)>wWFI)E8Ky;Ape1j8&Ev@M9wqZw--yEbZ z8J$Yv;p#dgeAFhvThB>W$tZe0F}{UN=Q$Wsx$i5l&EyyUTHgPU)^;HIq~A)$b9__z z_3e#xIyX^@mlmwEts>u*nC;s^GEXhUBy9+U?O&R$UTisgA+KI{F{ck<(N0t76h>;X zVLS(4Iq%P~4zuINZ_B4w4Kp7v{23BDI`GchsL_qGK1IYIdk#bK_saK&vWZ zLrFf^^TQQcrBId>|7B16W9ooWUHP#mc%|yYPS!X(hGN2tmcy3kiC9FoJv_%1Fg+7( z2z_Tacx6J$AgvLAbbxKcZFraplN7lMhJr}8V!Q1R2ZYaP+Xo*rSn;7ZQOx7w9&dHz z317z&0O~TYIJJ5SF|1e1$Grhfn!3^A`FYacDUx zLb@CvGg8X*DAFm29Lqz0deh_zx{LEk5e0$p%8#e}`_{<6udRAt+g<8rD-nVw7>lHk z2|H|__I~|1;FVXj-shv+i)}3WE%JElgpkXY%XDI8_-aMsnHK=#0hxOzzYei=E&cAkS0P!Kda_rb+vrT}>6?g2 z5lrc=G4N8~yAZSGip>2FwQ{u3K^@avL=Q6ly9~ngAMiZFJTr}9I2HQvrTc@+o56ZP z@8d4XIx@V2|JN%0TecyGrbi{0mSxJhz*4(t*upp*&Kj3ft%wOq_Gf`(1^WT`uPXZO zQ{SdZ=|UH>@p;1{Bj;6}teekyPY)j-78i2fxU#CL9SQHb_*_n&cv=FJWU9!4T*2hd zrZ>>N-J;Uyermn=0X+|^3oNVdUz?mL?aDPaQ&92KExt!(!P$Ye?ob4#@*kbDwi)6P z93ke)qTw-j4-W(yderGlP*P_Xx_3KQ5vg?@wUzsEs86Txp<8}G7fgIUC?`IY)xG?> z^zkNI_uy5Cr>paXIn6?xx_3MMlQrVsOg9^D9T|h^actOm6=N}f45Y+phqu$fxw@?e zOQ&hA#S`Yal?T@kl1CFwrMQO4X=8o002Fyu&XlI^i$pv*Kka6BCqYsA&fIrnm?xOr z(Z#I9CCnH&yc#kFHyBhNvi7+EBDC%Yrt{q#&U`}x*#~70vs#j>Yweg*&9$H(Gq3fX zLXfF^G59>lzo=srkO;5v{5gqsI5xLWU1`qAK!%g9kf;JREvj6(mcFGR;uaXpBgVf zAJA2Xq?F;&0DcB+Q5%nW$e_^jbxC4_JfBCA!hR9NU9fOrQwk1JS3P1P2y<~+vx}E+ z)pgE3#!PC*-4@qCM@NUh)U$0MXBsNk7-fT$i`M*S5!M9$hwn)Cw8NP(DTlgp#Ht(?N)u63`k=bIhfLaPhSf)YU@(?ty}?vFbo-MT z3`Z7Md{am3=pqtw-e;FN8uz`x0vq`yfgCyfgT_-lZq zwWoa^0Ix(*{mR0ylMiB|K+yNw%KI_d8^R96Kg0~^R1Jb*jMDLdIn@Ejg373T!fSS< zr;*=ptow_F2mkg(2wkb!ns(tk0)3qO^`+w?OM#DByP-(;~KWrV0r=-AN!(ntt+& zTCrFc7KB(7< zhBQ`N;V)}pZ9Jm`1p?X;7{;etCdON3YYz0}^UsJCv6aWJ9S}T6oUZ#J$&aUPC03~ z6VUd^7irpe#*LTA2Ki5!h~2u~rhU543e__*iDrUiJmX{ru#2GWvL#>4LFC>QO}{69 zxi7!^Y2tBVWVl5t#8yGn@kb`)lUU=x{_c}P&mhjs; zB~f4Jz1M5?&Q6`h=BtyCkhlmWHJG6EJX-bBgRUZ@{ZF2JD`eP#E|i_;-IfphHEftl z>V&80^a*vcCK{afvhGbiuU4J54j)BZnhHy~xxYRz5k5|{whVopHVkq1#=6=2u^93^ ze!m;WR+r?BTuJ+HW)gL6Ve!TN0)M={a<$xmBahvNM9%N9z(IW#RyoF^FGa|7->!F*6$##Nsj!Kin$58hVx54cW&r` z{rn~@ffP#kH<->{Sd`vZD+Dw?-0&1EAgxwelOGba;9(@3UnVskGzcXy2NR?oVc8+Q zZlnY=@qsjM=5z_EUK27?hrGgIERXZU>=5@C6F~ib=zMH-(=vCCZ-`epxx8#BC3TK* z6F?ku{=viJ_Ip;$68bVHc0?1mT*e$7$TCzRN2PeOsn#Z$pF6Tls{)9ZqGiCD0{&@J z1YUK_1Jbv5&z3v6V_d1L@WFDI#{e~3(;F!~KtBolXU|d%$LrT=f2B4sVnX&z@U&8v z-Y2$kJ3rNyf;0ksw0mL#hu=9X~84jC>E$-rfd+-#VF4CT+KG zJ{v!PRPXlS@K%pH-GgV^vaWhe=u(PT@1kirl<8S$@^&Thc!x+%|619XD(%5HbJk)r zI-Sl=BpB9NEua9;~dL!bDENQ&98B?33IuN>$AnLbx)PzYG+xla=YYAiSi@Le>UFT9zfZf-#i<3x!AY&gWjY2dzbZ|CmW|S8dUghf0MF2K$oTU zrwU!P5_D*~YIsA8SYlmIC=Yo5yR@<@`UQhW2NEI`aF%9TZv;+;iIRXMFNf=qz)81r zq6C>IW%xEg3zgq3)bYE)YTRT6$Q}qbde|+1ua6HJ24)mw&}D{En9I6x+0rp#HG6yB zf>wZ<;0TTcDOoWwWmhNpX!so4!_^EeE#3>nV-vM9L*qm-)X4O1;}6u^sR_u-Zy6cK zc4Dxosg{tWCKq%u)q5xNKBiK3Zu1xqINaI<($&}7b(`=w7~n1}d2tP2JFe9jAQx#` zvZ)C$m-td1VU|&+O>c`bF_d}B2R6x_ud0-<^!9M-H%ejC^6Rq}CGMKnv=(VKmP)&{ zrDKq%OYojBo?e)@Zxn`{FM$u)?|w&;$CxTYQ(y9bDHen6!0Jl86F8rzaWl75n(@oC zq`owJoI1?Lwc(4-o-DLuv+T8N+sOPT>)IEwZ=UMLP4=7O{Px06F@LeGq(my|HTl8c zHjcZ<8{G8KD8KPl)|uB-?zC~zV&Pu^xQpYucFkf2?KcTYn}UZN06=HQ`$NHJM><)t zORxmEf5`-t!Z{}3eH%#N#ex154`7gD>a)S>4-3QWW=cV3P^QFn4}h4G3MBTjG22gN zT?v_&plKdI(cMhxIBo&FJ9@4{o{QO|bGzt?OL@c3H`M|qGP(TQxv?YKOUGYo{p`zz z6Xup7rXXB1Ni#zZgv+f>-OG#__u}UYEt1Wx80x|FW-mREZPgz?-lf5_nmWxbdF_dX zt|b|y-RP8;&RJcgBKJib0K%rB7uG5_g1Yjts~to`V;Qb9$!-I1L7xTE@5uCF4Z%XK%wu3K_;Rw{6o z^APz3S)elEEh2<+kXd`gq{CA&$(2AV_c20%CvZM z>}eub^(3qR(vlvC?ChEY#|{X~isTqV=b?!TWPBUXhYc+U}gX{we#OF4m4DB<~oDuC-Or3{p9#i!y7IW6u3?H2VizU(~8?rbVZRL45@_&WO?Mu?25dWt^Jv^tE} zI(dq=%+(up?BP(q-nk)3w-)uTc4_Q{FXq>VT)S?@OQTAF7rv&CiTOu1}k#~mq1?RF9Y zx?qOy)plV85D4aN0L~)(oYS@k3*iFr(i%tP6?6%@w+n=q-45jiSTGmVG<0>7QQW)G zX_9gxg(ewvn=+I6-OB~xhnF@1FSoFaK;&_-AFM&&*>aPuND( z2TwqQmix=b%Cc<4FCdCOqSx5YmC z-OOMLG9?d=kRzPf4AhjusHu5vXa@wZW&SJ?U+@2K;k(`L!) zu8~7vH`I%F-5Eg2>A|J0ZyeyuM6D$MD}8PIJ4l@fpm zeowGT+u5@tD8;#BzB^8KDf_K?4OAcsdGAYU<%@y+Ks;3JB((&jyCWNoV}iX5nw1^C zmfgHTCl&SeV|r0%LvDNy>VM0$qmJ*m!a8`o;~Y!LBaC#gEoWyrRKVSc9fkjOokuQ6 z^qBPYu=Q|ND%_DTtiGm6k)F@v!({G#!-O*sM<-=oubUU~;0{&VSZNY6>lxkdjolXL zBD(@KADfu@nKD@EtYtyE6;tDS{06=Lr57LVJBB4pW&wp$x0I5Kwi#d~OzOL*Lsb!x z=IlXOPfkDP$5|Z?`)@SpVLO|A*ZZ zqfdFS{a05FYwQ-Al(+B68&0v_O)s7YElVzVZtCVW`St_Q_4VTWn|W(L+Z9Z}^T4lm zp-F&~^_V2H>tn4uUj0gLX4ft#B*<>mi<_22U0=L6%Ze|@)y*3=_dP#ng@`NjcTd4y zg?aIHrq4O3(U^0}Bg}J(3bEF3p~tNTS_R=otWUbDNK#C&!LqfSGIM!oCzwmnnkc(M8^ zpu1{pUM+9D%1He7#cS$C9>iYFNVEhQEuNhKlT5Z97e8D;WRfJoLkHjk?LMPdsWL$^ z!#YjoWqUXuMfo&4Y{>asZtQ^N;mt!c#VhKXCy`+w{a-Km{c=I`M<(r8FKoDt)7Y&$ zm|no-QftNUQ9>1|SBctcp6HBjM)`_cIR%<&0_9L%a`8?bOcP^Z9_`z`ihBL9#d;0N zfL*OF5}{<`gyMG=$0@L;EdyRK!A$_8?^{FtZfx2a3jckWJK$j~ie`XndW=lzF{*?_ z|FDAJm2-PhZ3LA}B>#b?N&=5Nz=Im8@bhWCA&?wKGZRGsxqrtO(AR zz+!9lFxbe0llC560sirL3Nh++LJ+^`l(oYrM~zPK&b|?1ZfbhvGi^WCOTKonk>76}G9ALpt(Bw>5EuhF%FD0DzhQ2Wkcy7&Ur5_#%t8(OH%4Bos(S-$TTzm)ebL(wqwe3uW!2DRbZ{&CLU zejCl3;`q;JH7f#~s`O{bpaaMU0|yqNsZ_1Ts~!Ehbq)s6ZKC0n^W-t_nFS}A+o2HV zHE5RKlILau^ z?z}rG)8nU9^5VhMOZW(NjpJHQhHT3ffccM7hhMg;j2Is*G`1n$-$2{jM$?=Icitlw z8sSr1pK&5+e5KZj7CihenwQy^uV&n@&1U|#Ws^F&<0@Psmy82_RNwtz@6*~Se)yeQ{x0!-SkvVClGBMRUjJSFKCow;p)UKxkf%>e5SqA@9z!(qgEO3Cs zKqd5021X6$A78fKxVhU)f81gs9)CC1!edYIr2C2Icix~Nl+GYzOv#vU9}Ce!vYFme zDB<*k1yz?nSDfJVFK@b)`$#Dj<2-6fG0eiw+PNObKbff<9+ZdqwexLDnlD{)E z&P|k*l&Qb%lddVr-}k%SgyM$a?5DG{u&i{6U!0%!z0Rk>au#iP?I&s$=#a>zK`MlTOZcdT${??N7*i8(^mYa)VV}b1UwEAEfDDF&ZynS%Wlm-6;x zJ6Os}L?4~jR>Zg7@cEpUTph;?5_j55s;9E5MM~L*m3~v$^l+WS2tR)wvf>o&;PNsr z`+?d}t`?Xd*R?4GNecU;$O#%i5rPd6Xoz`*0&$QN&6g5WNTPm3+or8enNgG0#!Gu+ zj2?$`ErrW@r$Zfr*sayPGOELhGH=M>#&A&x0luNli?WW8Z6 z!WBwm`%Ch;(g6w&h?hxd$yQppRRC<$BbxbCR^xmfmkB5*#!3WL<_K?lF4`1+oT}gRfDrTZ@|2kU z&2&VBdU6r?qW^5>5a$`N-NgRT)&p1h1~Z&R*mt$q!NxCt zcC~BIusujo9Un57Kzf?bz0U+bY}I&I(<-LGv&zGJb6SHr-#r*YK-{Mx44MLJ=&t|* zys7#LPEC!ZgTzbMfZ3L%-#Yzw(R!>=AH2Y_|0%j!-WrWZ}WzJxqWl_=dq#j-79WV60f1+mq> z_u~8(aD!pr4!<}*8;a3LY+n0Puyd5<7GS|SKrvJ{t`PYlmE`&JI4Qa&=XoU8n7h1X zf&4Ax;-tb?S4w@3)SqeuVN3T%)fqi${Nf=w4>e);oK2+gt=M$zJWh$*&NoY9$vm`K z*mQ(sUAvYWF6~_(c!Ga6 z%@9zs$M=}SJn2hGN_c8&Ze-~iW*;g=!>4lwlCFF@WNq8Jcv8n6@H*gvvx^*itEz~aw@#7xbAEW7!eCzFZNs`! zsin}=e1yQU!<>D)&neneMD2l+HTyYW1nNs`M&}8-RU#-OFIo@L8h6XVsv>i#$s?tp zlA(U#TO5FUSYb-GhIO$7>xsXZDHFT6{r>uYwXgr!)I!;BdPv%>YxEV^p=!||(RtkF zOwDQ9whkc6#l&YaCzM2}j^Ug$Q4mP}t&9F~bs%y81VRY%*}xB9m|@$xR(c_~XW zu`K-d;pflt!w}U-uKk_8sEARn?Qza}2xNx_HwJ_q@~&=|Diu zi{y>1y}h{Zr~G0$RjoC2uhV$-{cg?xZs}!IsL^>%=8eFVx6~W{gA?IfR<0ua1YO`fe=)t>5UMK1cfOIs=jbd^ph@Ku|YH zwS~<1P2h^FmT;U&9n678B4w`^JKbA1{-aLG3&Rre5+7}GunIBkOFOI zPJJ)(a_-`ZW%&Qq;k@kW%+VJcPy%pt9_ixEzNFXn!tu^>j|wgda-E6cwUV1K^b61>7N7QCGOT+BBP zevavT5-TU{DqSEuWt#g3bSa3RslnY;>$=Tp_B;n{aq1;K#>Xef$XI4dbFgK>46{#% zQ^cFz5TRR_vdSzWmby((Mz~|GD_ZpqT29Jia9U-(YsZAZ13)A|yT4ylZ`QJLe*W_e zCTjet9B^ieka;W2M#KSlUH`5Ll;L+9=%J(4c^lXZP=F|bOp3$=C?Utr)j%cLLt*){ z+cD{G^HTd}Lp~RRuj-es>>DpPw13_z2V!w)F27s_&Mkklg|$k)EUl?lRqH|>E%$7| z7iuSMpR;Mxx@iV|Igo80)EtlX>C8<2oujrKF)f*!0;xmCZFT1(lJA^QokZSaeGQGo z4-Mc%Jnq{ya*gKQI+yLqAB+GMMg91|{jlJo6XF#<6EiwGnU&sc{;joDpyrn^){tdr z;g3wNFI@jinDmch{Qt*MaTJQ%^=G*}ojndy`Bp!;1^HY|-7`z~ww;Z5UMOFt+>YBJ z*S{wCp3KJ-6uXx1&c`j-OCQq;??L6oNh1<(m{D|J8QNf=iKDMe^qObHSimRfaNV&7 zGZNkg-Mevv_qcDp+mnUp>}U(|?UveeFttYXRG32Pj5qAB%%~Z8_J_02@_leV6tvJ0 z-?V2Vby83D<qn{AlCa+^y&HUuEMQN5tHH0yU@F$*@Zf+oy4kLsM`g+ z6w>T{hT&*l$Cx`o;P3Kj692wCB zu&+){<_#_M2YlcDwySI@yp$Rc^ zOES{q6y0HyA9@R!(Q-EF3wx0jnlcEf*vz13{w3pVgRrx&zq7D)C#N4vV$~I8a?eZF zSmeSLxB>v7)h^V*g@ZTElJpOxBRH!tp2nt@_^%2a@^;u{xUh!YNI6sL0%S+G5k+M?;x)7%NYFMYWd` z62QWSndnP=Y7d~(SrUy_E8$hRsCIM5Wc9-@rqs)pQAz3!H#ggNewT4`!=%ht1z9tO z-qamNrU-gcVS zBmgyYTWXINeVs;b`JRVlt;e1^Y^q8Rt$x=}PWE*gD@o`;xsrlHBt{g6Svhrc-^-Wj z@^RCpXDPqFqbMi93i9%LN33!BWbvVB6VZ$MK0ZE2q)l>(49KZ3ahi+8FNx8~+?bQ! zGBuU^9Hh**5MoUP_`-X9sE2DE4{oxcgXPiUbI!~+W{W|;1OI0r^-rmg$V2p5dtHz+ zZLZO1I=eetFrW{E$M39Cw%%D!`Qzed$ zlPF*=+Gsu*6cGX!aRNJ1K=^2clwIk(^}GqOix_RyX`LN3q{pV(TpDWRw*Nui8h{ss zxtx|?H(1cs<_+FfR*sFnCZiLqR#iA69?TR54JzQlVpAbrL9D!Wha@wtfPvYV*$`H* z6uPK#6YhxrEIrA3mXBSz3zGl#BTPyzV8-Tk%FW|=^c~{Y#nz8LN1yZJ3he0}NAHVC zOFWi^fhiTkvfJ{`rXKyvbmISswor_MCZST&iu$d!y>&Fx&4iC;&V;52F~U^n8f!_* zNwl<(7MC`O{E*%vfzUmy*gE(Qf3~;mvJOQKwb$b5^h%L}Gb|>prXvLd@UZ^D60dL* z=7xB^F0L35@}H|{Kkv2f#I_<9p&#uFUn_u@q4W{fP1vKaF+^tDrU+l!F_kT!&_OqC z7f9bx?IszZiT}On{_9+JBvBc(S8*TLJKUxEOcvO4W2^vq&QIqyfBZ(b4Xsv#V(Qf$b`?9v7Sg=K#C=u)g%f1CnhBqn18)& zcUL{)9~XAKEsHJTXVqv$lr9DPwBuJ)IlP?71h%dAt$xW>ICg8wApgsvB`YZIJio=Q zSLBaR$&ddTxv(3wAL{U-zK3 ze$H~qGI&2jjBozUYaIoBKS8^`Y0Y+x_6swnrLombn++Y~-g@A75Sk#394M;*t;Z%x zZ_36%>xnh7wxQw`|MF7mK%~?W1}wYYIuN~-|1vMWG||bhtG+gpJd-pLe=zU{e)Yb& z_PFvuFl{QnKbMQu_N?~ZKbeRB%YG0`bojDY#C0vt($6LAj_uG4r3{X+>s`&mD2hJZ zt$gGE>D*GD5L4e2ji zYWT$Qevb+4kWQTj+1R)bKKWnviVyWwP*t#QWFBmXPE)~pP>okNr znckspw0(2hX|EhfJX>)v)w(oBhSZKJ&K}5*MW_>C5X$isbOO`JbS6;4Mi-dsiLU;u zBK@murGyU&k-nVWrk3iR+hEl%=YmidB(9Sa?xw~j2|_W#^BjXnz)JS#&h_lA?CoPm zBe-6WD*J0H=(is9U3}${?%kO@h$W1lJ%Vu2_=PE5sWVh|9%$SZg zWxTS`bKW@dKzjEs(DTx{rA)B&E8IXfFuSwxS_-e83MRXkzzD}m|HT;7-q_A1)FN>9 zU<5)~`loBai~L9g$+JZ7;-ZIAq@{ZFNFNryp|RLeiJlb$vehM<$b{<*8I^$*M5vKl4ug0=m<)>!zQ|ywO@pnHMS)k((i{D*tEQ?Vp#?fyaXLjxDb) zkSqGvE8%iwLDJnJOXu7=PegE1{q|Ae%l$GYWi9*VjsX1bWVF$9vxya(3drV%yrYrw&%^)z!)WPWFKH*k)B9T`PAWEIM%M}*eIz z2P)&%b6ugZg`?c6R0BsxZTKg=BDlJ}(xSJtm&{D7Ze8PL)pz@Z7Lm~%%iC@)``y0A ziEID=>u~(j%EA{wJS8gBKrt$R!A1boV=X|X8k4>Cxz9t8gH&_D+0y%;b&1cQzr@0 z2z}dit&%g&LPX`7qK3=GP{+zQ+5H^{@XLW_IEI@FEtl1 z$%5$EQ1!+dRYD9}zN=bk^CZzfJom2@#X3+-Ks_$v4@qWO$i!{JXWP)lsokxvDMk=i zId8<|hNoxdvyGSp_1u()8gP1(S8OdjBp*Hgs@B4pYZ}fQABqAkiXOI!440>Vp2jK{ zi8<|k8KNin-bK^P>oKVc{};}mvkh-u!u9;N#(M1g$}0Ri_B#iKa2HN#({r52JGfik zuN9D@5)KJFs7p^9P}QscirNW^`Fz}V!ZaD?N@bN&Tdqb5Rjw3rJWRU2zEsw3M6>g( zDU5^I>`GZHSj$`uDPQO}-G(xUE=%iAg1k*YBwYV@b@;#SrT>vg$K82`YuWU?`O&W5 z#h8&b7w~w-pRi{WNyu1Mm)9$%#Hd5$jK z_wC9P3Y?GnMku;nw*&}Zj8g2r=uSxRCBUVo;+gg!^VG(Bmhx>J#eteEZH^N}z1zx~ zf`h!ue|+)ojoGPt+jfq$W$qp*T+Eru%thYDWmKD1g6d16RRoz#I{$_D4r35$I1O zNZFrYr7$nI-n9L09;Uq*ogu`Q6rA;iqe-h2{Cw?!ES+)m+`MYi%#0llFd;J~9lf{d zR8ln**&JtD_Q__1*|f2^oF*4p%zkIjXTsOxVh#`@V+$P#{!aJW3K6W6es1~l6%-Rk z<0?_GEJl+L0QMEWW1=UsVHAH#H(LOvg{GWIm20DEoSJTd;Wo6sY)w6r)w zv_diP-dG0Hhrz`Wbww#-+w7-f7CO&T`S~#Fy3q$@9}uyUk`v<;SWd`^U3AQ1cU;O? z^LmRCujSf|Wiw3+BDo4b+MrFQaBl zp+Yq@(1BJxQ0_dN(dI?8)^92jHgwn&;ZNHUrt5Xv>1;!h6Fu5L4H!Peh;UNWNkiaQ zWz4bz%lol6S+<(xCK^TU#QIr`ruR{639OE~hkW2!!icWSZ8+n9-dc(q!vkm%kip!(ko#=lU*wKx&=qm*SmDloI8^$+`l zrOZrW#xWzjh>{s0QkfU`6}4iCjvs1znx>xkFPKW)N;#O%;ER2H6%C4Bnt^18)p4Nt zC$>lLrNga6z!2s>H0z*+d?t+EL_5{yHo=ngdYZ5IlJtL%Jl#?tCkJ;`txC+bpg;JoC3%+O>QI&56soGA^K{UAfnm_bXC1SwBzlm<`~HO_o?w;i&je!p#+?_XGK`f zJZt#%%XUKjy09WyB+PrE;>C)bjxyZp1-UrrVL=O9ON5=1RSV;t4u9CpfLhv=MZ3-u z3@$}?vZ?lL#2V*K)s#cbbz?77So|=47`{+mv4RVOXgZ$$Y2xz^J?u+^4aY{>x5P-> z`-A6zvH(`=HC;taqf&>WsyV)nPl|B4li4qweg2!vU+Xt5C)ac3K}zf9;Gb;b0X4i+ z8)rXj9J+FKQ{*h{yV|Ujx0rb~XoW%h(%}U!|MV;L(2^cdT-yrnHnlorCsctpS@?w& zIE`Cu1&v#uIsGM;Xp!T^{ZD14IC7r*2^($+1yZXN1lsD-Oa60TO@;M{3`c_NX1z+L z!#yMOjv=+%Q(<`4QtU-Jj9TJ65-yG*u-&9w0}CFFcaI7FRCjr36ic3uLiT&jq?E*4 zC0mxYZhr8$&3L|e3@Dp{Hx7$hoMrjm+R*fVN91rM-KqrEzTznIP3p{7Oj1oMS*~xq zMI*Vc2SX(>JxuVV39p3p_HV>{Tzbm$L{3`T0w0n8RBe%QDwpBAm+1m`&AvX_sD}k) zwc)>%#;(Ke6^>;F-Na9UI^NpUjnHcLy7Cu&XQGc?c?;U;=8{kK0gNO@BGkHuxm8-< zJKC}jM3271)>PD2I(dcZ%{!0Po!Olvzzzf|Pg3!?_JLlPXF8uT@CARli)ktI+oj14Us-bwjcjWFs^{DrtG_X; zedI{YEY_#?x8W44Q0QB~-}ebjWifW)#?3aBiV&L)X|zciypl#GTpcs$MFX* zLHE6XEk#C=^;45~&tro)Euz1lxcHFGs&V#-r{qg2o z7<96mRG2nLbnoY)U$OA;6jIQt$j;FeR980<>8LdZ{a!59sOoQxM?XNb>Mme?Cm#n6fJG-hZUZANv+mzu+&~fVKS5@!F_C& zaYi+G-z8*rZ3cVBsNoI6yVI$_GSesEPzINGjhA#7t1Uyhn9D*l$F4ucpl7nEmTSBIti;LLc~hq5WPyp7QpH*5OU9b^Lz?G7)3+ z-xpQEm9q8(({f7FxN;_+=xHkH6!p~Vf^wJWeJbUYdA<_$5up8?d<>mVfm!Mb5wr2^ z%S==;uL-t&q~(h5%YTyf=ifkwHfw)l*?yt1imdXNVp~um;dLepllzp~Ew6&xgv8Y; zgXr-GrdwM&-f3^h(NOsec#Ur7CR`iEYL8u@(2pBUmRHt0l`S2`n}4^fau_(?>(hMy zuZ{LUTaywLe@=5bl2xB#EqcNp&|Lln2GfvF<8ig@sSc9`$n;sXIEV3R{RGZWHu7-d zkP&HHy4r!J##~+6WvOPbosqPhdcSWOd8~wgD*FHb14KqpWV_*1b^`+2KVV$%FXB(r zwJtEF_e(3PY&FvpVL^u{jdDZ@-P>iY!Pc%S@hSW|5}HgjUL`XcTlK1*>+z|1>hJ#+ zzWyis>A!=nSqs^EJ9Ry~t~5*a6o2Gdp`!Fvg@Ilbzq44w`Ug6%a*J_`7b%xAzBV|% zWXl?khORGMAm$&mpaM_see2&@S7V6il04p9@bGHh(M z-q@2;jj^Ux&FtvH@Y0ILA+%CkaDPpm$n7_r?{VY1ws6va^Bo;16yN-3IoNdMwc(s9 z;j{X&KO-)KoQh;>&k%yY1*Tb+XVt@znT1Q8in4t7F)s1Rn08@4sb3GANn+{2c!yv9 z?HBe?thlN-F4U^D(XM?M5s1^jG|Zd#x!c<4o~+DKDp?A8vqt-M%RANc32bQ0AfY=p zTg2lWig~1y>b%BKO5^9K3-)Y3{Ws47_HzXkSwd6RK04HAC(?|W5*Q^5D~j(ny*c%4 zOqEvm{1RH0hSaXf+gUOZZkdl|tUh6nf-gKdO7tuBMe`O=tn+3vxn^u`NZpWbG$RKq z%wo`2(`=XeIDh>q3i1#2>hPdqS;(f>n2uBF5Z|G#D5w^|?S-qUO>m6}6_g(9nrTYC zBVv&zbJXe`cRA8tfra=!3pUdTS0}r%{e;bAD{ZqYGaqG7M2{VLGN8?)~wfs$* z3TaO!|20|fzrX5!wFUyXK|Kz7o@y-*nHQY|nX1#`rC~(iU+1V9X`r`JC2A*X9QrJB z&VdeG(T=}7TX1b%_K9iAgH)76N2LUKG$d*m&<&4PvZH z+l>Ua%X}N4onP>*&UYF*a-{1@qZ^Nqs9TSak~>;O;AL2sbIt3IU>d&q_YA-TeR)a;l-VUr7D3Are16D zNiB?EX)T)FIYG`owxOpa?09Xryb5}fjCXNG_GRU!r)=snRtigg0; zI(m&&WAamKIii!(`dxp?Y{uPo1g84^&J>m9PZ8n@58U zVa*}dEdZ$CZYw;ozuiVo?@#2yziys`Fpeze!Zk5LLAEJd_vt4ybjz$;0xMV3Ls+h0^kI>T%VionB)Uj=tSQg(H3{jc>L&5-m=dZ69)^)FJHba7Vt4^ ziW*$wT39Aio?F^lMxS#bYNb{^Uv(aFo&R{t;cBb5&$+wJocCtZt^yx8k;ybQa8OityO2>h{P@AA2F-!^K;faj zYXh35?PUHZaw0hkkmqh{aG;ZJXh=k&-O z*u>K6?q7L_jl6XffZ}aOl-e`nt@@TnKFImAWCS?0V#w7y;u4k=HPQ$)bMzs*w409^ z3B!trQt0DUDRvoa8NB{*(Cf6vxQ1^_#ZzSfNf^k+pFT!@v6#S-!-v9zU$qjmPKf24w`dBP zN`IBz-Fc3;dltIVcux6U6nX88F$Avtk68e|PcKC7tEK;W+W*hTKAm zCc1bm&yn#yek^j6Lo2Sr7U%e-4b~0?t6xz+lXO>Tceywp8b5x$t>J$UR(ZMXY<>8; z)|l~tTNkgMW$9p(I=h4O&-_9dA(A_(Dc3}NBxNE#v{z}?Noj%2zIUXIILgGN!9;L% zJWdZ{lu6SRTKtA7AoSB5L0LCvgWzUUwV}d=O8NBI>WLF1{9t#VBr31sY%4nQGt&-i zcw1L~!C2y343OhaqU?#!&sb$Xr6JzmvWO+1d&{Y$<98P|oF)X~tFz_69Xqp7Bwu!p zfFnG;V@=QgNWQNWBR<~f>AnN2vn-%5tM;hnt|<#s%h#xe3lk9(&A+2Q9^@I=dMokd zQ~AWqix`ZoKvUSAhXT+ZL5JIkC1q}2GMqM(mrWM#4u2JPu~_Ac7DkE$w%e2ZF+k_7 z-PEF;L;rNJWT+|qxn1=KP11oLXTg|S8h{D0?VFJlFh}qwvh`Q{ETa55F3PkQn}St` zV6Zf8t1PaEHbbM=D!Dbm$*knmXB0GQtfk$Oh*xJnsJRzXXKbnW7ouz)@G$E+*^Bvvn)=>I>mo+5Hza-yP0}Ir)!txKn=>Z~N6AY^ud_HUE*lXQ@JaQf!x96NNc$9d7FtEBvH zq9Id5cYg1WQj3nB*W>f^TD31K@~c~nswM5ui=t$qa02~uo3n2t&+084<6Av1#;Pq79Y7cb==2~vgX?QS@;pRRR7YU}WMM)n8onTA{2$9>;& zN1lNilPw#`ptDmj=CZQb1)PYWl@uwG8FC;A%6QK#8am-aU=ztKg-xCx%1IVq zMY_>ut77hjYd)4C_&Ho&02)pm(yom1;ioSXC-?rJX)((!nkEWF)0OKsLH{O1Ma+{i z!ru{1h&oBew|X>zRHK+|RHHo2b*aj%-pCa2+E`K==FPIn3qmsq{a&wFUZc;}n2n_g zg3q6D@c~+x^7eKR$Kw1($Ik8#={*1(P#I+H_Pj{CL+9ADtl6QfN$YVz7&}1Si*Y9i zzN<~Z%e3_7-Ng_lv>(~Y`&kYGALq!S7U{H~dEO;_9jJISM>ul={}JVRd7wm(_4Mh$ zV1^L)T`g_;AYbE{k~T4(sKI-@O7oEnUYYYJ^EI=D95G{O6}~6n%XZM9K7ajSSCTN%%vk0U5QD-NAofy=3}wr?)3F_{O} z6a=VLTy9eBnyQBNjMb@$FkQG^zm)$F~UL}zkmC>d*XR;P< zBG@_>bBNhKz1}=tPjezYW{`KGGO5pbX0|vsU5cdrXYu&+OqAoDQtzUabg|C%uBxm@ zrC|lD?{yVSk|WiLB2UZJhTnikhCg7Vw2--P>u03-#yW=3V{qp7IMf+h0;?{GT{O7SI{ptDnKqNDw@p>af zcxN(O`?i_LPYp8XHS{TOW(bZ-5U%@s|8M}9cTY{<+?-x%=VV?moZOu6{nMB{!RKPG z#GtJ-p5FIDqH&L=U3JwkGYuFcjUR+3>^k`3c;$1Xs!QG2(qYt;{Edk?KRb)z7_+Zu z-t`W5dn^?lnpT^4V5;+cZ4sOO(v{PBa%MCm*D}X+V(?wt-RI2j@$HCM2K}nZvc{Sm zQB-dgc&h{%9r^7zt0}6d-wkZ~xX#|YzpRs*=eGMW@nV}NlS^G`vOpLdQ6irzq|4Oy z3we3^*FuIMUe{dB?AzBm?3vaNf6X7mft%6Xzu!;l2b#+g1sv|)RKu9;9gK##4_b^n zTVqk&5HH<_>Q8Td_Nr*ogQk|csaF>45Vq^<3cj^lo>CDCGrNE7J}?DwHNy~`pg)E1 zl@!kh8gHXPbPoijGFN?+m%cK${jMhU*^`KcF&8I#J*sKT3?WsY8xKP?4pJHXVHU8K z{BZ}ZWur91)`M0%cf~Tmg|VKPfUl=5^i8#?o)f@e%t5ug?dZY|W=1TyO$3ETC4YGM zgi%Xd|1PSwRz8L)TzY!zbaqYQJJwxOUN-C*qd@WZji%i@D*da$`t|bWgIEncpSr?! z94zi7mlAKd^>RY%@+H^htc0+tdW(u>8x2RwoF|dDXnE@ab-3NRkxiS;oVDW|(a!4e z*mTsj4L`dy^MB6A-@9+(p{jXL{!LO zFB-Lf{T6ZF3?FSiC|d6mHz~2meME?}$DepD!gRS5x!$;`7ll;zb^8E(ppo?h?|9$d z2jr&aua+cR=-xNC$&ZsJjxR%fauEaZ1IBp}>P~4SGR52Lo(eX;M|B~L9xm{?V8nlR z&@{9QAF*GOyFG@Mz%|;Nl$V^pBOPxDx}9ubjqK0Wn2%?OgQ*$$bOnp%#?F92m9*wQ zx5&VyW?xMML$EbU!-Vt&?nu~l1A`8KY;F%vDF8Kwd?MR!6a(^`-{$MAXA_H4D&u!S zA3ij19w6Y=cCgYvRbX_Ryefdt!n;x^OMvj+STtA7$?u z*3{N+4R75lT|oo{1QZmMDk8lp2q;yQP5>2<8hWoHO}a?$8;}m6C!r%q7a}0N86bp~ zgcd?ec$fQ}_dUP9^W^)N>+*83=9>4s=eXM#&4uEKSG(F}JSIcKggJrp`%A4m*L~NK zYB~2yv#anET|K9O6oGIeF!H3U@|svTYcGb{>Aw2QQg$j)k+`(93W(LZEko)@PQGlP z^yVC-_jsPwL?2fNd4|iCUA(11!3FQ&)Nk_omJSS=e8)o`n7RGDaN3Knsp-q|qN=zz z1S|WDQ)2q+duL8faqsDjYb2l~72SFesi^;SY2U5Sj4&wKfw$P3vmnAd5$B{`k-dG3 zGhXJ4oPIl`y$H$e`;rR*St~o))C?j-B&rU0YKnK+{h<AvUcd`~} z6y%9N>LEv6F(Lyressd;0|e^$<86bGH9P*lS_mYHoCQ^OL=w+cS)&uYISKC^B!W;p zFPQg41iJMaqla)or{hOP<~T*6YP|VFi$c*!?hSxQ58X=>96<~7ADCkqimh|Ow9^?{aMMqb3 z6pFk$632B;b;K&tw?jw+sE&Bdw(aOD4O&sr_2b$8EPJ+A2j>O<>3oVoV8)RnVKwzP~`i2(h@2>Uu{^uIZFR&l0&2Pl~ zjt^RTi=~_}uBhgvXggJ$Z$3XN>5$2vn-V#53Zci=<&l&i%_k;(I3ef7h2s|NNfs#g z5Y6H2U(d+iUYGTwykDdx_#ZcTyay+1JTk9g;Zi(L93!OeicH?p67~j5N}|{st=C~CS8SK>l7bdS2GYr?)ltVR*?Pt#^&L{;`LFjM@ks>~|>txXf|*B#OwPxB<*fqH$> zU{KK9D@s{o$reHIBJTkTZL5h*DBLdHzu)_+!no%C_0Wuez!gH0uWNr?DdUQ1M~$n? zzaM?(!i?NPv*~Us_c3#2ZGyLky%&Aej&Zo4?x-AQL6g<*F6iK6B|d0*FD&Z!q`5yN zfUsOWC|we4ayj_*(ADbj80l8@B8AoNm*=$g-B;&6MRiVEICB^)tGttS?5GOZ{K~lO zdw!DOu#D)mJ;#f+Jr%V6vhJ%lsiQOjyn@m;Kx@F#-+fJfdDF`x@FY25 zfYL!2Koa1;LO049W!{bnZWo;pj5SnLrCrf2a7V}GI&|CPV+>z}W_kjdJX14#1 zN0zkT%&rl$*5%rmOcYzs8!!nt5?zcWY|ODIo?~!^eNGCch_$)J=Ez0dYpap%8Mogp zgp`E9Rb}l?`z7hAigY1ON!x`Z)056xT#7tlUQ4CMVbH{3cyvW?iJy4}@kJ%GMWygm zUmZVBQz(9D9vFeig&`8z=n&W$R(?>Hv}J_sRWEdoS1gQJqnb`T-t~kM7Dr91(WW!? z^Hk!$Jya^O4UOwDAwDFxiH)A2X5HmbbRpHQOc18yXYY{=t0bL8pKT7Jz)7v1C!EWZ z`Je|{O3cu*I$`C^yFyMck;b(ON9OR+es8JJrfXZ$G&$4Sx8I3K`&f(6J z+VDB<6jdwtadKy&s~ofw%hJJaCle3-(?GL+`2m~BVt#`x4bj-7UQRMG=vg zv%V!$OlFMkQYzKsB?`L?O*THQ; zKhXJ$gN$MvaXBN*B_L5>r2_n^gw2;V!I~(d-JM^t;h01t5yz;(7pJZE1=FdiY?QQD zRSlaOiy9+FQzBcBmWM`cBUEK&j>T*S@P4gdRgUT!W`D5qvt;XFERZ@ zTmJa2u}w~6rHP>*DV(LJAV*)Fd32B)5x6115}iP6V_CoxXl!dy09%{aAQ=K{fB7hN=TVe*F=3aKItC^ga-m_+E z=kQq{#jZ~c1??%;4Y7N>T`c|zE^6k8%1GVLhw*6npZb{*IGtyUey`6{a7A%X8Kd8` zjaCWKzcw~iQ;T$LIxg0xw85)!268iZaRkqgKJt$f2PS}9(}x@fi>4?>cR77(>ZB^N ztK9-gtOp1y={fa4z_}O?v}cll%f^^=IyN-_dC7d2q6ya?Ij@@=!z?_?6Je3+iElD< z_qs7Ga^Rqrxah6}OttpB&k9?Bv>N~Pnld9W;rZDAE4;q4Rb7FL_DnK$#h(*bELIo& zIbEz{e!#aN&i8A8&R|{8`EW|`XMm-Ufc^CQLR_6qU;fB1@6E{gz`TH$2{u<>H{wcM z9ILE@amW6(28ywvWF)_U%yyJUXP2hRU=gjqo}~@f)t_!gT7D1czizw{dA8pKBPdB( zATm!~Uj*B&j614oQKm7!9SJ>X0(Wsdb@0Vnf`cj%Rp82d)t?<#o3}5HOz~(78S6o8 za(%S{K9{xlRuJ5!RxT-P`+GvLYLL$c%$hH5)w-<0p)P2X<(ts>{TGp3zS)dnsAB#s zI$GNAL~~kLAGW1mc9FCOZ`1o0e`Pq+9`%ldYf-#DVB|~mjA1oCfZ-?2OaYPK7h;Kh zkNr%T?_?*uw6TeP8GDHdIm-q3oS zFqI@bJNYce+SITrEHx5jSHo78MAAsVZLlXxKI201;T#D)m74tdZG+|2KMK7g5lK?-rY)e$ z;$N!(JTroy;xnQ7EWzkkOq}hj@kWi$Q@_Z{AE|&H#-B&_-SYI2Qx?aS_`J*se?RZ< zDIA3)FERFTlJdKvaMt&#SC80(gGylH;RdO-iEUIOGe1!YR zUT!NAD7+iC|5NbV>pG`EJ1{c6R{!wMUzlZme^GvnRgvnw{XTH!Uu$8E@hQsq^^vmI z#hbgqA_Hmd0r{$*{GMRPdFVTit29=Fg*zI)43(cm;?uv)Id#;Ri{{rxAyZrT)Te)a zc9RFCiX_BeZw&XiqNW!?lO^Zt2Et&lQ9~$dk<8D$X_MLdw}yuZ#!d{=S7i?t+_pM! zpSdg!Y51Uku$RanO7S?CQ8WTNkt%ZD;G4W{i8)K_~-_vdA<*niDoaf=?^&K3?f5cMy$H8v}J_gEAMSZ)uq?x3i zc;wlsBI$vlnR{Ez6Wgse{F3+J-`5nlC5c-SO`DrrtLzrUf(CSa9tMLEnSSLXSdLq# zgk-hJUU5^CJSAC~BibICSSI<`G;=unjqxc6Bq$yyZz-&mcCUu^wZrart$qwoteK95 z8hk@~3zNz#fv&MYoi_fo^RubFttC>m-2V2y8`jq%E%e%1LLIk~q%Pz6~kIuuP72T@9{N*KbC zHEWmeJ$g_lXvJW{d>ET%;-C>jTmHrom`pR_vzDC{+ggm6K=*0OjbtEl#7yJmPo4u) zwJ90Yb=B1tlesOa+s9BM=-h(j*Qgq7lHV0qX1rk7AZF2ViqX-(xd$>9FY#{h*%i>v zMsEQs=j}kQ!kaJ=fx^4Yc#Ow=kN0o1Qfg~B_?3kCKD-64F$W17QYL`1YiDEKiXqMs zoZYqz6+y>aOVSL zp4D^avyYXQUAg4cp+9*(Xr;@1#qA8^jbdioZ%~UweCMC5|f) zsn8AXZY4jihH)?-Z^X&sN(;-ulY!ZfTrR6h}!@H75e@rlJsS@}L8d z18E4@OBP$khCa?5yKEu%dde*h(5@Lh=g za-Uys+=K7|zrX;tbp#i~*4)^hEVfzgL|i7bsBFBrA8P8H@jkT-12ZJ){>j08za*Ec z;5{2W*r$E;kI_M`)vW#g@N%(Dp09#%WO#{NP$f7&yyg_0%Sqm66vwhOcTde4CpQ%*FgXDsXr0tvNTL!Rah;ykL1CPBN1Z=QC%TO+V6mW?Hy^ukb-c zd#0JwDsg_hahc3s#@;I-&%IL^8&VP-eSK3A#Lb*#?$GV7s4>TvS3*oz#oSD=M*1BQ zZoZ`gVit6%_9w39>)L4B# zy!VQ1kn7qHR%=COI!rPmmj_^rhGq3UbFol3cbowg3W@VfbXyC^UmY!RAo;e5^d1kx z78ueb7d$L8WIWYDB8HTggR5Jc8?wu``~eYa)ONkd&q9I1)3uNLBdKxv^!genL@tt` zP0s#3-@P)M`JMWaGr)9!T>MNu4bLavrTiL9Z}0-QMw;-xnQ-ti>atshYWJRhslJtp{ABBNl=}8?rack|CRb-uulSR7ZVHP3-s&Y%gqL zUL&gn{8z}X%IzC@6OC@}tJzHcu4X5){`a*7p!|-tNe1-+)M`ajj*AgA$bz=!s*Orr zCx&@@BA~|H=j5Q~UttOg4qgd&>D?a!uEf)9-;vA0o2JjZxWCEoejkSn#6NAYWKxrn z2T1Dnkc>L1S+KB#SXJ}V`T*fEe4fkMDM~)_*6(-+O^%nvfbix?MYikO z@m`qfYP|=RMS+j&yx;XviRRsQU-n87v)9~-h%bibDHdm&>XMV^$4Kk6KEkY@Ul=;m zI^b9owYNh#+c=e5!7#^0VsjfmwfU)-gqqYVLjYSUFk^#(wGr@i{Q&Q}K=4UN$I!j= zzzo^7=>*)yMv6mq$Ecw=w=q&4oYuYa9IMDx-TV1K+AOhUc zgmTJluHDAQk$?BsVJql)_&2VjpD*6^6`08EeNtW>Vxt;~mk~;lk(F7EOe4;>=^#jF zhO6HqIUhVUEA1O35uFYDz_JvTE4>VYM}Ib&M@sxPc{87#Qnx=pXf~mzFU}M)e%KW7 zq^VV=l8ws_YUfw?xTO*dHl`DsQ}G{mR2Zd|o#pu|?{~KHY!J>43cpI?G`D{h)tZ3aF*X_64%V~FIs8+_K$0k>Hzh#_hG zNk96kCX|{rxJ2D@JF0aZXZaQsGdcPOwT7Nkv;y>eBKfVCMkY9&ubYtjGc z&b!1l;KM8p#)!0SZ)t8c^EfZMOCIAi+Bcg2D`Eqf@bCRw zAc6Q}_vZk*GJ`b5a}<~B0?VYa4On{nr+15eBsJ2@kGQo;p?H!}k@Xq7dM>9cvE<0; zYo3ry4BzuVsO1CYQAxlS?cH(j_4ZU35ruUZc*&f#EWTdKd)-u@Wvs}=BNi;e0-%FC=MCi*pWW z%l17fVHdTYP>>j3k(v+7if$lU)<^81JzLu}3S$+yY%eHtQ(3en_ zOi-~t-Ao&qECp@d8-6rVeYU{0Dk}d@TvPFQrn<`>L^>GY0w%8~ea52thO}S+ZHfJ} zR-3%wZ&AzdtJ*UKOeu{W$?n7ONZ#PdH(3~wN@08vB54TwxY(`_I zH#7dpK;RW{ek}o8S?HlAbfB5}OJwFQl*i4m67*mSd{w!kg=$wV)8b#1To8^ zcrJasI#ANGrg(mgdzW}e3k7CC2FRS#*gW?E;ToqF?i1z-AGV-{&LSskm){{0i~e|) zoBk_Wu;$ZAAq4{3`}`DL!P?GQXr8kxDBs6imXf$Eh*Y-LzB}eMkV~Ig8226ij%0k=N_*@Bh_Im$-YL(Mc z8{rF=#R>R$`SOy-M?j({P|gdiRPJ4FwDBh!2Ncv};DL8({3}Xr0GZZQahvKp?7!}> zms__10N-;e2j#!i_EPxl@Sa;z^knV`6*ZW{>-%<};^A8s(P5hKx=LrmIQaXiLVs&m z^mwk@a`DSgRtkb9QyVrxy5^aROHFd;G$lh$Ep4JPr+Qi8F{w8iPd~jGh)-do64YdO ztbu?6keB!HG#vtlpkp=P4b(Aq1spGZ;&S|BfGZ7Pf;=kDbYrw7zE&|(z_bu#18Vb| zfcBVI+uQ4v$31MqrGOm(GKs51H4bF_ZbPAO-q=dG$oaAJ`~kog{?+lZb1t=pcNzzD z$v`mLIDOl8g23ThN((eJ^#GOKT)(}Hi=wLrY(3jad>kSaoN(uFtn*0X@krZZLC~Bf z>`ww&^pGho!lvun!<1%RnsA`dQl; ze)uwm$IR}4C^xocqd*q!r@twC3A8FT@jiU7vaaH_Q1SpwiNkno@noN2IiTo_w)jqM zq3(FRhbQTa@Gv<1@dj#tp5) zuL?HmUTq5u+yh|pz|cNRx$PROaqAJ&jLYJQ-?Q~*?b3!aRciqjY>iIeQsqbXyu~^+ zwq5G|{v0XL=2i}%IR^!ppNH29jMW^f?wq1LL-CwQa3Q*hbADu8X)iNlt1r^VUu@;I(|JvS2h(> z-;jK8{Wi1IPxVxwM6WsNSC2(k?pyvD2PY@U4E?ZCBr(7KbN-#yyW#=v^G{Pkc3B2I zm`Ho*52e0m1IB7=qtDs1w=~}8SK;qrG_$P1i!iRdhJB2J$gf1>3e$Gn$Y)6qrOn6s zRn>RzA$+q|SG{v>ex|+0wXPk-dfv&d3LdQ(Dl)w6TA{V|#qM<>4}};gpl!0#txt2I#r{);O>|QLImVCD`~+q8|iI zLfC!n^qe%GQ*jq)%x&=U=SnXf|H6SX*0!=Gz@uU(HWuXsgU2Eo04GS-4Di>1HGadF~`|BEE2aIl?Qb)9SsPhMHt3keyd5Pe??{lYb*-SzS_*qTbhpRC{)CCPD+A{xHi$w&fL)zD5jDb8iXlEkE z3L)<`&Lhmjgpq9bg2+0DS!%nGn1dpR@f+7@d90YV5tx$lmVcKe_!} z?+*rX^k6GP`?c}b*gd8>6VH26k3+BFKCqHEGW6yL<8xKkJv^iKF)5DxK zgbVg>Ql;4TRGac+$kwg-*Hs2rR17Ux`Xn~@P{SGvj29e)f`j9S~C7wyuvI5Mtm^L1wPha2*HhLw-JaTJG z>Q`yDnN)8Y(IlWPd9fI&B&B$#>A8bL%n!ZYx#c1O>*GNM7AnVb)pG7CnM>Q8)1GNL zuO#P-)jmVi?Ep?n21Km(eb$rl}!(BB7gm)Sw5ToC0E0)E>6kjes$qR#as8v@}a0rH=39c zTUy!&5~-c5BUdw|tA;qHj%N2bMMM4uW|?h)Uj5?jnK~X_jB&jUWF`vTJQHSUc3$YJ zSl!$(BTY_KFGN4=19jgQ-3j|y-`h_FIGxMIMZ))eYxS)d@pGBkLvCw!!XG8rHwjSt z@UPUjWA#RbQ&mFP**M2mbp3PQ*gU^1dn-ximEi|p-bWW?72LvAKeD?Z^h*3E2ix7* zFNLC;pWb$T{p1bMwEj`$C3ysHA+9evW4>iJ`BWQLh&O|fv#pYOEQgb?lqn5q8u|Mg z8US6u*SxZLp@+;Gx`FFO*RTRVl#9fo2WPkLEoppK(1E?x3Rq)Q z^3H7~_$v>#d8Yza#?6MthW@$~`LTsL5#ryW09#z7hn7>?q=9xB_@Udp){~2&p~^rY zC?epmr&*3loqX}gVfKdn)yBYQDlVKth(^Ar<}@Jyh3Zrt1=%e~f4CFYnO_Nqedc_| z#%0dNsy4ZC5l~ms#-@t(vw1p6)qZ+W^w?cFeEWL$o`b%zev`PL2qjW3ilJZY@pw@e z%q#99Ota9~)0;5x4~joJ>)+mG%(GAIAzPg{RuVp_{Mf{7rR6SO;QPS-tMFyZK|hj} zO~1CPQCvpEFB#h7F0cN(Z@0nnIEb^)$XJFvtIK>+vB@VGo>~93#UR%d zP{QApj_%sP&!07nt#r1(zAF%EH+8#0XWw6h11yml`J+sHu!NlF(Q;E2J6fjiw^r~$ z!u9u>$@Gh{*KdxLGiw-ksQ6X*wMN|o`q$T`l2^hp;V4I*HjzA*6H14Qbb8_MhOF9@ z<)hZJ)Sl`ZB_8GJCDp-Cn)PX?N*Jn7{3E_rTfgjaW{ZBAmL>l6P2p6eB4sS^1;9~q z7rf<*cF-Mli{uQRE#ij9A4=Fw@IT#!+9=F<(GnOjF2%K=P`U6;3Mji~$5e^B1g?6=fiGBK6Wqo3jpWkZz* zzj>kU!mZM-L}Zlg7V+y*z81ZKO9%!t!( z`uTaUT<|Y4sk7;7d(-&4kS89-u?I?k2}~a0{|prFdhAe=hen5Q|4wG%HTh{ZOCy^o z;{M8?FS5e^Wvw?$&WMLjk6DI^+fYJSpuQCAzLHc&?Pn#AGVaU&IO{--7u3+ujc{Z$UyXB&*)s{ z-<`v+f$?;F3Vno%B_?_Dgz4?^U*5<6H~=N7A|WwHnxP2U%F{YTmb>&0HF*~B|K8-y zyX*ZL-PcdW@abEzf~`J~YzXGO-h0XQOLlk;d?{mQrd6Findi%si*JoTJd~!qDi!+l zxAL3V7tjklb2lwxrSqhv^5`VyH)wALUG=_tlTquD5ijdQ-Me>c!Y-;m|L2w@ZsZ3p zumW9GhJ|3ua^>oEgyi+{lUbV^%)x<*xVh2p23QkfHaaQ4CVyc686rv>n!Dy}v*Y_3WSz&iGN#t|dBV^${#= z5K$3dS1!hC7--Zs@?@fJaVke@V)EEnfq?B{{7;YlzkfPiIfVN!mU`2q-KvJ@IlcRk zZ&I~EgV}Vyii_vm@bH^LSurm`AO?uV?JBl6L-l197KS2I-n{?!zyHT2?DN%>TZC0D z)gNbl$)zH1$xq(g4ryqgq5a#UXVdX-sB_i&WLxQMr$A4S@G_fwz4=>V2qpSI{^kGv zt|2JF&s|m<=@K+)hvHSz(PINPJ=ijF&&(TIU|*T(h?25}&O6P6VV98nH-*W3!5YWQ z@6rV+mZRSoQ}^MYH>QL%W~SwU?^hKMsj5s!qqd5XQcvNk-}xEHd&@VzRC-fESzbl( zcte3Mm$FI#%@&@tF04J7_xPK#ON(z+`ajyqf9*(W#gp0vyZG;PY>}o4B0`j~fOY|~ zd*toble8yE80DDz^B;WS23h&=`}6OvtVgsg!XQuRA=)aeK z;~z-@=nL?)6?Y^iI%VCY`-iZaiuw;n=>IMMCH3k<5Ot##Exa65T1ju{A=P5NJSdH#c?uUqYLamn zfhUDn-+#!UY+dDI(mlYE-!Q;z{iF)HSV9+BT44a=p9jS?zx(Ji(ePHuQJGyG&${U8LnVIGBJj2 z1&QAy_nF5Rt5m+fyC@VsbcHgdr>KWI`vB(25eg3V_&l2u0(C<31~RQci*-GIGF5J2 zp-`&<3Z#1J!DX#>mmpk#wzEVh!H_2ZGnu#cafSQ+&ua@Pt1#|Qo`ANQflWbXHkxY2GZ$ir-C2B$Hh}kJ_&MJ+{RP;W(Jz{ zkhE|&GM(hD`xm7pQkNtbuHAY!^t5^Yg^VQTE5tlkPeF1Urr&lVsa5Fofu4;5x%b6= zLR#=U{%BRk-|j@ZY1%6{$@7SLS!=fMIj+WLiB#jfWHj9oEElU48+oKiLEeed&;zI* z!xE2dCd!cyWn`{T#zLrLQYzTON*n#(&uY0dt2Md?GFPn!yt8$i8ZqLFoQ&Wtk27^I zh0v#M4Zq7gyz2RXxd6Q0PP{tj9z4F+`Xb@S7X;O93-4T->`$iK=BD3-23e2@Qf+OG z1EIafA3=Jkpuq6zr%3qnt6XQ{_Ma*~_mr=bv77On@%RE<@kSBB~W3dp7EFmnX?bco}k@n6yYY^T;wv|Mq0TSYy0q%vs; zco*@YmrcCg_h6L6`X|H6!!OYCG7Mo`7sS$f?3m#GFdUWtVJ}zE*|oO|nWO0!&Dd2f z|8kPL{Chdg91K2djzi8}@voWY`&Ya&ih}@EIzYTKElJ>2WBu(Smy$yGHbTsa8y8Udf z@xt5IUIbNJpR8HE$sz9&eu%zk_pKr^{SG@T=YxyR6)W+d9hMJE=e)NcTy(X|uMCx} zqN!NnHm326{qfFplC=jJt-7n@G!NCV*Lo{l{;{F4Od);7b8+4CeO2S8z-NPxEvJh) zZ*hyY57}T(7XtbtYTjZtkGMKrKo=m+udk7J^%^Z-eDHU2-IE85$#qX3@FdqMJrGN- zQ>O9!s=qm#aG~qP#=T`5URjgW!mlv{2#==H1{qMT5~xV)bY2$g))v1!V)_)WohaSf zfnJo~jg;p!sOF@KK8x3}&Tf{Jvxj31N`p%RO zwY%u3wOC^G55zsOIf!m0{lO2zph0=V*M;!Y_cx;u%Y3=xfeUIf0>;C;iK*h6{-pRm z=YxOZ9KwIEO&fZX^%kk+PpG^9U3(GjsFG7+rq-Tzne>){)$(39FPc?Ca|R~o)$um- zN6D1BYun&uLM*R7g0P2ewsn+SOu1{P%&3*4tP3|tx6I#|oGK5kdFW>&Gw z_{Pz4$Sm&&>L@mXI5RKUsgrf>cRpf#ZW>U${Zi&tYN^-Om~UW7@?8f-lZqNtnDJ?S zyLVDWx7K%ebr4>zc*CzQE4^fMMi~=o-?E8!X|*Fdpw1)?mu#L2Zhd(d%ob z(vU-@mF6i!fmtoDY*WqEn1cFAt&_P7K8-*_ZmT3^Z-kY-_G`ncXVbp|=k%@5dS6r} zzsepeoN@Sp`b0B6l`DT56EX=g7kBYimo>Gk78rl6_||qre=` z+}_$OYm4_o+B`Dk>Ael=_+-{$Gx0!kf<581$&2%~&S}ErjFa@D&f4#;Pq*jY&Q5-0 zkaGcaW>c-w>WauDp^HGe>T?6(2~p_ zKucdToHyul^&EEZuR5u$3bfuXaH37Y`{PDPyg-{)`3k-TDsHdHfgsOc-mcNS6pb2+ z_AqHy&x76@VQW>19q)NBHvF~dp(!8Y_*UA|FlUtId;2mu?o`wxQ#aVQ@n|!YXNt+ff;aB z5h$R^%-T5qi5$BFz9ipgC=aHo+O~QsDzQ?vta94(YBPS8t+779_8t6|XF-2<3M`4G zF}$aK)1a(rVx9u&h8WowcEKHD#5fE0BgI$ZAK(3dvDW|gsIb^``j*u z8}(E3o88VS5r3OgchONolgm5yIfB`G`{u;b6yaxsJ5boUwe&DLoA6_&RE?zRn9!%7TbDcGn5G5~d(@q)S`L$68C%ZAO!_QX;;H+!=H4bye{_+5 zld8Pyo=2>No4h^M*)DJnXc3|${G`ZZ3PQHpc(#p1(6L9?)z;R!%v^&|PMHNO!%59t z;T*0*zkuGbJJ}w~yU5if9oj4jr)~Qznz896(#X9#;W#XOWu(S>Xw79dP=^W_l~Dy^ zfZ(I$j$rYxq;c0JqoDa(HFPoRcvfm{VhY3pAtA+)@v=DTJ`Qh9Dddr5%t<7tn~O2x zGI_=mcxlYu`Iu1>P+Kgqn;mPgn85yJTFshlS}4H*H&hc7WC_cS`(Q!ysp< zSPS#5v2klMVx$gqesVL&f8UfO2#86;x<_(aqUk}@5U^2)g5z|J!Y%h7y2#<+vlEw& zoA0*dpw3GS=KKEV@&UxHC2GQai~RONi)5v7y-a-L1Gx=Fd4<-a%LuxT$EsJ>9b_f&(JrYdhzp6EKogvQ%A})a7=*lCa1|5{;O~F0{7^B3LBnT`Zs9 zY5AqV<-Ihn(2Hw5#3Kv2h*t1jK1mcm7~puaJbyvEEPwn0-5~F-OqToVOn!ofe0i;t zX;$>vl))qBDKt0GvuIJ~WCXD3Q$gIybn+7z!ABqmX6lE z2VrMTCGyg8>y>%bEnYY(3*x2kOE3XT2=6$aBQ%8n z=EV0$hL3A2ii12SCXnuVr-Yp-ouKmVmi^^k_TcLzq&yd`_maEL?mF_CqHOD`O2^GH zdzW+9jcZ+|=Y+gSGuQBD4UrbPvl&^E5+NIX)D!k~;!uOYgw$p}Ah6fgQDz` zbyo!KqmVz9uTibIHp0+nY3|*xa}T%QiNp1fjOTkBJIzxhgBN?j=SzxVb2xZ?>v^{% zX==w^C-9ZjeW#dAs3s9667=Bg#JL?Bun6dhiUc>(ek-!6J||9vMamz1duwHNSME?Z zfztGvtYE;Ng`(+Wjk$*6iPftLwy$j@$+X5#7r}SxqMz3enkGiX zffoMqv>vC+&F!PN$W?YV{d!_T=U;V;k8)~H`ZuY4+gju*a5#h({l|;xkkgj&!gNsZ z99!;Ty$*Hou3@lYav;t>En;_f_o18|sPdxsu6KvUWZ+;Df~w=>3px^zNNy06Jz3}J zmhA9!J(}zAcQ!U?n}&H?;3WdkvP*Flqw)`L)scSJcy6ujw4&u@<&abfLR*fX1bU>& zyT#K(o-CF(@Fu55@2xcF?$;OC&1v~#fDIVPHJQR7DB3h=22#3FG4n5)t9@CX!f8D| zW@(^)W6 z@L!fr0MmRcqR5f}$3AW5BhYr`9CwNh9&RjyaYq$9wF&1AQu{wB!o)aT{LZqOM@}{< zA|@&fVH0GYyeF_H)%s)24qnM$Cl>iDsyyYu3&rSK^Mo^FT^oB;lU^flk-@m@rU-{; zK@3GnOi<5W`z z6-d+C33Tst9{nA98sM&;uy=6w>vWN?m2}OVadD?t@j?00(Mn#}!Eu5{@Jq)KznyOs z;XDa4kL2(VbSOJ+8D=ql8Uhj|D?EWwqwv;Q1Zsi!@N?{yE{%%*r4)s!XhY03ZI-*F>FR2;&}MrC6_{$yiTHi z*1U|k$Zv@i^NMdUWA90MAk*xW#ALD87}IVX@q28Dw00~)cYZveLkU>A;1Y3?Q=knT zB>>DMpNRrG*G~60gO(ZdsJTvd6eDeNPJh*5&-paN`p%rCSaskTQN5qgA)(W2aNS3j>qxG@LPeF9dp`^yOD`R|12Jzxlw=WGf%H9N?JGk2*!?)+M?kJizMw=k6?>4*=E zDVMAcUdifKVF|3bKU?Ffd^F@u#JT(!RSOpqy^*F+lH;e|=m)@PFqq&(&bgqZPrrVX zojryMek*hctq|2vR_yMV^3iDmqvP+zSt6x3!``Tym7CMZ36xm=Zn(~shaXp*I5cq% z+>-5*Y(LI%*?YkkF|>U66}Va@yW|Ora|R`T`^zkHB2Jcm);XmtdGKLRbdc2V_3(2%yxdJ6Sw6TKZQ*3H78W5^l^P06QiLmgWiRn&QnJk{T4LS)i zNC14=omM2inhqh2%Rs70&ff%t?Xfk!`*&Pp#tXZNIvp0%OSQz!m-Da0xzuje3bkTB zN=7zZ-coEQg#LR{yPeBM?nK_YH6pVWf;>y>xGQ&(cnvX3X2e;_u>RxFL;uBS-i0o( zbpNE>pn-)LUM%UQ>C_qf4UdwqY>!`AZ%}8uZ3cGPC{CDc2o3KAmE?kCXMo5

<8a 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 z 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�!-96IpoxeI|J!8+sHuo9!`%(E@F}m?h1p4&X~ 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⁡(83d;()+Gspl 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 literal 0 HcmV?d00001 From cd0c31097773713c2d88cd43117a71ab360550a2 Mon Sep 17 00:00:00 2001 From: GitHub Action Date: Tue, 26 Nov 2024 18:05:42 +0000 Subject: [PATCH 10/21] chore: update langfuse_github_discussions.json --- src/langfuse_github_discussions.json | 15915 +++++++++++++------------ 1 file changed, 7967 insertions(+), 7948 deletions(-) diff --git a/src/langfuse_github_discussions.json b/src/langfuse_github_discussions.json index f287b7faa..9fe59a713 100644 --- a/src/langfuse_github_discussions.json +++ b/src/langfuse_github_discussions.json @@ -1,6581 +1,6540 @@ { - "updated_at": "2024-11-26T12:07:18.942518+00:00", + "updated_at": "2024-11-26T18:05:42.147740+00:00", "categories": [ { - "category": "Ideas", + "category": "Support", "discussions": [ { - "number": 4430, - "title": "Feature request: CRUD for Prompt API", - "href": "https://github.com/orgs/langfuse/discussions/4430", - "created_at": "2024-11-26T08:42:39Z", + "number": 4438, + "title": "Observability with concurrent threads", + "href": "https://github.com/orgs/langfuse/discussions/4438", + "created_at": "2024-11-26T17:08:01Z", + "upvotes": 0, + "comment_count": 2, + "resolved": true, + "labels": [ + "integration-python-decorator" + ], + "author": { + "login": "DavideSanvito", + "html_url": "https://github.com/DavideSanvito" + }, + "category": "Support" + }, + { + "number": 4429, + "title": "Is there a way to rotate traces and generations?", + "href": "https://github.com/orgs/langfuse/discussions/4429", + "created_at": "2024-11-26T03:17:35Z", "upvotes": 1, - "comment_count": 0, - "resolved": false, + "comment_count": 1, + "resolved": true, "labels": [], "author": { - "login": "barseghyanartur", - "html_url": "https://github.com/barseghyanartur" + "login": "woung717", + "html_url": "https://github.com/woung717" }, - "category": "Ideas" + "category": "Support" }, { - "number": 4414, - "title": "langfuse-python: simple static method listing prompt template var names", - "href": "https://github.com/orgs/langfuse/discussions/4414", - "created_at": "2024-11-25T16:28:05Z", + "number": 4418, + "title": "Cannot use prompt experiments \"No dataset item contains any variables\"", + "href": "https://github.com/orgs/langfuse/discussions/4418", + "created_at": "2024-11-25T20:32:59Z", "upvotes": 1, - "comment_count": 1, - "resolved": false, + "comment_count": 3, + "resolved": true, "labels": [ - "feat-prompt-management" + "feat-prompt-experiments" ], "author": { - "login": "rhighs", - "html_url": "https://github.com/rhighs" + "login": "j10sanders", + "html_url": "https://github.com/j10sanders" }, - "category": "Ideas" + "category": "Support" }, { - "number": 4397, - "title": "n8n Integration", - "href": "https://github.com/orgs/langfuse/discussions/4397", - "created_at": "2024-11-24T09:43:01Z", - "upvotes": 1, - "comment_count": 0, + "number": 4417, + "title": "does token & cost counting take into consideration prompt caching, eg openai prompt caching?", + "href": "https://github.com/orgs/langfuse/discussions/4417", + "created_at": "2024-11-25T19:59:13Z", + "upvotes": 2, + "comment_count": 2, "resolved": false, - "labels": [], + "labels": [ + "feat-cost-tracking" + ], "author": { - "login": "aibucketmail", - "html_url": "https://github.com/aibucketmail" + "login": "dwstevens", + "html_url": "https://github.com/dwstevens" }, - "category": "Ideas" + "category": "Support" }, { - "number": 4381, - "title": "Feature Request: Add Tagging Pipelines for Evaluation-Based Tagging", - "href": "https://github.com/orgs/langfuse/discussions/4381", - "created_at": "2024-11-22T03:44:17Z", + "number": 4413, + "title": "Help needed with CustomSSOProvider Configuration for GitHub Enterprise", + "href": "https://github.com/orgs/langfuse/discussions/4413", + "created_at": "2024-11-25T15:30:23Z", "upvotes": 1, - "comment_count": 0, + "comment_count": 3, "resolved": false, - "labels": [], + "labels": [ + "feat-auth", + "self-hosting" + ], "author": { - "login": "wesleyearlstander", - "html_url": "https://github.com/wesleyearlstander" + "login": "jay0129", + "html_url": "https://github.com/jay0129" }, - "category": "Ideas" + "category": "Support" }, { - "number": 4380, - "title": "Adding types for evals in Langfuse", - "href": "https://github.com/orgs/langfuse/discussions/4380", - "created_at": "2024-11-22T03:35:26Z", + "number": 4393, + "title": "Openai JS: Tracing for multiple iterations and tool calling", + "href": "https://github.com/orgs/langfuse/discussions/4393", + "created_at": "2024-11-23T06:57:40Z", "upvotes": 1, "comment_count": 1, - "resolved": false, - "labels": [], + "resolved": true, + "labels": [ + "integration-openai" + ], "author": { - "login": "wesleyearlstander", - "html_url": "https://github.com/wesleyearlstander" + "login": "uhhfeef", + "html_url": "https://github.com/uhhfeef" }, - "category": "Ideas" + "category": "Support" }, { - "number": 4372, - "title": "LaTex Rendering", - "href": "https://github.com/orgs/langfuse/discussions/4372", - "created_at": "2024-11-21T22:06:07Z", + "number": 4389, + "title": "Does Langfuse tracing work in Vercel edge functions?", + "href": "https://github.com/orgs/langfuse/discussions/4389", + "created_at": "2024-11-22T22:41:52Z", "upvotes": 1, "comment_count": 0, "resolved": false, "labels": [], "author": { - "login": "wesleyearlstander", - "html_url": "https://github.com/wesleyearlstander" + "login": "holdenmatt", + "html_url": "https://github.com/holdenmatt" }, - "category": "Ideas" + "category": "Support" }, { - "number": 4353, - "title": "Datasets: Add selection of traces to a dataset", - "href": "https://github.com/orgs/langfuse/discussions/4353", - "created_at": "2024-11-21T08:56:15Z", + "number": 4388, + "title": "How to completely discard image with new multi-modal system?", + "href": "https://github.com/orgs/langfuse/discussions/4388", + "created_at": "2024-11-22T18:56:07Z", "upvotes": 1, - "comment_count": 0, + "comment_count": 2, "resolved": false, - "labels": [ - "feat-datasets" - ], + "labels": [], "author": { - "login": "jannikmaierhoefer", - "html_url": "https://github.com/jannikmaierhoefer" + "login": "bioshazard", + "html_url": "https://github.com/bioshazard" }, - "category": "Ideas" + "category": "Support" }, { - "number": 4348, - "title": "Multi-user annotation capability in Score Configs", - "href": "https://github.com/orgs/langfuse/discussions/4348", - "created_at": "2024-11-20T19:16:38Z", + "number": 4374, + "title": "Error while migrating schema", + "href": "https://github.com/orgs/langfuse/discussions/4374", + "created_at": "2024-11-21T22:39:36Z", "upvotes": 1, "comment_count": 2, - "resolved": false, - "labels": [ - "feat-annotation" - ], + "resolved": true, + "labels": [], "author": { - "login": "juanmleng", - "html_url": "https://github.com/juanmleng" + "login": "geek1s42", + "html_url": "https://github.com/geek1s42" }, - "category": "Ideas" + "category": "Support" }, { - "number": 4342, - "title": "Feature request: Lifecycle hooks in LangFuse", - "href": "https://github.com/orgs/langfuse/discussions/4342", - "created_at": "2024-11-20T14:23:44Z", + "number": 4373, + "title": "Silent failure when attempting adding scores to trace", + "href": "https://github.com/orgs/langfuse/discussions/4373", + "created_at": "2024-11-21T22:18:26Z", "upvotes": 1, - "comment_count": 1, - "resolved": false, + "comment_count": 2, + "resolved": true, "labels": [], "author": { - "login": "barseghyanartur", - "html_url": "https://github.com/barseghyanartur" + "login": "bioshazard", + "html_url": "https://github.com/bioshazard" }, - "category": "Ideas" + "category": "Support" }, { - "number": 4340, - "title": "RBAC: Restriction based on trace tags/metadata", - "href": "https://github.com/orgs/langfuse/discussions/4340", - "created_at": "2024-11-20T12:32:40Z", - "upvotes": 2, - "comment_count": 0, - "resolved": false, + "number": 4365, + "title": "Not able to see traces", + "href": "https://github.com/orgs/langfuse/discussions/4365", + "created_at": "2024-11-21T16:56:26Z", + "upvotes": 1, + "comment_count": 2, + "resolved": true, "labels": [], "author": { - "login": "jannikmaierhoefer", - "html_url": "https://github.com/jannikmaierhoefer" + "login": "uhhfeef", + "html_url": "https://github.com/uhhfeef" }, - "category": "Ideas" + "category": "Support" }, { - "number": 4332, - "title": "Trace Table: Ability to sort table by score", - "href": "https://github.com/orgs/langfuse/discussions/4332", - "created_at": "2024-11-20T10:27:38Z", - "upvotes": 2, - "comment_count": 0, - "resolved": false, + "number": 4363, + "title": "Langchain with ChatVertexAI: Image/Audio Input Not Displayed in Dashboard with Multi-Modal Traces", + "href": "https://github.com/orgs/langfuse/discussions/4363", + "created_at": "2024-11-21T16:41:35Z", + "upvotes": 1, + "comment_count": 2, + "resolved": true, "labels": [], "author": { - "login": "jannikmaierhoefer", - "html_url": "https://github.com/jannikmaierhoefer" + "login": "pleomax0730", + "html_url": "https://github.com/pleomax0730" }, - "category": "Ideas" + "category": "Support" }, { - "number": 4322, - "title": "Add the ability to remove tags from traces via the SDK/API", - "href": "https://github.com/orgs/langfuse/discussions/4322", - "created_at": "2024-11-19T20:09:18Z", - "upvotes": 2, - "comment_count": 0, - "resolved": false, + "number": 4361, + "title": "Is downgrade available for self-hosted version?", + "href": "https://github.com/orgs/langfuse/discussions/4361", + "created_at": "2024-11-21T15:52:18Z", + "upvotes": 1, + "comment_count": 1, + "resolved": true, "labels": [], "author": { - "login": "justinwiley", - "html_url": "https://github.com/justinwiley" + "login": "skabbit", + "html_url": "https://github.com/skabbit" }, - "category": "Ideas" + "category": "Support" }, { - "number": 4316, - "title": "Prompt Changelog Management", - "href": "https://github.com/orgs/langfuse/discussions/4316", - "created_at": "2024-11-19T14:32:33Z", - "upvotes": 3, - "comment_count": 0, - "resolved": false, - "labels": [], - "author": { - "login": "alexander-abramovich", - "html_url": "https://github.com/alexander-abramovich" + "number": 4359, + "title": "Unexpected error occurred", + "href": "https://github.com/orgs/langfuse/discussions/4359", + "created_at": "2024-11-21T14:21:11Z", + "upvotes": 1, + "comment_count": 1, + "resolved": true, + "labels": [ + "self-hosting" + ], + "author": { + "login": "jguokion", + "html_url": "https://github.com/jguokion" }, - "category": "Ideas" + "category": "Support" }, { - "number": 4315, - "title": "Smartly integrate with prompt templating tools (like Jinja templating engine)", - "href": "https://github.com/orgs/langfuse/discussions/4315", - "created_at": "2024-11-19T14:30:42Z", - "upvotes": 2, - "comment_count": 0, + "number": 4358, + "title": "Tracing of Async Tasks in Agentic Workflow", + "href": "https://github.com/orgs/langfuse/discussions/4358", + "created_at": "2024-11-21T10:46:31Z", + "upvotes": 1, + "comment_count": 2, "resolved": false, "labels": [], "author": { - "login": "alexander-abramovich", - "html_url": "https://github.com/alexander-abramovich" + "login": "ashish-vwo", + "html_url": "https://github.com/ashish-vwo" }, - "category": "Ideas" + "category": "Support" }, { - "number": 4314, - "title": "Making prompt editing eye-pleasing and less error-prown", - "href": "https://github.com/orgs/langfuse/discussions/4314", - "created_at": "2024-11-19T14:24:29Z", - "upvotes": 2, - "comment_count": 0, + "number": 4352, + "title": "Send metrics to ELK", + "href": "https://github.com/orgs/langfuse/discussions/4352", + "created_at": "2024-11-21T05:57:10Z", + "upvotes": 1, + "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "alexander-abramovich", - "html_url": "https://github.com/alexander-abramovich" + "login": "Kratemis", + "html_url": "https://github.com/Kratemis" }, - "category": "Ideas" + "category": "Support" }, { - "number": 4304, - "title": "Prompt Management: Metadata for Prompt Versions", - "href": "https://github.com/orgs/langfuse/discussions/4304", - "created_at": "2024-11-19T08:39:27Z", - "upvotes": 7, - "comment_count": 2, + "number": 4331, + "title": "UserIds missing on some traces", + "href": "https://github.com/orgs/langfuse/discussions/4331", + "created_at": "2024-11-20T08:27:01Z", + "upvotes": 1, + "comment_count": 3, "resolved": false, - "labels": [ - "feat-prompt-management" - ], + "labels": [], "author": { - "login": "jannikmaierhoefer", - "html_url": "https://github.com/jannikmaierhoefer" + "login": "takefy-dev", + "html_url": "https://github.com/takefy-dev" }, - "category": "Ideas" + "category": "Support" }, { - "number": 4303, - "title": "Exporting comments", - "href": "https://github.com/orgs/langfuse/discussions/4303", - "created_at": "2024-11-19T06:59:31Z", + "number": 4330, + "title": "Request for Simplified Custom `trace_id` Implementation in `CallbackHandler` for LangServe", + "href": "https://github.com/orgs/langfuse/discussions/4330", + "created_at": "2024-11-20T07:55:51Z", "upvotes": 1, "comment_count": 1, "resolved": false, - "labels": [], + "labels": [ + "integration-langchain" + ], "author": { - "login": "jamesyu", - "html_url": "https://github.com/jamesyu" + "login": "wertycn", + "html_url": "https://github.com/wertycn" }, - "category": "Ideas" + "category": "Support" }, { - "number": 4301, - "title": "[Feature Request] API to Remove or Update Trace Tags", - "href": "https://github.com/orgs/langfuse/discussions/4301", - "created_at": "2024-11-19T02:41:13Z", + "number": 4309, + "title": "Langchain//Langgraph prompt link", + "href": "https://github.com/orgs/langfuse/discussions/4309", + "created_at": "2024-11-19T11:18:16Z", "upvotes": 1, - "comment_count": 0, - "resolved": false, - "labels": [], + "comment_count": 3, + "resolved": true, + "labels": [ + "feat-prompt-management", + "integration-langchain" + ], "author": { - "login": "0xcodedead", - "html_url": "https://github.com/0xcodedead" + "login": "BuragaIonut", + "html_url": "https://github.com/BuragaIonut" }, - "category": "Ideas" + "category": "Support" }, { - "number": 4299, - "title": "Add XML/tree viewer to playground and trace viewer", - "href": "https://github.com/orgs/langfuse/discussions/4299", - "created_at": "2024-11-19T01:12:03Z", + "number": 4293, + "title": "slower than expected langfuse_context.update_current_observation operation?", + "href": "https://github.com/orgs/langfuse/discussions/4293", + "created_at": "2024-11-18T17:00:12Z", "upvotes": 1, - "comment_count": 0, - "resolved": false, + "comment_count": 2, + "resolved": true, "labels": [], "author": { - "login": "jeff-an", - "html_url": "https://github.com/jeff-an" + "login": "nikcaryo-super", + "html_url": "https://github.com/nikcaryo-super" }, - "category": "Ideas" + "category": "Support" }, { - "number": 4280, - "title": "Increase character limit of comments in Langfuse", - "href": "https://github.com/orgs/langfuse/discussions/4280", - "created_at": "2024-11-18T11:20:06Z", + "number": 4286, + "title": "Langfuse returning a internal server error message sometimes", + "href": "https://github.com/orgs/langfuse/discussions/4286", + "created_at": "2024-11-18T13:37:41Z", "upvotes": 1, - "comment_count": 0, + "comment_count": 2, "resolved": false, "labels": [], "author": { - "login": "jannikmaierhoefer", - "html_url": "https://github.com/jannikmaierhoefer" + "login": "nithin1995", + "html_url": "https://github.com/nithin1995" }, - "category": "Ideas" + "category": "Support" }, { - "number": 4276, - "title": "Enh prompt management system", - "href": "https://github.com/orgs/langfuse/discussions/4276", - "created_at": "2024-11-17T21:50:06Z", + "number": 4284, + "title": "Update prompt label programatically", + "href": "https://github.com/orgs/langfuse/discussions/4284", + "created_at": "2024-11-18T13:18:06Z", "upvotes": 1, "comment_count": 1, - "resolved": false, - "labels": [], + "resolved": true, + "labels": [ + "feat-prompt-management" + ], "author": { - "login": "flefevre", - "html_url": "https://github.com/flefevre" + "login": "nikitagupta5566", + "html_url": "https://github.com/nikitagupta5566" }, - "category": "Ideas" + "category": "Support" }, { - "number": 4268, - "title": "Support image messages in the playground", - "href": "https://github.com/orgs/langfuse/discussions/4268", - "created_at": "2024-11-17T01:02:48Z", + "number": 4281, + "title": "Preventing Input and Output Capture for GENERATION span in Langfuse", + "href": "https://github.com/orgs/langfuse/discussions/4281", + "created_at": "2024-11-18T11:23:08Z", "upvotes": 1, - "comment_count": 1, - "resolved": false, + "comment_count": 2, + "resolved": true, "labels": [], "author": { - "login": "jeff-an", - "html_url": "https://github.com/jeff-an" + "login": "ootkin", + "html_url": "https://github.com/ootkin" }, - "category": "Ideas" + "category": "Support" }, { - "number": 4263, - "title": "Extend RBAC to Include Teams and Refine Permissions for Prompt Management", - "href": "https://github.com/orgs/langfuse/discussions/4263", - "created_at": "2024-11-16T04:22:27Z", + "number": 4262, + "title": "why setup trace is showing SETUP Tracing Pending always and Trace doesn't show in dashboard", + "href": "https://github.com/orgs/langfuse/discussions/4262", + "created_at": "2024-11-15T23:49:20Z", "upvotes": 1, - "comment_count": 0, - "resolved": false, + "comment_count": 1, + "resolved": true, "labels": [], "author": { - "login": "flefevre", - "html_url": "https://github.com/flefevre" + "login": "msgateway", + "html_url": "https://github.com/msgateway" }, - "category": "Ideas" + "category": "Support" }, { - "number": 4258, - "title": "Automatically Trace from Playground", - "href": "https://github.com/orgs/langfuse/discussions/4258", - "created_at": "2024-11-15T18:58:05Z", + "number": 4261, + "title": "Disable tracing for certain calls", + "href": "https://github.com/orgs/langfuse/discussions/4261", + "created_at": "2024-11-15T22:54:27Z", "upvotes": 1, - "comment_count": 0, - "resolved": false, + "comment_count": 1, + "resolved": true, "labels": [], "author": { - "login": "Chinoman10", - "html_url": "https://github.com/Chinoman10" + "login": "yliuaaron", + "html_url": "https://github.com/yliuaaron" }, - "category": "Ideas" + "category": "Support" }, { - "number": 4247, - "title": "Reset LangfuseDecorator context to allow nested traces", - "href": "https://github.com/orgs/langfuse/discussions/4247", - "created_at": "2024-11-15T09:59:28Z", - "upvotes": 2, - "comment_count": 0, + "number": 4259, + "title": "Custom trace properties in AsyncOpenAI", + "href": "https://github.com/orgs/langfuse/discussions/4259", + "created_at": "2024-11-15T19:50:10Z", + "upvotes": 1, + "comment_count": 2, "resolved": false, "labels": [], "author": { - "login": "vitalii-diachkov-sumup", - "html_url": "https://github.com/vitalii-diachkov-sumup" + "login": "yliuaaron", + "html_url": "https://github.com/yliuaaron" }, - "category": "Ideas" + "category": "Support" }, { - "number": 4212, - "title": "Disable authentication in self-hosted deployments", - "href": "https://github.com/orgs/langfuse/discussions/4212", - "created_at": "2024-11-13T13:32:11Z", - "upvotes": 2, - "comment_count": 1, + "number": 4231, + "title": "Langfuse overwriting ingested usage for gpt-4o-mini models & incorrect inferred usage for low-detail image data", + "href": "https://github.com/orgs/langfuse/discussions/4231", + "created_at": "2024-11-14T12:29:51Z", + "upvotes": 1, + "comment_count": 2, "resolved": false, "labels": [ - "feat-auth", - "self-hosting" - ], + "integration-openai", + "feat-cost-tracking" + ], "author": { - "login": "mariusp12", - "html_url": "https://github.com/mariusp12" + "login": "LastRemote", + "html_url": "https://github.com/LastRemote" }, - "category": "Ideas" + "category": "Support" }, { - "number": 4208, - "title": "Multi-turn / session experiments in datasets", - "href": "https://github.com/orgs/langfuse/discussions/4208", - "created_at": "2024-11-13T11:43:31Z", + "number": 4228, + "title": "Why my langgrpahjs agent can't show token", + "href": "https://github.com/orgs/langfuse/discussions/4228", + "created_at": "2024-11-14T08:46:36Z", "upvotes": 1, - "comment_count": 1, - "resolved": false, + "comment_count": 2, + "resolved": true, "labels": [ - "feat-datasets" + "integration-langchain" ], "author": { - "login": "bartsimo", - "html_url": "https://github.com/bartsimo" + "login": "VittorioYan", + "html_url": "https://github.com/VittorioYan" }, - "category": "Ideas" + "category": "Support" }, { - "number": 4189, - "title": "feat: add support for SSR to allow runtime BASE_PATH", - "href": "https://github.com/orgs/langfuse/discussions/4189", - "created_at": "2024-11-12T12:39:25Z", - "upvotes": 2, - "comment_count": 1, + "number": 4223, + "title": "How/which environment var do I need to set to get OAuth2.0 authentication flow?", + "href": "https://github.com/orgs/langfuse/discussions/4223", + "created_at": "2024-11-13T19:57:27Z", + "upvotes": 1, + "comment_count": 3, "resolved": false, "labels": [ "self-hosting" ], "author": { - "login": "sinux-l5d", - "html_url": "https://github.com/sinux-l5d" + "login": "itay-moav", + "html_url": "https://github.com/itay-moav" }, - "category": "Ideas" + "category": "Support" }, { - "number": 4168, - "title": "Centralized API Key Management with Secret Store Integration (e.g. HashiCorp Vault)", - "href": "https://github.com/orgs/langfuse/discussions/4168", - "created_at": "2024-11-11T11:11:10Z", + "number": 4213, + "title": "Is there a way to keep database connections open longer?", + "href": "https://github.com/orgs/langfuse/discussions/4213", + "created_at": "2024-11-13T13:53:25Z", "upvotes": 1, "comment_count": 2, "resolved": false, "labels": [ - "security", "self-hosting" ], "author": { - "login": "bikram42", - "html_url": "https://github.com/bikram42" + "login": "tomi-bigpi", + "html_url": "https://github.com/tomi-bigpi" }, - "category": "Ideas" + "category": "Support" }, { - "number": 4166, - "title": "Allow sending events to multiple LF projects within one client app", - "href": "https://github.com/orgs/langfuse/discussions/4166", - "created_at": "2024-11-11T10:51:01Z", + "number": 4205, + "title": "Tokenizer config for Qwen 2.5 models", + "href": "https://github.com/orgs/langfuse/discussions/4205", + "created_at": "2024-11-13T08:05:03Z", "upvotes": 1, "comment_count": 2, "resolved": false, "labels": [], "author": { - "login": "snopoke", - "html_url": "https://github.com/snopoke" + "login": "mediumsizeworkingdog", + "html_url": "https://github.com/mediumsizeworkingdog" }, - "category": "Ideas" + "category": "Support" }, { - "number": 4165, - "title": "Another glimpse into prompt management in LangFuse", - "href": "https://github.com/orgs/langfuse/discussions/4165", - "created_at": "2024-11-11T10:20:18Z", + "number": 4197, + "title": "[Generations]: Support n parameter", + "href": "https://github.com/orgs/langfuse/discussions/4197", + "created_at": "2024-11-12T18:58:32Z", "upvotes": 1, "comment_count": 1, "resolved": false, "labels": [ - "feat-prompt-management" + "integration-openai" ], "author": { - "login": "barseghyanartur", - "html_url": "https://github.com/barseghyanartur" + "login": "ngamolsky", + "html_url": "https://github.com/ngamolsky" }, - "category": "Ideas" + "category": "Support" }, { - "number": 4154, - "title": "Feature Request: Enable Invites with `AUTH_DISABLE_SIGNUP` (or/and GitHub OAuth for a given organization)", - "href": "https://github.com/orgs/langfuse/discussions/4154", - "created_at": "2024-11-10T15:04:41Z", - "upvotes": 3, - "comment_count": 1, - "resolved": false, + "number": 4179, + "title": "Is there a way to get process to exit on DB connection errors when rotating database passwords?", + "href": "https://github.com/orgs/langfuse/discussions/4179", + "created_at": "2024-11-11T21:55:56Z", + "upvotes": 1, + "comment_count": 3, + "resolved": true, "labels": [ - "feat-auth", "self-hosting" ], "author": { - "login": "shner-elmo", - "html_url": "https://github.com/shner-elmo" + "login": "tomi-bigpi", + "html_url": "https://github.com/tomi-bigpi" }, - "category": "Ideas" + "category": "Support" }, { - "number": 4143, - "title": "Getting prompts using LiteLLM syntax", - "href": "https://github.com/orgs/langfuse/discussions/4143", - "created_at": "2024-11-09T17:01:10Z", + "number": 4178, + "title": "How to update a score?", + "href": "https://github.com/orgs/langfuse/discussions/4178", + "created_at": "2024-11-11T21:48:51Z", "upvotes": 1, - "comment_count": 0, - "resolved": false, - "labels": [], + "comment_count": 1, + "resolved": true, + "labels": [ + "feat-scores" + ], "author": { - "login": "doasfrancisco", - "html_url": "https://github.com/doasfrancisco" + "login": "leichx", + "html_url": "https://github.com/leichx" }, - "category": "Ideas" + "category": "Support" }, { - "number": 4129, - "title": "Annotation Queue: Display trace id", - "href": "https://github.com/orgs/langfuse/discussions/4129", - "created_at": "2024-11-08T16:14:00Z", + "number": 4172, + "title": "TypeError: LangfuseTracer.trace() got an unexpected keyword argument 'parent_span'", + "href": "https://github.com/orgs/langfuse/discussions/4172", + "created_at": "2024-11-11T13:31:14Z", "upvotes": 1, - "comment_count": 0, - "resolved": false, - "labels": [], + "comment_count": 2, + "resolved": true, + "labels": [ + "integration-haystack" + ], "author": { - "login": "jannikmaierhoefer", - "html_url": "https://github.com/jannikmaierhoefer" + "login": "schwasa", + "html_url": "https://github.com/schwasa" }, - "category": "Ideas" + "category": "Support" }, { - "number": 4121, - "title": "Enable to use variable of prompt on evaluator.", - "href": "https://github.com/orgs/langfuse/discussions/4121", - "created_at": "2024-11-08T09:16:28Z", - "upvotes": 3, - "comment_count": 1, - "resolved": false, + "number": 4169, + "title": "Tenant based prompt management ?", + "href": "https://github.com/orgs/langfuse/discussions/4169", + "created_at": "2024-11-11T11:22:21Z", + "upvotes": 1, + "comment_count": 2, + "resolved": true, "labels": [ - "feat-evals" + "feat-prompt-management" ], "author": { - "login": "takryo00", - "html_url": "https://github.com/takryo00" + "login": "PreetamGKatakali", + "html_url": "https://github.com/PreetamGKatakali" }, - "category": "Ideas" + "category": "Support" }, { - "number": 4120, - "title": "Sessions Table: Scores Column", - "href": "https://github.com/orgs/langfuse/discussions/4120", - "created_at": "2024-11-08T08:58:10Z", - "upvotes": 5, - "comment_count": 0, + "number": 4134, + "title": "LangGraph traces cause self-hosted instance to hang", + "href": "https://github.com/orgs/langfuse/discussions/4134", + "created_at": "2024-11-08T22:54:34Z", + "upvotes": 1, + "comment_count": 2, "resolved": false, "labels": [ - "feat-sessions" + "integration-langchain" ], "author": { - "login": "jannikmaierhoefer", - "html_url": "https://github.com/jannikmaierhoefer" + "login": "rishimo", + "html_url": "https://github.com/rishimo" }, - "category": "Ideas" + "category": "Support" }, { - "number": 4110, - "title": "Sort functionality in Users page", - "href": "https://github.com/orgs/langfuse/discussions/4110", - "created_at": "2024-11-07T19:43:07Z", + "number": 4123, + "title": "Block strangers from signing in to your app", + "href": "https://github.com/orgs/langfuse/discussions/4123", + "created_at": "2024-11-08T10:14:08Z", "upvotes": 1, - "comment_count": 0, - "resolved": false, + "comment_count": 2, + "resolved": true, "labels": [], "author": { - "login": "sal-dti", - "html_url": "https://github.com/sal-dti" + "login": "shner-elmo", + "html_url": "https://github.com/shner-elmo" }, - "category": "Ideas" + "category": "Support" }, { - "number": 4106, - "title": "Add new filters for the LLM as a Judge Evaluation (other scores and cost)", - "href": "https://github.com/orgs/langfuse/discussions/4106", - "created_at": "2024-11-07T14:44:31Z", + "number": 4119, + "title": "Can we use Langfuse without any Authentication enabled?", + "href": "https://github.com/orgs/langfuse/discussions/4119", + "created_at": "2024-11-08T08:32:30Z", "upvotes": 1, "comment_count": 1, - "resolved": false, - "labels": [ - "feat-evals" - ], + "resolved": true, + "labels": [], "author": { - "login": "laisalvescw", - "html_url": "https://github.com/laisalvescw" + "login": "SudhaGarimella", + "html_url": "https://github.com/SudhaGarimella" }, - "category": "Ideas" + "category": "Support" }, { - "number": 4103, - "title": "Prompt Management: Deployment level view", - "href": "https://github.com/orgs/langfuse/discussions/4103", - "created_at": "2024-11-07T12:40:07Z", - "upvotes": 2, + "number": 4118, + "title": "Can I evaluate Span using the External Evaluation Pipeline?", + "href": "https://github.com/orgs/langfuse/discussions/4118", + "created_at": "2024-11-08T08:04:55Z", + "upvotes": 1, "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [ - "feat-prompt-management" + "feat-evals" ], "author": { - "login": "jannikmaierhoefer", - "html_url": "https://github.com/jannikmaierhoefer" + "login": "ygt1qa8", + "html_url": "https://github.com/ygt1qa8" }, - "category": "Ideas" + "category": "Support" }, { - "number": 4102, - "title": "Prompt Management: labels in prompt table", - "href": "https://github.com/orgs/langfuse/discussions/4102", - "created_at": "2024-11-07T12:38:00Z", - "upvotes": 2, - "comment_count": 0, + "number": 4117, + "title": "ERROR - An error occurred: 'function' object is not subscriptable", + "href": "https://github.com/orgs/langfuse/discussions/4117", + "created_at": "2024-11-08T04:51:09Z", + "upvotes": 1, + "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "jannikmaierhoefer", - "html_url": "https://github.com/jannikmaierhoefer" + "login": "MazarSayed", + "html_url": "https://github.com/MazarSayed" }, - "category": "Ideas" + "category": "Support" }, { - "number": 4099, - "title": "Does LangFuse support a (declarative) plugin architecture?", - "href": "https://github.com/orgs/langfuse/discussions/4099", - "created_at": "2024-11-07T11:27:39Z", + "number": 4116, + "title": "How can I implement a knowledge base and multi-turn file dialogue with pip deployment?! How does this “history” work?", + "href": "https://github.com/orgs/langfuse/discussions/4116", + "created_at": "2024-11-08T03:05:40Z", "upvotes": 1, - "comment_count": 1, - "resolved": false, + "comment_count": 2, + "resolved": true, "labels": [], "author": { - "login": "barseghyanartur", - "html_url": "https://github.com/barseghyanartur" + "login": "SKKKKYLAR", + "html_url": "https://github.com/SKKKKYLAR" }, - "category": "Ideas" + "category": "Support" }, { - "number": 4097, - "title": "More Granular Target Objects for Langfuse Evaluators", - "href": "https://github.com/orgs/langfuse/discussions/4097", - "created_at": "2024-11-07T10:00:11Z", + "number": 4115, + "title": "Configure LangFuse Project within CallbackHandler", + "href": "https://github.com/orgs/langfuse/discussions/4115", + "created_at": "2024-11-07T23:19:13Z", "upvotes": 1, - "comment_count": 0, - "resolved": false, - "labels": [], + "comment_count": 2, + "resolved": true, + "labels": [ + "integration-langchain" + ], "author": { - "login": "qrosseel", - "html_url": "https://github.com/qrosseel" + "login": "krlng", + "html_url": "https://github.com/krlng" }, - "category": "Ideas" + "category": "Support" }, { - "number": 4096, - "title": "Evaluator CRUD in UI and API", - "href": "https://github.com/orgs/langfuse/discussions/4096", - "created_at": "2024-11-07T09:46:01Z", + "number": 4091, + "title": "Openwebui and langfuse", + "href": "https://github.com/orgs/langfuse/discussions/4091", + "created_at": "2024-11-06T22:21:43Z", "upvotes": 1, "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [], "author": { - "login": "qrosseel", - "html_url": "https://github.com/qrosseel" + "login": "flefevre", + "html_url": "https://github.com/flefevre" }, - "category": "Ideas" + "category": "Support" }, { - "number": 4078, - "title": "Specify data masking on decorator itself", - "href": "https://github.com/orgs/langfuse/discussions/4078", - "created_at": "2024-11-06T14:00:47Z", + "number": 4090, + "title": "Configuring logging", + "href": "https://github.com/orgs/langfuse/discussions/4090", + "created_at": "2024-11-06T21:39:03Z", "upvotes": 1, - "comment_count": 0, - "resolved": false, - "labels": [ - "integration-python-decorator", - "feat-data-masking" - ], + "comment_count": 5, + "resolved": true, + "labels": [], "author": { - "login": "marcklingen", - "html_url": "https://github.com/marcklingen" + "login": "pcoccoli", + "html_url": "https://github.com/pcoccoli" }, - "category": "Ideas" + "category": "Support" }, { - "number": 4077, - "title": "Export dataset run table", - "href": "https://github.com/orgs/langfuse/discussions/4077", - "created_at": "2024-11-06T13:58:30Z", - "upvotes": 4, - "comment_count": 0, + "number": 4080, + "title": "Langfuse User Management with Custom Oauth", + "href": "https://github.com/orgs/langfuse/discussions/4080", + "created_at": "2024-11-06T14:21:39Z", + "upvotes": 1, + "comment_count": 3, "resolved": false, "labels": [ - "feat-datasets" + "feat-auth", + "self-hosting" ], "author": { - "login": "marcklingen", - "html_url": "https://github.com/marcklingen" + "login": "bziolkowski", + "html_url": "https://github.com/bziolkowski" }, - "category": "Ideas" + "category": "Support" }, { - "number": 4076, - "title": "Customizable data mask (input/output, observation names, observation type)", - "href": "https://github.com/orgs/langfuse/discussions/4076", - "created_at": "2024-11-06T13:56:36Z", - "upvotes": 2, - "comment_count": 0, - "resolved": false, + "number": 4079, + "title": "How to prevent strangers from creating an account on your app", + "href": "https://github.com/orgs/langfuse/discussions/4079", + "created_at": "2024-11-06T14:17:46Z", + "upvotes": 1, + "comment_count": 1, + "resolved": true, "labels": [ - "feat-data-masking" + "self-hosting" ], "author": { - "login": "marcklingen", - "html_url": "https://github.com/marcklingen" + "login": "shner-elmo", + "html_url": "https://github.com/shner-elmo" }, - "category": "Ideas" + "category": "Support" }, { - "number": 4060, - "title": "Add support for more complex Jinja constructs", - "href": "https://github.com/orgs/langfuse/discussions/4060", - "created_at": "2024-11-05T14:28:17Z", + "number": 4075, + "title": "Does it make sense to use multiple api-keys", + "href": "https://github.com/orgs/langfuse/discussions/4075", + "created_at": "2024-11-06T11:22:45Z", "upvotes": 1, - "comment_count": 1, - "resolved": false, - "labels": [ - "feat-prompt-management" - ], + "comment_count": 2, + "resolved": true, + "labels": [], "author": { - "login": "alex-stoica", - "html_url": "https://github.com/alex-stoica" + "login": "shner-elmo", + "html_url": "https://github.com/shner-elmo" }, - "category": "Ideas" + "category": "Support" }, { - "number": 4040, - "title": "Linking ChatPromptTemplate to Multiple Prompts", - "href": "https://github.com/orgs/langfuse/discussions/4040", - "created_at": "2024-11-04T13:49:06Z", + "number": 4071, + "title": "Authentication not working?", + "href": "https://github.com/orgs/langfuse/discussions/4071", + "created_at": "2024-11-06T01:00:12Z", "upvotes": 1, - "comment_count": 1, - "resolved": false, - "labels": [ - "feat-prompt-management" - ], + "comment_count": 2, + "resolved": true, + "labels": [], "author": { - "login": "sternr", - "html_url": "https://github.com/sternr" + "login": "shner-elmo", + "html_url": "https://github.com/shner-elmo" }, - "category": "Ideas" + "category": "Support" }, { - "number": 4037, - "title": "feat: support adding trace tags in annotation queue view", - "href": "https://github.com/orgs/langfuse/discussions/4037", - "created_at": "2024-11-04T13:04:02Z", - "upvotes": 2, - "comment_count": 0, + "number": 4056, + "title": "Langfuse deployment issue on k8", + "href": "https://github.com/orgs/langfuse/discussions/4056", + "created_at": "2024-11-05T11:54:57Z", + "upvotes": 1, + "comment_count": 4, "resolved": false, "labels": [ - "feat-annotation" + "self-hosting" ], "author": { - "login": "marliessophie", - "html_url": "https://github.com/marliessophie" + "login": "hrone-dev-satyammishra", + "html_url": "https://github.com/hrone-dev-satyammishra" }, - "category": "Ideas" + "category": "Support" }, { - "number": 4035, - "title": "Feat: De-dupe and show info when adding the same trace/observation to an annotation queue multiple times", - "href": "https://github.com/orgs/langfuse/discussions/4035", - "created_at": "2024-11-04T12:58:59Z", + "number": 4046, + "title": "Should the Langfuse classs initialization be cached (does it do any I/O on init?) ?", + "href": "https://github.com/orgs/langfuse/discussions/4046", + "created_at": "2024-11-04T16:44:27Z", "upvotes": 1, "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [ - "feat-annotation" + "integration-langchain" ], "author": { - "login": "marliessophie", - "html_url": "https://github.com/marliessophie" + "login": "shner-elmo", + "html_url": "https://github.com/shner-elmo" }, - "category": "Ideas" + "category": "Support" }, { - "number": 4025, - "title": "Diff support for dataset runs view", - "href": "https://github.com/orgs/langfuse/discussions/4025", - "created_at": "2024-11-04T03:48:40Z", - "upvotes": 3, - "comment_count": 0, - "resolved": false, + "number": 4043, + "title": "\"Custom\" traces not creating when Next.js Vercel instrumentation is on.", + "href": "https://github.com/orgs/langfuse/discussions/4043", + "created_at": "2024-11-04T14:07:46Z", + "upvotes": 1, + "comment_count": 2, + "resolved": true, "labels": [ - "feat-datasets" + "integration-vercel-ai-sdk" ], "author": { - "login": "saikatmitra91", - "html_url": "https://github.com/saikatmitra91" + "login": "rovnyart", + "html_url": "https://github.com/rovnyart" }, - "category": "Ideas" + "category": "Support" }, { - "number": 4019, - "title": "Create Support for gemini models in playground", - "href": "https://github.com/orgs/langfuse/discussions/4019", - "created_at": "2024-11-03T11:12:42Z", + "number": 4041, + "title": "When running in relatively high amount of concurrent requests we start getting: \"API error occurred: Service unavailable.\" from Langfuse server", + "href": "https://github.com/orgs/langfuse/discussions/4041", + "created_at": "2024-11-04T13:55:19Z", "upvotes": 1, "comment_count": 2, - "resolved": false, - "labels": [ - "feat-evals", - "feat-playground" - ], + "resolved": true, + "labels": [], "author": { - "login": "anuraj-suman", - "html_url": "https://github.com/anuraj-suman" + "login": "sternr", + "html_url": "https://github.com/sternr" }, - "category": "Ideas" + "category": "Support" }, { - "number": 4012, - "title": "Duplicate a template prompt to start a new prompt with all the boilerplate prepared", - "href": "https://github.com/orgs/langfuse/discussions/4012", - "created_at": "2024-11-02T15:26:33Z", + "number": 4038, + "title": "SSL: CERTIFICATE_VERIFY_FAILED error when access the self hosted langfuse from the code", + "href": "https://github.com/orgs/langfuse/discussions/4038", + "created_at": "2024-11-04T13:14:05Z", "upvotes": 1, - "comment_count": 1, - "resolved": false, - "labels": [ - "feat-prompt-management" - ], + "comment_count": 2, + "resolved": true, + "labels": [], "author": { - "login": "jakelucasnyc", - "html_url": "https://github.com/jakelucasnyc" + "login": "SugumarRavichandran", + "html_url": "https://github.com/SugumarRavichandran" }, - "category": "Ideas" + "category": "Support" }, { - "number": 4009, - "title": "SDK-Python: Get all prompts from LangfuseSDK Client", - "href": "https://github.com/orgs/langfuse/discussions/4009", - "created_at": "2024-11-01T18:39:02Z", + "number": 4026, + "title": "Blob is not defined for Node 16", + "href": "https://github.com/orgs/langfuse/discussions/4026", + "created_at": "2024-11-04T04:58:15Z", "upvotes": 1, - "comment_count": 1, + "comment_count": 2, "resolved": false, "labels": [], "author": { - "login": "nthanapaisal", - "html_url": "https://github.com/nthanapaisal" + "login": "jamesyu", + "html_url": "https://github.com/jamesyu" }, - "category": "Ideas" + "category": "Support" }, { - "number": 4000, - "title": "Support custom aggregated queries through the UI", - "href": "https://github.com/orgs/langfuse/discussions/4000", - "created_at": "2024-11-01T14:19:58Z", - "upvotes": 2, - "comment_count": 0, - "resolved": false, + "number": 4001, + "title": "Cloudron packaging issue with Prisma client", + "href": "https://github.com/orgs/langfuse/discussions/4001", + "created_at": "2024-11-01T14:21:59Z", + "upvotes": 1, + "comment_count": 2, + "resolved": true, "labels": [], "author": { - "login": "emieldatalytica", - "html_url": "https://github.com/emieldatalytica" + "login": "Lanhild", + "html_url": "https://github.com/Lanhild" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3997, - "title": "Alerts based on metrics (cost, evaluation, user-feedback), trigger webhook/email/slack/...", - "href": "https://github.com/orgs/langfuse/discussions/3997", - "created_at": "2024-11-01T11:25:05Z", + "number": 3996, + "title": "Can you use the app without OAuth?", + "href": "https://github.com/orgs/langfuse/discussions/3996", + "created_at": "2024-11-01T03:36:33Z", "upvotes": 1, - "comment_count": 0, - "resolved": false, + "comment_count": 1, + "resolved": true, + "labels": [ + "feat-auth", + "self-hosting" + ], + "author": { + "login": "shner-elmo", + "html_url": "https://github.com/shner-elmo" + }, + "category": "Support" + }, + { + "number": 3985, + "title": "Pending Badge Stuck on Setup Tracing Step", + "href": "https://github.com/orgs/langfuse/discussions/3985", + "created_at": "2024-10-31T15:51:08Z", + "upvotes": 1, + "comment_count": 2, + "resolved": true, "labels": [], "author": { - "login": "marcklingen", - "html_url": "https://github.com/marcklingen" + "login": "c0pper", + "html_url": "https://github.com/c0pper" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3988, - "title": "Change AWS access pattern for Bedrock LLM usage, assume role", - "href": "https://github.com/orgs/langfuse/discussions/3988", - "created_at": "2024-10-31T17:45:48Z", + "number": 3977, + "title": "getPromptStateless received 403 error when using `LangfuseWeb` SDK", + "href": "https://github.com/orgs/langfuse/discussions/3977", + "created_at": "2024-10-31T01:45:19Z", "upvotes": 1, "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [ - "feat-evals", - "feat-playground" + "feat-prompt-management" ], "author": { - "login": "j10sanders", - "html_url": "https://github.com/j10sanders" + "login": "huangbaitu123", + "html_url": "https://github.com/huangbaitu123" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3986, - "title": "Support for Atlassian OAuth-Provider", - "href": "https://github.com/orgs/langfuse/discussions/3986", - "created_at": "2024-10-31T16:56:45Z", + "number": 3976, + "title": "Missing scores after pushing scores to Langfuse", + "href": "https://github.com/orgs/langfuse/discussions/3976", + "created_at": "2024-10-31T00:02:59Z", + "upvotes": 1, + "comment_count": 3, + "resolved": true, + "labels": [], + "author": { + "login": "laisalvescw", + "html_url": "https://github.com/laisalvescw" + }, + "category": "Support" + }, + { + "number": 3972, + "title": "For which kinds of data is `ENCRYPTION_KEY` used?", + "href": "https://github.com/orgs/langfuse/discussions/3972", + "created_at": "2024-10-30T18:21:25Z", "upvotes": 1, "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [ - "feat-auth", "self-hosting" ], "author": { - "login": "backface", - "html_url": "https://github.com/backface" + "login": "felix-sanchez-unmind", + "html_url": "https://github.com/felix-sanchez-unmind" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3981, - "title": "Async support for data masking in JS/TS SDK", - "href": "https://github.com/orgs/langfuse/discussions/3981", - "created_at": "2024-10-31T14:06:21Z", - "upvotes": 3, - "comment_count": 3, - "resolved": false, + "number": 3965, + "title": "How to set environment variables for custom oauth2.0 sso?", + "href": "https://github.com/orgs/langfuse/discussions/3965", + "created_at": "2024-10-30T06:27:15Z", + "upvotes": 1, + "comment_count": 1, + "resolved": true, "labels": [ - "feat-data-masking" + "feat-auth", + "self-hosting" ], "author": { - "login": "pexxi", - "html_url": "https://github.com/pexxi" + "login": "IeohMingChan", + "html_url": "https://github.com/IeohMingChan" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3970, - "title": "Add ability to export and import evaluators between projects", - "href": "https://github.com/orgs/langfuse/discussions/3970", - "created_at": "2024-10-30T16:13:20Z", - "upvotes": 2, + "number": 3957, + "title": "Langfuse.create_prompt() got an unexpected keyword argument 'version'", + "href": "https://github.com/orgs/langfuse/discussions/3957", + "created_at": "2024-10-29T13:21:51Z", + "upvotes": 1, "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [ - "feat-evals" + "feat-prompt-management" ], "author": { - "login": "j10sanders", - "html_url": "https://github.com/j10sanders" + "login": "silenceliang", + "html_url": "https://github.com/silenceliang" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3954, - "title": "Decorator: disable tracing at the decorated function level", - "href": "https://github.com/orgs/langfuse/discussions/3954", - "created_at": "2024-10-29T11:45:13Z", - "upvotes": 3, + "number": 3949, + "title": "Is there a way to clear trace data in batch?", + "href": "https://github.com/orgs/langfuse/discussions/3949", + "created_at": "2024-10-29T06:10:26Z", + "upvotes": 1, "comment_count": 2, - "resolved": false, + "resolved": true, "labels": [ - "sdk-python", - "integration-python-decorator" + "self-hosting" ], "author": { - "login": "klemenstraeger", - "html_url": "https://github.com/klemenstraeger" + "login": "renwei-work", + "html_url": "https://github.com/renwei-work" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3941, - "title": "Add keyword highlighting and color coding", - "href": "https://github.com/orgs/langfuse/discussions/3941", - "created_at": "2024-10-28T12:17:38Z", + "number": 3943, + "title": "Improvements of Langfuse-Haystack integration", + "href": "https://github.com/orgs/langfuse/discussions/3943", + "created_at": "2024-10-28T14:49:51Z", "upvotes": 1, "comment_count": 2, - "resolved": false, + "resolved": true, "labels": [ - "feat-prompt-management" + "integration-haystack" ], "author": { - "login": "ignazflam", - "html_url": "https://github.com/ignazflam" + "login": "alex-stoica", + "html_url": "https://github.com/alex-stoica" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3935, - "title": "feat: Folder structure for dataset organisation", - "href": "https://github.com/orgs/langfuse/discussions/3935", - "created_at": "2024-10-28T08:23:14Z", + "number": 3924, + "title": "Postgres version mismatch when upgrading langfuse locally", + "href": "https://github.com/orgs/langfuse/discussions/3924", + "created_at": "2024-10-25T18:30:14Z", "upvotes": 2, "comment_count": 1, - "resolved": false, - "labels": [ - "feat-datasets" - ], + "resolved": true, + "labels": [], "author": { - "login": "marliessophie", - "html_url": "https://github.com/marliessophie" + "login": "nikcaryo-super", + "html_url": "https://github.com/nikcaryo-super" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3918, - "title": "Model-based evaluations triggered by observations", - "href": "https://github.com/orgs/langfuse/discussions/3918", - "created_at": "2024-10-25T14:25:49Z", - "upvotes": 2, - "comment_count": 0, - "resolved": false, + "number": 3920, + "title": "Rate limit exceed using Langfuse Python SDK", + "href": "https://github.com/orgs/langfuse/discussions/3920", + "created_at": "2024-10-25T14:45:56Z", + "upvotes": 1, + "comment_count": 1, + "resolved": true, "labels": [ - "feat-evals" + "feat-api" ], "author": { - "login": "marcklingen", - "html_url": "https://github.com/marcklingen" + "login": "laisalvescw", + "html_url": "https://github.com/laisalvescw" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3904, - "title": "Support for Custom SSO Without AUTH_CUSTOM_CLIENT_SECRET and Incorrect Profile Mapping", - "href": "https://github.com/orgs/langfuse/discussions/3904", - "created_at": "2024-10-24T17:07:38Z", - "upvotes": 0, - "comment_count": 0, - "resolved": false, + "number": 3910, + "title": "If I use Anthropic Claude component in Langflow, the trace data in Langfuse is all null", + "href": "https://github.com/orgs/langfuse/discussions/3910", + "created_at": "2024-10-25T06:50:02Z", + "upvotes": 2, + "comment_count": 2, + "resolved": true, "labels": [], "author": { - "login": "lucebert", - "html_url": "https://github.com/lucebert" + "login": "b8heng", + "html_url": "https://github.com/b8heng" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3893, - "title": "Allow prompt editing without creating new version (draft mode)", - "href": "https://github.com/orgs/langfuse/discussions/3893", - "created_at": "2024-10-24T08:47:13Z", - "upvotes": 2, + "number": 3905, + "title": "Allow injection of generation context into evaluation prompt", + "href": "https://github.com/orgs/langfuse/discussions/3905", + "created_at": "2024-10-24T20:39:46Z", + "upvotes": 1, "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [ - "feat-prompt-management" + "feat-evals" ], "author": { "login": "dveyarangi", "html_url": "https://github.com/dveyarangi" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3891, - "title": "feat: user consumption broken down by model", - "href": "https://github.com/orgs/langfuse/discussions/3891", - "created_at": "2024-10-24T05:41:12Z", + "number": 3902, + "title": "How to fetch the output and input tokens of a trace via API?", + "href": "https://github.com/orgs/langfuse/discussions/3902", + "created_at": "2024-10-24T16:16:56Z", + "upvotes": 0, + "comment_count": 1, + "resolved": true, + "labels": [ + "feat-api", + "feat-cost-tracking" + ], + "author": { + "login": "fdb02983rhy", + "html_url": "https://github.com/fdb02983rhy" + }, + "category": "Support" + }, + { + "number": 3900, + "title": "Sometimes traces lack metadata completely", + "href": "https://github.com/orgs/langfuse/discussions/3900", + "created_at": "2024-10-24T15:06:32Z", "upvotes": 1, - "comment_count": 0, - "resolved": false, + "comment_count": 4, + "resolved": true, "labels": [], "author": { - "login": "belphegor-s", - "html_url": "https://github.com/belphegor-s" + "login": "RichardSieg", + "html_url": "https://github.com/RichardSieg" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3885, - "title": "Trace -> Playground: Populate variable fields to make input iteration easier.", - "href": "https://github.com/orgs/langfuse/discussions/3885", - "created_at": "2024-10-23T16:26:36Z", - "upvotes": 2, - "comment_count": 0, + "number": 3890, + "title": "how to add invoked langchain tool names as tags or as metadata", + "href": "https://github.com/orgs/langfuse/discussions/3890", + "created_at": "2024-10-24T00:39:02Z", + "upvotes": 1, + "comment_count": 1, "resolved": false, "labels": [ - "feat-prompt-management", - "feat-playground" + "integration-langchain" ], "author": { - "login": "jannikmaierhoefer", - "html_url": "https://github.com/jannikmaierhoefer" + "login": "Wrashionis", + "html_url": "https://github.com/Wrashionis" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3875, - "title": "add gpt-4o-2024-08-06 model to langfuse models list", - "href": "https://github.com/orgs/langfuse/discussions/3875", - "created_at": "2024-10-23T10:54:01Z", + "number": 3886, + "title": "Azure AD auth: OAUTH_PARSE_PROFILE_ERROR", + "href": "https://github.com/orgs/langfuse/discussions/3886", + "created_at": "2024-10-23T19:40:57Z", "upvotes": 1, - "comment_count": 1, + "comment_count": 2, "resolved": false, - "labels": [ - "✅ Done" - ], + "labels": [], "author": { - "login": "alex-stoica", - "html_url": "https://github.com/alex-stoica" + "login": "kryvokhyzha", + "html_url": "https://github.com/kryvokhyzha" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3874, - "title": "Ensure prompt validation when attaching prompts to generations", - "href": "https://github.com/orgs/langfuse/discussions/3874", - "created_at": "2024-10-23T10:48:38Z", + "number": 3884, + "title": "I cant quite tell if i'm doing the parent span correctly. The trace is appearing but not associated to the Session", + "href": "https://github.com/orgs/langfuse/discussions/3884", + "created_at": "2024-10-23T16:12:44Z", "upvotes": 1, - "comment_count": 0, + "comment_count": 2, "resolved": false, - "labels": [ - "feat-prompt-management" - ], + "labels": [], "author": { - "login": "alex-stoica", - "html_url": "https://github.com/alex-stoica" + "login": "PandelisZ", + "html_url": "https://github.com/PandelisZ" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3866, - "title": "Support for OpenAI's cached input tokens", - "href": "https://github.com/orgs/langfuse/discussions/3866", - "created_at": "2024-10-22T19:38:33Z", - "upvotes": 4, + "number": 3879, + "title": "No token information in observation of LLM run", + "href": "https://github.com/orgs/langfuse/discussions/3879", + "created_at": "2024-10-23T13:07:43Z", + "upvotes": 1, "comment_count": 2, "resolved": false, "labels": [ "feat-cost-tracking" ], "author": { - "login": "anatolec", - "html_url": "https://github.com/anatolec" + "login": "noInterestIfPaidInFull", + "html_url": "https://github.com/noInterestIfPaidInFull" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3862, - "title": "python generator request - return values", - "href": "https://github.com/orgs/langfuse/discussions/3862", - "created_at": "2024-10-22T11:43:22Z", + "number": 3877, + "title": "Self host Langfuse not working - column `t6.cloud_config` does not exist", + "href": "https://github.com/orgs/langfuse/discussions/3877", + "created_at": "2024-10-23T11:54:13Z", "upvotes": 1, - "comment_count": 1, + "comment_count": 4, "resolved": false, "labels": [ - "integration-python-decorator" + "self-hosting" ], "author": { - "login": "benji-finster", - "html_url": "https://github.com/benji-finster" + "login": "SugumarRavichandran", + "html_url": "https://github.com/SugumarRavichandran" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3842, - "title": "Scores: Conditional Annotation", - "href": "https://github.com/orgs/langfuse/discussions/3842", - "created_at": "2024-10-21T08:37:48Z", + "number": 3868, + "title": "Langfuse Tracing not showing up on UI", + "href": "https://github.com/orgs/langfuse/discussions/3868", + "created_at": "2024-10-22T21:26:13Z", "upvotes": 1, - "comment_count": 0, - "resolved": false, - "labels": [ - "feat-scores", - "feat-annotation" - ], + "comment_count": 2, + "resolved": true, + "labels": [], "author": { - "login": "marliessophie", - "html_url": "https://github.com/marliessophie" + "login": "nthanapaisal", + "html_url": "https://github.com/nthanapaisal" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3841, - "title": "Annotation Queues: define optional/mandatory score configs by queue", - "href": "https://github.com/orgs/langfuse/discussions/3841", - "created_at": "2024-10-21T08:32:46Z", + "number": 3863, + "title": "Request Timeout for Dashboard", + "href": "https://github.com/orgs/langfuse/discussions/3863", + "created_at": "2024-10-22T14:18:43Z", "upvotes": 1, - "comment_count": 0, - "resolved": false, + "comment_count": 2, + "resolved": true, "labels": [ - "feat-annotation" + "self-hosting" ], "author": { - "login": "marliessophie", - "html_url": "https://github.com/marliessophie" + "login": "mritonia", + "html_url": "https://github.com/mritonia" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3840, - "title": "Scores: support for recording multiple choice selection as score value", - "href": "https://github.com/orgs/langfuse/discussions/3840", - "created_at": "2024-10-21T08:20:01Z", + "number": 3858, + "title": "Monitoring self-hosted langfuse.", + "href": "https://github.com/orgs/langfuse/discussions/3858", + "created_at": "2024-10-22T07:04:26Z", "upvotes": 1, - "comment_count": 0, - "resolved": false, + "comment_count": 2, + "resolved": true, "labels": [ - "feat-scores" + "self-hosting" ], "author": { - "login": "marliessophie", - "html_url": "https://github.com/marliessophie" + "login": "SinghCoder", + "html_url": "https://github.com/SinghCoder" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3839, - "title": "Prompts: ability to share prompt or playground session", - "href": "https://github.com/orgs/langfuse/discussions/3839", - "created_at": "2024-10-21T08:00:15Z", - "upvotes": 2, - "comment_count": 0, - "resolved": false, + "number": 3854, + "title": "Open AI Python SDK - 'OpenAI' object has no attribute 'langfuse_auth_check'", + "href": "https://github.com/orgs/langfuse/discussions/3854", + "created_at": "2024-10-21T21:41:17Z", + "upvotes": 1, + "comment_count": 4, + "resolved": true, "labels": [ - "feat-prompt-management" + "integration-openai" ], "author": { - "login": "marliessophie", - "html_url": "https://github.com/marliessophie" + "login": "hjensen", + "html_url": "https://github.com/hjensen" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3836, - "title": "Distinguishing various steps", - "href": "https://github.com/orgs/langfuse/discussions/3836", - "created_at": "2024-10-20T16:54:32Z", + "number": 3845, + "title": "Traces: Link a trace to multiple sessions", + "href": "https://github.com/orgs/langfuse/discussions/3845", + "created_at": "2024-10-21T11:31:54Z", "upvotes": 1, - "comment_count": 0, - "resolved": false, - "labels": [], - "author": { - "login": "ajram23", - "html_url": "https://github.com/ajram23" - }, - "category": "Ideas" - }, - { - "number": 3818, - "title": "Filter by status in dataset items table", - "href": "https://github.com/orgs/langfuse/discussions/3818", - "created_at": "2024-10-18T03:17:50Z", - "upvotes": 2, "comment_count": 2, - "resolved": false, + "resolved": true, "labels": [ - "feat-datasets" + "feat-sessions" ], "author": { - "login": "FrankyCTY", - "html_url": "https://github.com/FrankyCTY" + "login": "nikitagupta5566", + "html_url": "https://github.com/nikitagupta5566" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3817, - "title": "Add generic types for prompt variables in the sdk clients, e.g. `langfuse.getPrompt<{input: string}>(\"prompt name\")`", - "href": "https://github.com/orgs/langfuse/discussions/3817", - "created_at": "2024-10-17T23:40:45Z", - "upvotes": 1, - "comment_count": 0, - "resolved": false, + "number": 3838, + "title": "How do I user wise \"Total Token\" counts via API or via python, As I want to track which user is consuming how much tokens", + "href": "https://github.com/orgs/langfuse/discussions/3838", + "created_at": "2024-10-21T06:51:06Z", + "upvotes": 2, + "comment_count": 3, + "resolved": true, "labels": [ - "feat-prompt-management" + "feat-cost-tracking" ], "author": { - "login": "marcklingen", - "html_url": "https://github.com/marcklingen" + "login": "hrone-dev-satyammishra", + "html_url": "https://github.com/hrone-dev-satyammishra" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3801, - "title": "Add image type with image_url for vision apo", - "href": "https://github.com/orgs/langfuse/discussions/3801", - "created_at": "2024-10-17T15:27:23Z", + "number": 3835, + "title": "To use Gemini on playground", + "href": "https://github.com/orgs/langfuse/discussions/3835", + "created_at": "2024-10-20T12:20:22Z", "upvotes": 1, - "comment_count": 1, + "comment_count": 3, "resolved": false, - "labels": [ - "feat-prompt-management", - "feat-playground" - ], + "labels": [], "author": { - "login": "profikid", - "html_url": "https://github.com/profikid" + "login": "yu-tarrrr", + "html_url": "https://github.com/yu-tarrrr" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3798, - "title": "Versioning/edit of Evaluator Configuration", - "href": "https://github.com/orgs/langfuse/discussions/3798", - "created_at": "2024-10-17T11:59:39Z", - "upvotes": 3, - "comment_count": 1, + "number": 3824, + "title": "Traces and events not going through to Langfuse server even though they're generating", + "href": "https://github.com/orgs/langfuse/discussions/3824", + "created_at": "2024-10-18T13:49:53Z", + "upvotes": 1, + "comment_count": 2, "resolved": false, "labels": [ - "feat-evals" + "integration-python-decorator" ], "author": { - "login": "filipmihal", - "html_url": "https://github.com/filipmihal" + "login": "FaresKi", + "html_url": "https://github.com/FaresKi" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3782, - "title": "Measure time to last generated token", - "href": "https://github.com/orgs/langfuse/discussions/3782", - "created_at": "2024-10-16T17:45:12Z", - "upvotes": 2, - "comment_count": 0, + "number": 3800, + "title": "Insert API Keys in database", + "href": "https://github.com/orgs/langfuse/discussions/3800", + "created_at": "2024-10-17T12:40:17Z", + "upvotes": 1, + "comment_count": 3, "resolved": false, "labels": [], "author": { - "login": "dsherry", - "html_url": "https://github.com/dsherry" + "login": "kryvokhyzha", + "html_url": "https://github.com/kryvokhyzha" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3772, - "title": "Support annotation role permission to only access Annotation Queue feature", - "href": "https://github.com/orgs/langfuse/discussions/3772", - "created_at": "2024-10-16T03:49:43Z", + "number": 3799, + "title": "Weird behaviour of metric values and their reasoning", + "href": "https://github.com/orgs/langfuse/discussions/3799", + "created_at": "2024-10-17T12:17:48Z", "upvotes": 1, - "comment_count": 1, - "resolved": false, + "comment_count": 2, + "resolved": true, "labels": [ - "feat-annotation" + "feat-evals" ], "author": { - "login": "ytqh", - "html_url": "https://github.com/ytqh" + "login": "filipmihal", + "html_url": "https://github.com/filipmihal" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3765, - "title": "OpenAI integration support for realtime api", - "href": "https://github.com/orgs/langfuse/discussions/3765", - "created_at": "2024-10-15T21:35:13Z", - "upvotes": 5, + "number": 3797, + "title": "Filter Categorical Score Values", + "href": "https://github.com/orgs/langfuse/discussions/3797", + "created_at": "2024-10-17T10:15:58Z", + "upvotes": 1, "comment_count": 3, - "resolved": false, + "resolved": true, "labels": [ - "integration-openai" + "feat-scores" ], "author": { - "login": "marcklingen", - "html_url": "https://github.com/marcklingen" + "login": "alabrashJr", + "html_url": "https://github.com/alabrashJr" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3761, - "title": "DsPY type optimization functionality", - "href": "https://github.com/orgs/langfuse/discussions/3761", - "created_at": "2024-10-15T20:02:39Z", + "number": 3796, + "title": "Manually setting up Langchain Callback handler with explicit values doesn't configure langfuse client in decorator approach", + "href": "https://github.com/orgs/langfuse/discussions/3796", + "created_at": "2024-10-17T08:36:51Z", "upvotes": 1, - "comment_count": 1, - "resolved": false, + "comment_count": 2, + "resolved": true, "labels": [ - "integration-dspy" + "integration-langchain" ], "author": { - "login": "nikshepsvn", - "html_url": "https://github.com/nikshepsvn" + "login": "FaresKi", + "html_url": "https://github.com/FaresKi" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3755, - "title": "Intergrate with Ragflow", - "href": "https://github.com/orgs/langfuse/discussions/3755", - "created_at": "2024-10-15T06:54:12Z", - "upvotes": 3, - "comment_count": 1, - "resolved": false, + "number": 3780, + "title": "How to use prompt management with litellm's integration with langfuse?", + "href": "https://github.com/orgs/langfuse/discussions/3780", + "created_at": "2024-10-16T16:48:40Z", + "upvotes": 2, + "comment_count": 8, + "resolved": true, "labels": [ - "integrations" + "feat-prompt-management", + "integration-litellm" ], "author": { - "login": "chuwe000", - "html_url": "https://github.com/chuwe000" + "login": "GildeshAbhay", + "html_url": "https://github.com/GildeshAbhay" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3802, - "title": "Get Observation IDs of sub chains when using @observe decorator combined with Langchain", - "href": "https://github.com/orgs/langfuse/discussions/3802", - "created_at": "2024-10-14T14:22:38Z", + "number": 3779, + "title": "Annotation Queues and Session IDs and Datasets and LLM Security", + "href": "https://github.com/orgs/langfuse/discussions/3779", + "created_at": "2024-10-16T14:55:09Z", "upvotes": 1, - "comment_count": 4, + "comment_count": 3, "resolved": false, - "labels": [ - "sdk-python", - "integration-langchain", - "integration-python-decorator" - ], + "labels": [], "author": { - "login": "guusfrenken-wk", - "html_url": "https://github.com/guusfrenken-wk" + "login": "paolotamag", + "html_url": "https://github.com/paolotamag" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3725, - "title": "observe context manager", - "href": "https://github.com/orgs/langfuse/discussions/3725", - "created_at": "2024-10-12T07:33:09Z", + "number": 3778, + "title": "Observe decorator not working with custom langchain model & custom langfuse callback handler", + "href": "https://github.com/orgs/langfuse/discussions/3778", + "created_at": "2024-10-16T12:36:02Z", "upvotes": 1, - "comment_count": 1, - "resolved": false, + "comment_count": 2, + "resolved": true, "labels": [], "author": { - "login": "eliorc", - "html_url": "https://github.com/eliorc" + "login": "FaresKi", + "html_url": "https://github.com/FaresKi" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3723, - "title": "Terminal version of Langfuse (Langfuse CLI)", - "href": "https://github.com/orgs/langfuse/discussions/3723", - "created_at": "2024-10-11T21:06:48Z", - "upvotes": 3, + "number": 3777, + "title": "Error when trying to upgrade my langfuse deployment", + "href": "https://github.com/orgs/langfuse/discussions/3777", + "created_at": "2024-10-16T09:25:53Z", + "upvotes": 2, "comment_count": 2, "resolved": false, + "labels": [ + "self-hosting" + ], + "author": { + "login": "nithin1995", + "html_url": "https://github.com/nithin1995" + }, + "category": "Support" + }, + { + "number": 3766, + "title": "Latency and total cost for runs are not computed", + "href": "https://github.com/orgs/langfuse/discussions/3766", + "created_at": "2024-10-15T21:38:15Z", + "upvotes": 1, + "comment_count": 3, + "resolved": true, "labels": [], "author": { - "login": "Shahin-rmz", - "html_url": "https://github.com/Shahin-rmz" + "login": "ldbolanos", + "html_url": "https://github.com/ldbolanos" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3681, - "title": "Evalution of a prompt by a LLM", - "href": "https://github.com/orgs/langfuse/discussions/3681", - "created_at": "2024-10-09T19:17:30Z", - "upvotes": 3, - "comment_count": 0, - "resolved": false, + "number": 3764, + "title": "Best practices for tracing an app with history and tool usage", + "href": "https://github.com/orgs/langfuse/discussions/3764", + "created_at": "2024-10-15T21:27:34Z", + "upvotes": 2, + "comment_count": 3, + "resolved": true, "labels": [ - "feat-prompt-management" + "integration-openai" ], "author": { - "login": "jannikmaierhoefer", - "html_url": "https://github.com/jannikmaierhoefer" + "login": "machulav", + "html_url": "https://github.com/machulav" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3663, - "title": "Dashboard: Add time to first token chart (ttft)", - "href": "https://github.com/orgs/langfuse/discussions/3663", - "created_at": "2024-10-08T23:56:42Z", - "upvotes": 6, - "comment_count": 0, - "resolved": false, + "number": 3756, + "title": "How to create an eval config for prompts using python api?", + "href": "https://github.com/orgs/langfuse/discussions/3756", + "created_at": "2024-10-15T09:20:06Z", + "upvotes": 1, + "comment_count": 2, + "resolved": true, "labels": [ - "feat-dashboard" + "feat-evals" ], "author": { - "login": "marcklingen", - "html_url": "https://github.com/marcklingen" + "login": "GildeshAbhay", + "html_url": "https://github.com/GildeshAbhay" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3646, - "title": "Table sorting and filtering in database runs", - "href": "https://github.com/orgs/langfuse/discussions/3646", - "created_at": "2024-10-08T11:13:52Z", - "upvotes": 2, - "comment_count": 0, - "resolved": false, - "labels": [], + "number": 3737, + "title": "Monitoring for multi agent systems (OpenWebUI)", + "href": "https://github.com/orgs/langfuse/discussions/3737", + "created_at": "2024-10-14T16:50:17Z", + "upvotes": 1, + "comment_count": 3, + "resolved": true, + "labels": [ + "integration-openwebui" + ], "author": { - "login": "FlorDonnaSanders", - "html_url": "https://github.com/FlorDonnaSanders" + "login": "OM-EL", + "html_url": "https://github.com/OM-EL" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3618, - "title": "User Aliases", - "href": "https://github.com/orgs/langfuse/discussions/3618", - "created_at": "2024-10-07T07:51:49Z", + "number": 3735, + "title": "Is it possible to use tools calling and structured output in the Prompts UI and Playground?", + "href": "https://github.com/orgs/langfuse/discussions/3735", + "created_at": "2024-10-14T16:43:23Z", "upvotes": 1, - "comment_count": 1, - "resolved": false, - "labels": [], + "comment_count": 2, + "resolved": true, + "labels": [ + "feat-prompt-management", + "feat-playground" + ], "author": { - "login": "FlorDonnaSanders", - "html_url": "https://github.com/FlorDonnaSanders" + "login": "mifopen", + "html_url": "https://github.com/mifopen" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3576, - "title": "feat: edit custom model definitions", - "href": "https://github.com/orgs/langfuse/discussions/3576", - "created_at": "2024-10-04T12:40:54Z", - "upvotes": 3, - "comment_count": 0, - "resolved": false, - "labels": [], + "number": 3718, + "title": "How to delete a Session?", + "href": "https://github.com/orgs/langfuse/discussions/3718", + "created_at": "2024-10-11T14:51:46Z", + "upvotes": 1, + "comment_count": 2, + "resolved": true, + "labels": [ + "feat-sessions" + ], "author": { - "login": "nialldevlin1", - "html_url": "https://github.com/nialldevlin1" + "login": "augustoolucas", + "html_url": "https://github.com/augustoolucas" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3558, - "title": "Dashboard: split prompt/completion/total tokens", - "href": "https://github.com/orgs/langfuse/discussions/3558", - "created_at": "2024-10-02T02:17:47Z", - "upvotes": 6, - "comment_count": 0, - "resolved": false, + "number": 3717, + "title": "Llamaindex Workflow does't work with Instrumentation Module", + "href": "https://github.com/orgs/langfuse/discussions/3717", + "created_at": "2024-10-11T10:27:09Z", + "upvotes": 1, + "comment_count": 3, + "resolved": true, "labels": [ - "feat-dashboard" + "integraton-llamaindex" ], "author": { - "login": "marcklingen", - "html_url": "https://github.com/marcklingen" + "login": "ntdanhtma", + "html_url": "https://github.com/ntdanhtma" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3551, - "title": "Metrics API to support the OpenMetrics format", - "href": "https://github.com/orgs/langfuse/discussions/3551", - "created_at": "2024-10-01T15:03:02Z", - "upvotes": 3, - "comment_count": 0, - "resolved": false, - "labels": [], + "number": 3698, + "title": "Can I use Amazon Bedrock for Langfuse Evals?", + "href": "https://github.com/orgs/langfuse/discussions/3698", + "created_at": "2024-10-10T15:34:48Z", + "upvotes": 1, + "comment_count": 5, + "resolved": true, + "labels": [ + "feat-evals", + "integration-amazon-bedrock" + ], "author": { - "login": "shukawam", - "html_url": "https://github.com/shukawam" + "login": "j10sanders", + "html_url": "https://github.com/j10sanders" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3550, - "title": "Asynchronous Langfuse Client.", - "href": "https://github.com/orgs/langfuse/discussions/3550", - "created_at": "2024-10-01T14:03:48Z", - "upvotes": 8, - "comment_count": 1, + "number": 3679, + "title": "Langfuse / Langflow not intergrating", + "href": "https://github.com/orgs/langfuse/discussions/3679", + "created_at": "2024-10-09T17:06:32Z", + "upvotes": 1, + "comment_count": 2, "resolved": false, "labels": [ - "sdk-python" + "integration-langflow" ], "author": { - "login": "fimselamse", - "html_url": "https://github.com/fimselamse" + "login": "colecal", + "html_url": "https://github.com/colecal" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3546, - "title": "Add SCIM support for user/role/identity management", - "href": "https://github.com/orgs/langfuse/discussions/3546", - "created_at": "2024-10-01T02:18:33Z", + "number": 3678, + "title": "Langfuse not tracing code from my VM (server)", + "href": "https://github.com/orgs/langfuse/discussions/3678", + "created_at": "2024-10-09T14:56:05Z", "upvotes": 1, "comment_count": 1, "resolved": false, "labels": [ - "feat-api", - "security" + "self-hosting" ], "author": { - "login": "marcklingen", - "html_url": "https://github.com/marcklingen" + "login": "akbar-mta", + "html_url": "https://github.com/akbar-mta" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3538, - "title": "Vector search for datasets for few-shot prompting", - "href": "https://github.com/orgs/langfuse/discussions/3538", - "created_at": "2024-09-30T17:31:18Z", + "number": 3674, + "title": "Docs for K8s deployments", + "href": "https://github.com/orgs/langfuse/discussions/3674", + "created_at": "2024-10-09T09:52:05Z", "upvotes": 1, - "comment_count": 1, - "resolved": false, + "comment_count": 2, + "resolved": true, "labels": [ - "feat-datasets" + "self-hosting" ], "author": { - "login": "antoniomdk", - "html_url": "https://github.com/antoniomdk" + "login": "Brant-lzh", + "html_url": "https://github.com/Brant-lzh" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3529, - "title": "Sampling for JS/TS SDKs and integrations", - "href": "https://github.com/orgs/langfuse/discussions/3529", - "created_at": "2024-09-30T05:44:07Z", - "upvotes": 8, - "comment_count": 0, - "resolved": false, - "labels": [ - "feat-sampling" - ], + "number": 3645, + "title": "Cannot Sign In or Sign Up to Local Langfuse Instance", + "href": "https://github.com/orgs/langfuse/discussions/3645", + "created_at": "2024-10-08T11:09:48Z", + "upvotes": 1, + "comment_count": 2, + "resolved": true, + "labels": [], "author": { - "login": "marcklingen", - "html_url": "https://github.com/marcklingen" + "login": "Patryk-Chlanda", + "html_url": "https://github.com/Patryk-Chlanda" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3528, - "title": "Add saved filters config", - "href": "https://github.com/orgs/langfuse/discussions/3528", - "created_at": "2024-09-30T05:36:44Z", + "number": 3641, + "title": "Sign in and Sign up button is greyed out", + "href": "https://github.com/orgs/langfuse/discussions/3641", + "created_at": "2024-10-08T09:32:16Z", "upvotes": 1, - "comment_count": 1, - "resolved": false, - "labels": [ - "ui" - ], + "comment_count": 2, + "resolved": true, + "labels": [], "author": { - "login": "emaugars12", - "html_url": "https://github.com/emaugars12" + "login": "akbar-mta", + "html_url": "https://github.com/akbar-mta" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3527, - "title": "Show prompt-level aggregate metrics on the prompts table", - "href": "https://github.com/orgs/langfuse/discussions/3527", - "created_at": "2024-09-30T00:33:43Z", - "upvotes": 4, - "comment_count": 0, - "resolved": false, - "labels": [ - "feat-prompt-management" - ], + "number": 3637, + "title": "Sign In Button Remains Disabled When Logging in with Email/Password on Langfuse Self-Hosted", + "href": "https://github.com/orgs/langfuse/discussions/3637", + "created_at": "2024-10-08T06:40:05Z", + "upvotes": 2, + "comment_count": 2, + "resolved": true, + "labels": [], "author": { - "login": "marcklingen", - "html_url": "https://github.com/marcklingen" + "login": "tubone24", + "html_url": "https://github.com/tubone24" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3524, - "title": "Field-level selection for input/output filtering in decorator instead of using update_current_observation/trace", - "href": "https://github.com/orgs/langfuse/discussions/3524", - "created_at": "2024-09-29T08:28:45Z", + "number": 3615, + "title": "Failing with internal server error when trying to add score to a trace", + "href": "https://github.com/orgs/langfuse/discussions/3615", + "created_at": "2024-10-07T06:15:14Z", "upvotes": 1, - "comment_count": 4, - "resolved": false, - "labels": [ - "integration-python-decorator" - ], + "comment_count": 2, + "resolved": true, + "labels": [], "author": { - "login": "amir-mic-lin", - "html_url": "https://github.com/amir-mic-lin" + "login": "nithin1995", + "html_url": "https://github.com/nithin1995" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3508, - "title": "feat: organization level dashboard", - "href": "https://github.com/orgs/langfuse/discussions/3508", - "created_at": "2024-09-27T13:48:13Z", + "number": 3592, + "title": "Set trace_id in Langchain CallbackHandler", + "href": "https://github.com/orgs/langfuse/discussions/3592", + "created_at": "2024-10-05T11:09:30Z", "upvotes": 1, "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [], "author": { - "login": "nialldevlin1", - "html_url": "https://github.com/nialldevlin1" + "login": "michaelpoluektov", + "html_url": "https://github.com/michaelpoluektov" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3478, - "title": "TextGrad integration", - "href": "https://github.com/orgs/langfuse/discussions/3478", - "created_at": "2024-09-25T16:13:45Z", + "number": 3574, + "title": "Automated provisioning of default resources in self hosting", + "href": "https://github.com/orgs/langfuse/discussions/3574", + "created_at": "2024-10-04T06:44:45Z", "upvotes": 1, - "comment_count": 1, - "resolved": false, + "comment_count": 2, + "resolved": true, "labels": [ - "integrations" + "self-hosting" ], "author": { - "login": "sakthi-geek", - "html_url": "https://github.com/sakthi-geek" + "login": "Harinisri29", + "html_url": "https://github.com/Harinisri29" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3476, - "title": "Chart: usage/metrics grouped by tags", - "href": "https://github.com/orgs/langfuse/discussions/3476", - "created_at": "2024-09-25T13:54:14Z", + "number": 3569, + "title": "UnauthorizedError: No authorization header After Switching to Headless Initialization", + "href": "https://github.com/orgs/langfuse/discussions/3569", + "created_at": "2024-10-03T08:52:35Z", "upvotes": 2, - "comment_count": 0, + "comment_count": 2, "resolved": false, - "labels": [ - "feat-dashboard", - "feat-tags" - ], + "labels": [], "author": { - "login": "marcklingen", - "html_url": "https://github.com/marcklingen" + "login": "chandel-aman", + "html_url": "https://github.com/chandel-aman" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3472, - "title": "Dashboard: add chart for unique users (MAU/WAU/DAU)", - "href": "https://github.com/orgs/langfuse/discussions/3472", - "created_at": "2024-09-25T11:37:30Z", - "upvotes": 2, - "comment_count": 0, - "resolved": false, - "labels": [ - "feat-dashboard", - "feat-users" - ], + "number": 3559, + "title": "Token Cost using OpenRouter", + "href": "https://github.com/orgs/langfuse/discussions/3559", + "created_at": "2024-10-02T05:25:14Z", + "upvotes": 1, + "comment_count": 1, + "resolved": true, + "labels": [], "author": { - "login": "marcklingen", - "html_url": "https://github.com/marcklingen" + "login": "austinm911", + "html_url": "https://github.com/austinm911" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3447, - "title": "Playground: Move messages / add messages in-between others", - "href": "https://github.com/orgs/langfuse/discussions/3447", - "created_at": "2024-09-23T09:16:23Z", - "upvotes": 2, - "comment_count": 0, - "resolved": false, - "labels": [ - "feat-playground" - ], + "number": 3557, + "title": "Link 2 traces", + "href": "https://github.com/orgs/langfuse/discussions/3557", + "created_at": "2024-10-02T02:14:27Z", + "upvotes": 1, + "comment_count": 1, + "resolved": true, + "labels": [], "author": { - "login": "jannikmaierhoefer", - "html_url": "https://github.com/jannikmaierhoefer" + "login": "saiprasath21", + "html_url": "https://github.com/saiprasath21" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3443, - "title": "Why not extend observeOpenAI to support message-level user id?", - "href": "https://github.com/orgs/langfuse/discussions/3443", - "created_at": "2024-09-21T23:57:57Z", + "number": 3556, + "title": "Update a trace", + "href": "https://github.com/orgs/langfuse/discussions/3556", + "created_at": "2024-10-02T02:10:15Z", "upvotes": 1, "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [], "author": { - "login": "derrickstaten", - "html_url": "https://github.com/derrickstaten" + "login": "saiprasath21", + "html_url": "https://github.com/saiprasath21" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3439, - "title": "Filtering dataset items", - "href": "https://github.com/orgs/langfuse/discussions/3439", - "created_at": "2024-09-21T01:51:33Z", - "upvotes": 3, - "comment_count": 0, + "number": 3553, + "title": "How to track DSPy call within Langgraph", + "href": "https://github.com/orgs/langfuse/discussions/3553", + "created_at": "2024-10-01T20:00:11Z", + "upvotes": 1, + "comment_count": 1, "resolved": false, "labels": [ - "feat-datasets" + "integration-langchain", + "integration-dspy" ], "author": { - "login": "emaugars12", - "html_url": "https://github.com/emaugars12" + "login": "marcklingen", + "html_url": "https://github.com/marcklingen" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3438, - "title": "Support export for Dataset Items", - "href": "https://github.com/orgs/langfuse/discussions/3438", - "created_at": "2024-09-20T22:57:21Z", - "upvotes": 4, - "comment_count": 0, - "resolved": false, + "number": 3552, + "title": "LlamaIndex traces grouping", + "href": "https://github.com/orgs/langfuse/discussions/3552", + "created_at": "2024-10-01T18:35:11Z", + "upvotes": 1, + "comment_count": 2, + "resolved": true, "labels": [ - "feat-datasets" + "integraton-llamaindex" ], "author": { - "login": "uladkaminski", - "html_url": "https://github.com/uladkaminski" + "login": "ivanviragine", + "html_url": "https://github.com/ivanviragine" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3436, - "title": "Prompt label promotion via api/sdk", - "href": "https://github.com/orgs/langfuse/discussions/3436", - "created_at": "2024-09-20T21:32:07Z", - "upvotes": 2, - "comment_count": 1, - "resolved": false, - "labels": [], + "number": 3549, + "title": "create api keys pair using some method or api", + "href": "https://github.com/orgs/langfuse/discussions/3549", + "created_at": "2024-10-01T11:45:12Z", + "upvotes": 1, + "comment_count": 2, + "resolved": true, + "labels": [ + "self-hosting" + ], "author": { - "login": "mrdrprofuroboros", - "html_url": "https://github.com/mrdrprofuroboros" + "login": "ryanrib14", + "html_url": "https://github.com/ryanrib14" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3431, - "title": "3rd option for \"sharing\" traces publicly", - "href": "https://github.com/orgs/langfuse/discussions/3431", - "created_at": "2024-09-20T16:29:28Z", + "number": 3545, + "title": "How to Set Custom Trace ID with a Decorator and Include langfuse_observation_id?", + "href": "https://github.com/orgs/langfuse/discussions/3545", + "created_at": "2024-10-01T02:04:03Z", "upvotes": 1, - "comment_count": 0, - "resolved": false, - "labels": [], + "comment_count": 2, + "resolved": true, + "labels": [ + "integration-python-decorator" + ], "author": { - "login": "jannikmaierhoefer", - "html_url": "https://github.com/jannikmaierhoefer" + "login": "octadion", + "html_url": "https://github.com/octadion" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3415, - "title": "Only use traces in the dataset to render score columns", - "href": "https://github.com/orgs/langfuse/discussions/3415", - "created_at": "2024-09-19T17:36:44Z", + "number": 3540, + "title": "error ❌ tRPC failed on public.checkUpdate: Failed to fetch or json parse the latest releases Failed to fetch or json parse the latest releases", + "href": "https://github.com/orgs/langfuse/discussions/3540", + "created_at": "2024-09-30T20:29:22Z", "upvotes": 1, "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [ - "feat-datasets" + "self-hosting" ], "author": { - "login": "micahstairs", - "html_url": "https://github.com/micahstairs" + "login": "FaresKi", + "html_url": "https://github.com/FaresKi" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3412, - "title": "Source code versioning and automatic statistics caluclation from scores", - "href": "https://github.com/orgs/langfuse/discussions/3412", - "created_at": "2024-09-19T10:44:02Z", + "number": 3531, + "title": "is it possible to assign a label to an existing prompt via API/SDK ?", + "href": "https://github.com/orgs/langfuse/discussions/3531", + "created_at": "2024-09-30T07:49:28Z", "upvotes": 1, - "comment_count": 1, - "resolved": false, + "comment_count": 2, + "resolved": true, "labels": [ - "feat-scores" + "feat-prompt-management" ], "author": { - "login": "ge28yen", - "html_url": "https://github.com/ge28yen" + "login": "simicvm", + "html_url": "https://github.com/simicvm" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3409, - "title": "Add graph view for LangGraph traces", - "href": "https://github.com/orgs/langfuse/discussions/3409", - "created_at": "2024-09-19T07:55:02Z", - "upvotes": 5, - "comment_count": 1, + "number": 3525, + "title": "Applying database migrations failed. This is mostly caused by the database being unavailable", + "href": "https://github.com/orgs/langfuse/discussions/3525", + "created_at": "2024-09-29T11:14:04Z", + "upvotes": 1, + "comment_count": 3, "resolved": false, "labels": [ - "integration-langchain" + "self-hosting" ], "author": { - "login": "hassiebp", - "html_url": "https://github.com/hassiebp" + "login": "NanthagopalEswaran", + "html_url": "https://github.com/NanthagopalEswaran" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3402, - "title": "Mask / redact PII from traces logged to langfuse", - "href": "https://github.com/orgs/langfuse/discussions/3402", - "created_at": "2024-09-18T21:04:06Z", - "upvotes": 6, - "comment_count": 3, - "resolved": false, - "labels": [ - "✅ Done", - "security" - ], + "number": 3521, + "title": "is it open source or not?", + "href": "https://github.com/orgs/langfuse/discussions/3521", + "created_at": "2024-09-27T22:07:52Z", + "upvotes": 1, + "comment_count": 1, + "resolved": true, + "labels": [], "author": { - "login": "marcklingen", - "html_url": "https://github.com/marcklingen" + "login": "severfire", + "html_url": "https://github.com/severfire" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3401, - "title": "Make compile and get_langchain_prompt interoperable when using a prompt from langfuse in langchain", - "href": "https://github.com/orgs/langfuse/discussions/3401", - "created_at": "2024-09-18T21:03:20Z", + "number": 3520, + "title": "Langfuse not logging costs on Vertex AI gemini-1.5-flash-002.", + "href": "https://github.com/orgs/langfuse/discussions/3520", + "created_at": "2024-09-27T18:51:08Z", "upvotes": 1, - "comment_count": 2, - "resolved": false, + "comment_count": 1, + "resolved": true, "labels": [ - "feat-prompt-management", - "integration-langchain", - "✅ Done" + "integraton-llamaindex" ], "author": { - "login": "ajram23", - "html_url": "https://github.com/ajram23" + "login": "arthurbrenno", + "html_url": "https://github.com/arthurbrenno" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3396, - "title": "Better mustache/jinja support in langfuse playground", - "href": "https://github.com/orgs/langfuse/discussions/3396", - "created_at": "2024-09-18T11:54:28Z", - "upvotes": 3, + "number": 3503, + "title": "Not possible to delete prompts programmatically, (langfuse python library or api)", + "href": "https://github.com/orgs/langfuse/discussions/3503", + "created_at": "2024-09-27T12:33:52Z", + "upvotes": 2, "comment_count": 2, - "resolved": false, + "resolved": true, "labels": [ - "feat-playground" + "feat-prompt-management" ], "author": { - "login": "FlorDonnaSanders", - "html_url": "https://github.com/FlorDonnaSanders" + "login": "RealGammaNL", + "html_url": "https://github.com/RealGammaNL" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3395, - "title": "Add fine-grained filtering options in python `fetch_traces` API to match web UI", - "href": "https://github.com/orgs/langfuse/discussions/3395", - "created_at": "2024-09-18T11:18:20Z", - "upvotes": 2, - "comment_count": 0, - "resolved": false, - "labels": [], + "number": 3496, + "title": "Unable to fetch prompts without production label", + "href": "https://github.com/orgs/langfuse/discussions/3496", + "created_at": "2024-09-27T03:27:52Z", + "upvotes": 1, + "comment_count": 1, + "resolved": true, + "labels": [ + "feat-prompt-management" + ], "author": { - "login": "evangriffiths", - "html_url": "https://github.com/evangriffiths" + "login": "chandel-aman", + "html_url": "https://github.com/chandel-aman" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3376, - "title": "Allow LangchainCallbackHandler to specify custom input/output?", - "href": "https://github.com/orgs/langfuse/discussions/3376", - "created_at": "2024-09-16T23:45:18Z", + "number": 3489, + "title": "Missing input/output on trace when using openai js integration", + "href": "https://github.com/orgs/langfuse/discussions/3489", + "created_at": "2024-09-26T15:36:06Z", "upvotes": 1, - "comment_count": 1, + "comment_count": 2, "resolved": false, "labels": [ - "integration-langchain" + "integration-openai" ], "author": { - "login": "xxkennyxu", - "html_url": "https://github.com/xxkennyxu" + "login": "dimitrydesilias", + "html_url": "https://github.com/dimitrydesilias" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3375, - "title": "Promptfoo integration", - "href": "https://github.com/orgs/langfuse/discussions/3375", - "created_at": "2024-09-16T23:34:34Z", - "upvotes": 2, - "comment_count": 1, - "resolved": false, + "number": 3486, + "title": "Bind all multiple hierarchical call against session-id instead of opening multiple threads", + "href": "https://github.com/orgs/langfuse/discussions/3486", + "created_at": "2024-09-26T06:31:20Z", + "upvotes": 1, + "comment_count": 3, + "resolved": true, "labels": [ - "integrations" + "integration-python-decorator" ], "author": { - "login": "aiseei", - "html_url": "https://github.com/aiseei" + "login": "ajeet6261", + "html_url": "https://github.com/ajeet6261" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3367, - "title": "Default closed dropdown view in trace details", - "href": "https://github.com/orgs/langfuse/discussions/3367", - "created_at": "2024-09-16T12:47:26Z", - "upvotes": 2, - "comment_count": 1, - "resolved": false, + "number": 3485, + "title": "How to avoid memory leaks due to LangchainCallbackHandler while using userId and sessionId", + "href": "https://github.com/orgs/langfuse/discussions/3485", + "created_at": "2024-09-26T00:07:14Z", + "upvotes": 1, + "comment_count": 6, + "resolved": true, "labels": [ - "ui" + "integration-langchain", + "feat-users", + "feat-sessions" ], "author": { - "login": "jannikmaierhoefer", - "html_url": "https://github.com/jannikmaierhoefer" + "login": "Chengdyc", + "html_url": "https://github.com/Chengdyc" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3363, - "title": "Dashboard: TPM chart", - "href": "https://github.com/orgs/langfuse/discussions/3363", - "created_at": "2024-09-16T07:53:52Z", - "upvotes": 2, + "number": 3480, + "title": "How to provide a TLS Cert for PGSQL cloud connection in Langfuse docker container?", + "href": "https://github.com/orgs/langfuse/discussions/3480", + "created_at": "2024-09-25T20:44:17Z", + "upvotes": 1, + "comment_count": 2, + "resolved": true, + "labels": [ + "self-hosting" + ], + "author": { + "login": "barvhaim", + "html_url": "https://github.com/barvhaim" + }, + "category": "Support" + }, + { + "number": 3477, + "title": "LangFuse Low Level SDK does not render images by passing the link", + "href": "https://github.com/orgs/langfuse/discussions/3477", + "created_at": "2024-09-25T15:15:54Z", + "upvotes": 1, "comment_count": 1, "resolved": false, "labels": [ - "feat-dashboard" + "feat-multimodal" ], "author": { - "login": "afonsomatos", - "html_url": "https://github.com/afonsomatos" + "login": "VikramShenoy97", + "html_url": "https://github.com/VikramShenoy97" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3361, - "title": "Group Similar or Consecutive Traces", - "href": "https://github.com/orgs/langfuse/discussions/3361", - "created_at": "2024-09-16T05:38:40Z", + "number": 3469, + "title": "raise exception when handle_span_events", + "href": "https://github.com/orgs/langfuse/discussions/3469", + "created_at": "2024-09-25T00:56:32Z", "upvotes": 1, - "comment_count": 1, + "comment_count": 2, "resolved": false, "labels": [], "author": { - "login": "rvndbalaji", - "html_url": "https://github.com/rvndbalaji" + "login": "nightosong", + "html_url": "https://github.com/nightosong" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3358, - "title": "More customization in graphs and dashboard panels", - "href": "https://github.com/orgs/langfuse/discussions/3358", - "created_at": "2024-09-14T03:12:38Z", + "number": 3466, + "title": "How to get costs associated with an API call / user?", + "href": "https://github.com/orgs/langfuse/discussions/3466", + "created_at": "2024-09-24T19:33:56Z", "upvotes": 1, "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [ - "feat-dashboard" + "feat-users", + "feat-cost-tracking" ], "author": { - "login": "emaugars12", - "html_url": "https://github.com/emaugars12" + "login": "punkpeye", + "html_url": "https://github.com/punkpeye" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3352, - "title": "LLM Based Evaluation - more control with mapping a variable e.g. {{query}}, {{ground_truth}} etc inside of Input/Output/Metadata observation", - "href": "https://github.com/orgs/langfuse/discussions/3352", - "created_at": "2024-09-13T16:58:05Z", - "upvotes": 2, + "number": 3465, + "title": "How to run langfuse locally while using a hosted database", + "href": "https://github.com/orgs/langfuse/discussions/3465", + "created_at": "2024-09-24T14:24:29Z", + "upvotes": 1, "comment_count": 1, - "resolved": false, - "labels": [], + "resolved": true, + "labels": [ + "self-hosting" + ], "author": { - "login": "stepanogil", - "html_url": "https://github.com/stepanogil" + "login": "wil0u", + "html_url": "https://github.com/wil0u" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3351, - "title": "Support for Firebase Genkit", - "href": "https://github.com/orgs/langfuse/discussions/3351", - "created_at": "2024-09-13T16:29:07Z", + "number": 3462, + "title": "how to set user_id or session_id in trace?", + "href": "https://github.com/orgs/langfuse/discussions/3462", + "created_at": "2024-09-24T08:34:59Z", "upvotes": 1, - "comment_count": 1, - "resolved": false, + "comment_count": 2, + "resolved": true, "labels": [ - "integrations" + "integration-python-decorator", + "feat-users", + "feat-sessions" ], "author": { - "login": "debkanchan", - "html_url": "https://github.com/debkanchan" + "login": "yumc2573", + "html_url": "https://github.com/yumc2573" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3338, - "title": "o1-preview and o1-mini support", - "href": "https://github.com/orgs/langfuse/discussions/3338", - "created_at": "2024-09-13T07:16:22Z", + "number": 3460, + "title": "Langfuse observation for openai embeddings method", + "href": "https://github.com/orgs/langfuse/discussions/3460", + "created_at": "2024-09-24T06:01:06Z", "upvotes": 2, - "comment_count": 3, - "resolved": false, + "comment_count": 2, + "resolved": true, "labels": [ - "✅ Done" + "integration-openai", + "integration-python-decorator", + "feat-cost-tracking" ], "author": { - "login": "juan-abia", - "html_url": "https://github.com/juan-abia" + "login": "simrangulati-jktech", + "html_url": "https://github.com/simrangulati-jktech" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3336, - "title": "Add Notification for / in Comments Objects", - "href": "https://github.com/orgs/langfuse/discussions/3336", - "created_at": "2024-09-13T00:04:16Z", + "number": 3446, + "title": "Right way to migrate langfuse deployed on K8s within an AWS account", + "href": "https://github.com/orgs/langfuse/discussions/3446", + "created_at": "2024-09-23T06:32:02Z", "upvotes": 1, "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [ - "feat-comments" + "self-hosting" ], "author": { - "login": "Zugunruhekami", - "html_url": "https://github.com/Zugunruhekami" + "login": "nithin1995", + "html_url": "https://github.com/nithin1995" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3335, - "title": "Extend Searchability (through filter) for Comments Objects", - "href": "https://github.com/orgs/langfuse/discussions/3335", - "created_at": "2024-09-12T23:58:17Z", + "number": 3435, + "title": "Langfuse is inconsistently generating span latencies table in traces greater than 36K entiries", + "href": "https://github.com/orgs/langfuse/discussions/3435", + "created_at": "2024-09-20T18:54:28Z", "upvotes": 1, - "comment_count": 0, - "resolved": false, - "labels": [ - "feat-comments" - ], + "comment_count": 3, + "resolved": true, + "labels": [], "author": { - "login": "Zugunruhekami", - "html_url": "https://github.com/Zugunruhekami" + "login": "databloom", + "html_url": "https://github.com/databloom" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3291, - "title": "Filter by error in sub span", - "href": "https://github.com/orgs/langfuse/discussions/3291", - "created_at": "2024-09-10T13:20:11Z", - "upvotes": 2, - "comment_count": 3, - "resolved": false, + "number": 3429, + "title": "Async version of Langfuse.get_prompt", + "href": "https://github.com/orgs/langfuse/discussions/3429", + "created_at": "2024-09-20T14:26:51Z", + "upvotes": 1, + "comment_count": 1, + "resolved": true, "labels": [ - "✅ Done", - "feat-log-levels" + "feat-prompt-management" ], "author": { - "login": "bettlebrox", - "html_url": "https://github.com/bettlebrox" + "login": "antoniomdk", + "html_url": "https://github.com/antoniomdk" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3289, - "title": "Deleting old, unused tags or making them unseen if weren't used in the chosen time window.", - "href": "https://github.com/orgs/langfuse/discussions/3289", - "created_at": "2024-09-10T12:56:43Z", + "number": 3420, + "title": "Help setting up GCP host (cloudbuild or console)", + "href": "https://github.com/orgs/langfuse/discussions/3420", + "created_at": "2024-09-20T04:34:35Z", "upvotes": 1, - "comment_count": 1, + "comment_count": 3, "resolved": false, "labels": [ - "feat-tags" + "self-hosting" ], "author": { - "login": "constalozinschi", - "html_url": "https://github.com/constalozinschi" + "login": "elliottower", + "html_url": "https://github.com/elliottower" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3285, - "title": "SDK-JS: Allow to delete one or more trace", - "href": "https://github.com/orgs/langfuse/discussions/3285", - "created_at": "2024-09-10T09:26:04Z", - "upvotes": 5, - "comment_count": 2, - "resolved": false, + "number": 3410, + "title": "Configuring Evaluation with \"Correctness\" Template & Python Code Invocation", + "href": "https://github.com/orgs/langfuse/discussions/3410", + "created_at": "2024-09-19T09:44:42Z", + "upvotes": 1, + "comment_count": 3, + "resolved": true, "labels": [ - "sdk-js" + "feat-scores" ], "author": { - "login": "Lunik", - "html_url": "https://github.com/Lunik" + "login": "zoulou00", + "html_url": "https://github.com/zoulou00" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3276, - "title": "Retrieve the trace by metdata", - "href": "https://github.com/orgs/langfuse/discussions/3276", - "created_at": "2024-09-09T20:51:08Z", - "upvotes": 3, - "comment_count": 0, - "resolved": false, + "number": 3406, + "title": "Module not found: Can't resolve '@langfuse'", + "href": "https://github.com/orgs/langfuse/discussions/3406", + "created_at": "2024-09-19T05:57:04Z", + "upvotes": 1, + "comment_count": 1, + "resolved": true, "labels": [ - "feat-metadata" + "self-hosting" ], "author": { - "login": "gingerjx", - "html_url": "https://github.com/gingerjx" + "login": "christosuster", + "html_url": "https://github.com/christosuster" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3275, - "title": "Include metrics and scores in getDatasetRun / `GET /api/public/datasets/{datasetName}/runs/{runName}`", - "href": "https://github.com/orgs/langfuse/discussions/3275", - "created_at": "2024-09-09T20:48:16Z", - "upvotes": 3, - "comment_count": 0, + "number": 3397, + "title": "tokens and usage cost", + "href": "https://github.com/orgs/langfuse/discussions/3397", + "created_at": "2024-09-18T13:05:07Z", + "upvotes": 1, + "comment_count": 2, + "resolved": true, + "labels": [ + "feat-cost-tracking" + ], + "author": { + "login": "Karanaiinfox", + "html_url": "https://github.com/Karanaiinfox" + }, + "category": "Support" + }, + { + "number": 3393, + "title": "Self-Host evaluation feature", + "href": "https://github.com/orgs/langfuse/discussions/3393", + "created_at": "2024-09-18T07:55:30Z", + "upvotes": 1, + "comment_count": 2, + "resolved": true, + "labels": [ + "feat-evals" + ], + "author": { + "login": "MayankBitcot", + "html_url": "https://github.com/MayankBitcot" + }, + "category": "Support" + }, + { + "number": 3392, + "title": "not able to track entire request end to end in langchain + langfuse", + "href": "https://github.com/orgs/langfuse/discussions/3392", + "created_at": "2024-09-18T07:08:49Z", + "upvotes": 1, + "comment_count": 2, "resolved": false, "labels": [ - "feat-datasets" + "integration-langchain" ], "author": { - "login": "gingerjx", - "html_url": "https://github.com/gingerjx" + "login": "jaiswalvineet", + "html_url": "https://github.com/jaiswalvineet" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3273, - "title": "Custom Themes", - "href": "https://github.com/orgs/langfuse/discussions/3273", - "created_at": "2024-09-09T15:08:25Z", + "number": 3379, + "title": "Feedback for “Langfuse Documentation”", + "href": "https://github.com/orgs/langfuse/discussions/3379", + "created_at": "2024-09-17T07:44:56Z", "upvotes": 1, - "comment_count": 1, + "comment_count": 3, "resolved": false, "labels": [], "author": { - "login": "rvndbalaji", - "html_url": "https://github.com/rvndbalaji" + "login": "Preet1234-ux", + "html_url": "https://github.com/Preet1234-ux" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3263, - "title": "Comment API", - "href": "https://github.com/orgs/langfuse/discussions/3263", - "created_at": "2024-09-07T05:53:31Z", + "number": 3364, + "title": "Hey want to change the Eval Templates name, can we do it from UI", + "href": "https://github.com/orgs/langfuse/discussions/3364", + "created_at": "2024-09-16T08:07:30Z", "upvotes": 1, - "comment_count": 1, - "resolved": false, + "comment_count": 3, + "resolved": true, "labels": [ - "feat-api", - "feat-datasets" + "feat-evals" ], "author": { - "login": "darvin", - "html_url": "https://github.com/darvin" + "login": "divyanshubhuta", + "html_url": "https://github.com/divyanshubhuta" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3256, - "title": "Integration with LangChain4j", - "href": "https://github.com/orgs/langfuse/discussions/3256", - "created_at": "2024-09-06T15:50:51Z", - "upvotes": 2, + "number": 3344, + "title": "How to use langfuse with LangGraph Studio", + "href": "https://github.com/orgs/langfuse/discussions/3344", + "created_at": "2024-09-13T11:35:53Z", + "upvotes": 1, "comment_count": 2, "resolved": false, "labels": [ - "integrations", - "feat-prompt-management", "integration-langchain" ], "author": { - "login": "ruizrube", - "html_url": "https://github.com/ruizrube" + "login": "debkanchan", + "html_url": "https://github.com/debkanchan" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3252, - "title": "Need to retain the old evaluation history results, including input and all ground truth", - "href": "https://github.com/orgs/langfuse/discussions/3252", - "created_at": "2024-09-06T03:29:17Z", + "number": 3321, + "title": "Session ids for Langserve", + "href": "https://github.com/orgs/langfuse/discussions/3321", + "created_at": "2024-09-11T22:40:01Z", "upvotes": 1, "comment_count": 1, "resolved": false, "labels": [ - "feat-datasets" + "integration-langchain", + "feat-sessions" ], "author": { - "login": "serlina", - "html_url": "https://github.com/serlina" + "login": "YaphetKG", + "html_url": "https://github.com/YaphetKG" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3243, - "title": "Add organization / project / user / API key management API", - "href": "https://github.com/orgs/langfuse/discussions/3243", - "created_at": "2024-09-05T08:10:12Z", - "upvotes": 9, - "comment_count": 5, - "resolved": false, + "number": 3313, + "title": "how to pass custom user managed model name to calculate the cost via langchain", + "href": "https://github.com/orgs/langfuse/discussions/3313", + "created_at": "2024-09-11T13:25:48Z", + "upvotes": 1, + "comment_count": 3, + "resolved": true, "labels": [ - "self-hosting" + "integration-langchain", + "feat-cost-tracking" ], "author": { - "login": "EricAntidot", - "html_url": "https://github.com/EricAntidot" + "login": "jaiswalvineet", + "html_url": "https://github.com/jaiswalvineet" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3240, - "title": "Ability to export all traces/sessions/scores from langfuse and import back to another langfuse instance", - "href": "https://github.com/orgs/langfuse/discussions/3240", - "created_at": "2024-09-05T07:11:48Z", - "upvotes": 5, + "number": 3308, + "title": "Automated Prompt Management across Environments", + "href": "https://github.com/orgs/langfuse/discussions/3308", + "created_at": "2024-09-11T09:31:26Z", + "upvotes": 1, "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [ - "self-hosting" + "feat-prompt-management" ], "author": { - "login": "SinghCoder", - "html_url": "https://github.com/SinghCoder" + "login": "jonnyforsterMSG", + "html_url": "https://github.com/jonnyforsterMSG" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3237, - "title": "Support for Selecting Specific Paths from JSON Objects in Evaluation Prompts", - "href": "https://github.com/orgs/langfuse/discussions/3237", - "created_at": "2024-09-05T05:05:48Z", - "upvotes": 2, - "comment_count": 2, - "resolved": false, + "number": 3307, + "title": "DataSet Scores are not being displayed", + "href": "https://github.com/orgs/langfuse/discussions/3307", + "created_at": "2024-09-11T08:46:31Z", + "upvotes": 1, + "comment_count": 3, + "resolved": true, "labels": [ - "feat-evals" + "feat-datasets" ], "author": { - "login": "divyanshubhuta", - "html_url": "https://github.com/divyanshubhuta" + "login": "MaxYaz", + "html_url": "https://github.com/MaxYaz" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3220, - "title": "Trace Logprobs from OpenAI models", - "href": "https://github.com/orgs/langfuse/discussions/3220", - "created_at": "2024-09-04T01:25:15Z", - "upvotes": 2, - "comment_count": 0, + "number": 3305, + "title": "bug: cost usage are not getting captured automatically from llm response", + "href": "https://github.com/orgs/langfuse/discussions/3305", + "created_at": "2024-09-11T05:02:03Z", + "upvotes": 1, + "comment_count": 2, "resolved": false, - "labels": [ - "integration-openai" - ], + "labels": [], "author": { - "login": "yusuke-intern", - "html_url": "https://github.com/yusuke-intern" + "login": "ajeet6261", + "html_url": "https://github.com/ajeet6261" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3215, - "title": "(ui) Ability to hide \"scores\" column", - "href": "https://github.com/orgs/langfuse/discussions/3215", - "created_at": "2024-09-03T15:34:14Z", - "upvotes": 2, + "number": 3271, + "title": "Understanding pricing model (self-hosting vs cloud serving) from security perspective", + "href": "https://github.com/orgs/langfuse/discussions/3271", + "created_at": "2024-09-09T14:07:32Z", + "upvotes": 1, "comment_count": 2, "resolved": false, "labels": [], "author": { - "login": "marctorsoc", - "html_url": "https://github.com/marctorsoc" + "login": "uahmad235", + "html_url": "https://github.com/uahmad235" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3212, - "title": "Dataset run description and metadata should not be fixed on the page", - "href": "https://github.com/orgs/langfuse/discussions/3212", - "created_at": "2024-09-03T12:30:34Z", + "number": 3267, + "title": "python decorator grouping in trace when using FastAPI Server Sent Events and Langraph + custom function", + "href": "https://github.com/orgs/langfuse/discussions/3267", + "created_at": "2024-09-09T11:10:00Z", "upvotes": 1, - "comment_count": 1, + "comment_count": 4, "resolved": false, "labels": [ - "feat-datasets" + "integration-langchain", + "integration-python-decorator" ], "author": { - "login": "justinas-kazanavicius", - "html_url": "https://github.com/justinas-kazanavicius" + "login": "lixxvsky", + "html_url": "https://github.com/lixxvsky" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3208, - "title": "Support for exporting traces to CSV/JSON", - "href": "https://github.com/orgs/langfuse/discussions/3208", - "created_at": "2024-09-03T08:00:36Z", - "upvotes": 4, - "comment_count": 2, - "resolved": false, - "labels": [ - "✅ Done" - ], - "author": { - "login": "david1542", - "html_url": "https://github.com/david1542" - }, - "category": "Ideas" - }, - { - "number": 3194, - "title": "Optionally set timestamp when creating a score", - "href": "https://github.com/orgs/langfuse/discussions/3194", - "created_at": "2024-09-02T15:20:20Z", + "number": 3254, + "title": "Vercel AI SDK and Svelte. How to push traces intermittently back to langfuse", + "href": "https://github.com/orgs/langfuse/discussions/3254", + "created_at": "2024-09-06T13:37:17Z", "upvotes": 1, "comment_count": 1, "resolved": false, "labels": [ - "feat-api", - "feat-scores" + "integration-vercel-ai-sdk" ], "author": { - "login": "FlorDonnaSanders", - "html_url": "https://github.com/FlorDonnaSanders" + "login": "oghaAI", + "html_url": "https://github.com/oghaAI" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3186, - "title": "Setting trace ID and parent observation ID with Python decorator SDK", - "href": "https://github.com/orgs/langfuse/discussions/3186", - "created_at": "2024-09-02T09:27:36Z", + "number": 3210, + "title": "When using callbacks, the langfuse_context.update_current_trace method does not function properly.", + "href": "https://github.com/orgs/langfuse/discussions/3210", + "created_at": "2024-09-03T10:29:29Z", "upvotes": 1, - "comment_count": 3, - "resolved": false, - "labels": [ - "✅ Done", - "integration-python-decorator" - ], - "author": { - "login": "MrOrz", - "html_url": "https://github.com/MrOrz" - }, - "category": "Ideas" - }, - { - "number": 3181, - "title": "Log only metadata", - "href": "https://github.com/orgs/langfuse/discussions/3181", - "created_at": "2024-08-31T18:31:11Z", - "upvotes": 2, - "comment_count": 0, + "comment_count": 4, "resolved": false, "labels": [], "author": { - "login": "jan-kubica", - "html_url": "https://github.com/jan-kubica" + "login": "hgliyuhao", + "html_url": "https://github.com/hgliyuhao" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3178, - "title": "The display time on the x-axis of the chart in the Dashboard shows only the date, without hours, minutes, and seconds.", - "href": "https://github.com/orgs/langfuse/discussions/3178", - "created_at": "2024-08-31T04:09:07Z", + "number": 3207, + "title": "change of data region", + "href": "https://github.com/orgs/langfuse/discussions/3207", + "created_at": "2024-09-03T06:06:48Z", "upvotes": 1, "comment_count": 1, - "resolved": false, - "labels": [ - "bug", - "✅ Done", - "feat-dashboard" - ], + "resolved": true, + "labels": [], "author": { - "login": "HGladiator", - "html_url": "https://github.com/HGladiator" + "login": "divyanshubhuta", + "html_url": "https://github.com/divyanshubhuta" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3166, - "title": "Support Tool Calls / Functions in Playground", - "href": "https://github.com/orgs/langfuse/discussions/3166", - "created_at": "2024-08-30T20:04:34Z", - "upvotes": 14, - "comment_count": 10, + "number": 3191, + "title": "Evaluation config setup related query", + "href": "https://github.com/orgs/langfuse/discussions/3191", + "created_at": "2024-09-02T14:48:01Z", + "upvotes": 1, + "comment_count": 2, "resolved": false, - "labels": [ - "feat-playground" - ], + "labels": [], "author": { - "login": "yuyuma", - "html_url": "https://github.com/yuyuma" + "login": "divyanshubhuta", + "html_url": "https://github.com/divyanshubhuta" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3147, - "title": "Add the ability to search by message words in traces and scores", - "href": "https://github.com/orgs/langfuse/discussions/3147", - "created_at": "2024-08-30T08:02:32Z", - "upvotes": 4, - "comment_count": 0, - "resolved": false, + "number": 3182, + "title": "What does `version` means when ingesting trace?", + "href": "https://github.com/orgs/langfuse/discussions/3182", + "created_at": "2024-08-31T20:44:26Z", + "upvotes": 1, + "comment_count": 2, + "resolved": true, "labels": [], "author": { - "login": "ValentinKovalev", - "html_url": "https://github.com/ValentinKovalev" + "login": "STRRL", + "html_url": "https://github.com/STRRL" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3131, - "title": "Diff of prompt versions", - "href": "https://github.com/orgs/langfuse/discussions/3131", - "created_at": "2024-08-29T11:43:24Z", - "upvotes": 6, + "number": 3176, + "title": "Get all the generations, events, etc. under Trace", + "href": "https://github.com/orgs/langfuse/discussions/3176", + "created_at": "2024-08-31T02:10:28Z", + "upvotes": 1, "comment_count": 1, - "resolved": false, - "labels": [ - "feat-prompt-management" - ], + "resolved": true, + "labels": [], "author": { - "login": "dylanjcastillo", - "html_url": "https://github.com/dylanjcastillo" + "login": "bytecod3r", + "html_url": "https://github.com/bytecod3r" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3129, - "title": "The LangchainCallbackHandler supports statistical delay of the first token", - "href": "https://github.com/orgs/langfuse/discussions/3129", - "created_at": "2024-08-29T09:26:11Z", - "upvotes": 3, + "number": 3168, + "title": "usage pattern for new llamaindex integration", + "href": "https://github.com/orgs/langfuse/discussions/3168", + "created_at": "2024-08-30T20:23:17Z", + "upvotes": 1, "comment_count": 2, - "resolved": false, + "resolved": true, "labels": [ - "integration-langchain", - "✅ Done" + "integraton-llamaindex" ], "author": { - "login": "Hacky-DH", - "html_url": "https://github.com/Hacky-DH" + "login": "erik-squared", + "html_url": "https://github.com/erik-squared" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3112, - "title": "Request Role elevation from Langfuse UI", - "href": "https://github.com/orgs/langfuse/discussions/3112", - "created_at": "2024-08-28T13:15:21Z", + "number": 3132, + "title": "Tracing ChatGoogleGenerativeAI calls in langchain doesn't return usage metadata", + "href": "https://github.com/orgs/langfuse/discussions/3132", + "created_at": "2024-08-29T13:09:13Z", "upvotes": 1, - "comment_count": 0, + "comment_count": 1, "resolved": false, "labels": [ - "feat-rbac" + "integration-langchain" ], "author": { - "login": "thund3rbrd", - "html_url": "https://github.com/thund3rbrd" + "login": "NeerajG03", + "html_url": "https://github.com/NeerajG03" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3111, - "title": "Improve RBAC", - "href": "https://github.com/orgs/langfuse/discussions/3111", - "created_at": "2024-08-28T13:08:57Z", + "number": 3124, + "title": "Generation does not come under @observe trace", + "href": "https://github.com/orgs/langfuse/discussions/3124", + "created_at": "2024-08-29T00:28:14Z", "upvotes": 1, - "comment_count": 0, - "resolved": false, - "labels": [ - "feat-rbac" - ], + "comment_count": 2, + "resolved": true, + "labels": [], "author": { - "login": "thund3rbrd", - "html_url": "https://github.com/thund3rbrd" + "login": "SatheeshJM", + "html_url": "https://github.com/SatheeshJM" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3074, - "title": "Add \"image_url\" to Langfuse Prompt types.", - "href": "https://github.com/orgs/langfuse/discussions/3074", - "created_at": "2024-08-26T11:54:32Z", - "upvotes": 2, - "comment_count": 1, + "number": 3120, + "title": "Langfuse 2.74.0 integration with Flowise 2.0.5", + "href": "https://github.com/orgs/langfuse/discussions/3120", + "created_at": "2024-08-28T20:18:19Z", + "upvotes": 1, + "comment_count": 2, "resolved": false, - "labels": [ - "feat-prompt-management" - ], + "labels": [], "author": { - "login": "grobruegge", - "html_url": "https://github.com/grobruegge" + "login": "harshad-c1", + "html_url": "https://github.com/harshad-c1" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3062, - "title": "Support for OpenAI.client.chat.completions.with_raw_response", - "href": "https://github.com/orgs/langfuse/discussions/3062", - "created_at": "2024-08-24T12:55:39Z", + "number": 3110, + "title": "How to set SMTP_CONNECTION_URL and reset password?", + "href": "https://github.com/orgs/langfuse/discussions/3110", + "created_at": "2024-08-28T10:05:06Z", "upvotes": 1, - "comment_count": 1, - "resolved": false, - "labels": [ - "integration-openai" - ], + "comment_count": 2, + "resolved": true, + "labels": [], "author": { - "login": "aman-gupta-doc", - "html_url": "https://github.com/aman-gupta-doc" + "login": "zs856", + "html_url": "https://github.com/zs856" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3053, - "title": "Being able to link Prompts with Traces when using the LangChain integration", - "href": "https://github.com/orgs/langfuse/discussions/3053", - "created_at": "2024-08-23T13:14:21Z", - "upvotes": 2, + "number": 3105, + "title": "Dockerfile of langfuse/langfuse:2 image", + "href": "https://github.com/orgs/langfuse/discussions/3105", + "created_at": "2024-08-28T00:13:57Z", + "upvotes": 1, "comment_count": 2, - "resolved": false, + "resolved": true, "labels": [ - "✅ Done" + "self-hosting" ], "author": { - "login": "jonnyforsterMSG", - "html_url": "https://github.com/jonnyforsterMSG" + "login": "pparreira", + "html_url": "https://github.com/pparreira" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3050, - "title": "Implement dataset removal method", - "href": "https://github.com/orgs/langfuse/discussions/3050", - "created_at": "2024-08-23T11:40:13Z", - "upvotes": 4, - "comment_count": 0, + "number": 3100, + "title": "Time to first token is not populating in trace detail or generations view", + "href": "https://github.com/orgs/langfuse/discussions/3100", + "created_at": "2024-08-27T20:12:14Z", + "upvotes": 1, + "comment_count": 2, + "resolved": true, + "labels": [], + "author": { + "login": "databloom", + "html_url": "https://github.com/databloom" + }, + "category": "Support" + }, + { + "number": 3099, + "title": "Pulling prompts by tag?", + "href": "https://github.com/orgs/langfuse/discussions/3099", + "created_at": "2024-08-27T20:01:45Z", + "upvotes": 1, + "comment_count": 1, "resolved": false, + "labels": [], + "author": { + "login": "mayajosifo", + "html_url": "https://github.com/mayajosifo" + }, + "category": "Support" + }, + { + "number": 3092, + "title": "Deployment into Azure", + "href": "https://github.com/orgs/langfuse/discussions/3092", + "created_at": "2024-08-27T10:05:32Z", + "upvotes": 1, + "comment_count": 2, + "resolved": true, "labels": [ - "feat-datasets" + "self-hosting" ], "author": { - "login": "justinas-kazanavicius", - "html_url": "https://github.com/justinas-kazanavicius" + "login": "GaryFail", + "html_url": "https://github.com/GaryFail" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3023, - "title": "Track openai token usage from stream_options instead of tokenizing the response server-side", - "href": "https://github.com/orgs/langfuse/discussions/3023", - "created_at": "2024-08-22T17:08:08Z", + "number": 3079, + "title": "How to change the Level to ERROR when there is an error in SPAN?", + "href": "https://github.com/orgs/langfuse/discussions/3079", + "created_at": "2024-08-26T15:46:23Z", "upvotes": 3, - "comment_count": 3, - "resolved": false, + "comment_count": 2, + "resolved": true, "labels": [ - "integration-openai", - "✅ Done", - "feat-cost-tracking" + "feat-log-levels" ], "author": { - "login": "kilimchoi", - "html_url": "https://github.com/kilimchoi" + "login": "kftam1994", + "html_url": "https://github.com/kftam1994" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3021, - "title": "Pre-defined user access", - "href": "https://github.com/orgs/langfuse/discussions/3021", - "created_at": "2024-08-22T16:08:19Z", + "number": 3056, + "title": "Support for configuring SMTP email at project level", + "href": "https://github.com/orgs/langfuse/discussions/3056", + "created_at": "2024-08-23T14:41:45Z", "upvotes": 1, - "comment_count": 0, - "resolved": false, + "comment_count": 1, + "resolved": true, "labels": [ "self-hosting" ], "author": { - "login": "LucasMagnum", - "html_url": "https://github.com/LucasMagnum" + "login": "rvndbalaji", + "html_url": "https://github.com/rvndbalaji" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3014, - "title": "Supports filter string using regular expression matching", - "href": "https://github.com/orgs/langfuse/discussions/3014", - "created_at": "2024-08-22T14:39:34Z", + "number": 3003, + "title": "Example GenAI bot with guardrails", + "href": "https://github.com/orgs/langfuse/discussions/3003", + "created_at": "2024-08-22T06:37:29Z", "upvotes": 1, "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "chai3", - "html_url": "https://github.com/chai3" + "login": "wangxj03", + "html_url": "https://github.com/wangxj03" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3004, - "title": "Support for more modalities and base64 content", - "href": "https://github.com/orgs/langfuse/discussions/3004", - "created_at": "2024-08-22T09:50:47Z", - "upvotes": 45, - "comment_count": 17, - "resolved": false, + "number": 2990, + "title": "[Question] using langfuse with llama_index", + "href": "https://github.com/orgs/langfuse/discussions/2990", + "created_at": "2024-08-21T08:00:59Z", + "upvotes": 1, + "comment_count": 2, + "resolved": true, "labels": [ - "✅ Done", - "feat-multimodal" + "integraton-llamaindex" ], "author": { - "login": "marliessophie", - "html_url": "https://github.com/marliessophie" + "login": "nightosong", + "html_url": "https://github.com/nightosong" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2997, - "title": "Filter Span events in dashboard", - "href": "https://github.com/orgs/langfuse/discussions/2997", - "created_at": "2024-08-21T16:25:02Z", - "upvotes": 2, - "comment_count": 0, - "resolved": false, - "labels": [], + "number": 2988, + "title": "Non-langchain generation nested within LangGraph execution", + "href": "https://github.com/orgs/langfuse/discussions/2988", + "created_at": "2024-08-21T05:13:51Z", + "upvotes": 1, + "comment_count": 2, + "resolved": true, + "labels": [ + "integration-langchain" + ], "author": { - "login": "tagaretiro", - "html_url": "https://github.com/tagaretiro" + "login": "mrdrprofuroboros", + "html_url": "https://github.com/mrdrprofuroboros" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2987, - "title": "Claude/openai/google prompt caching", - "href": "https://github.com/orgs/langfuse/discussions/2987", - "created_at": "2024-08-21T04:18:55Z", - "upvotes": 5, - "comment_count": 4, - "resolved": false, + "number": 2983, + "title": "Tracing directly to queue instead of http api", + "href": "https://github.com/orgs/langfuse/discussions/2983", + "created_at": "2024-08-20T14:33:17Z", + "upvotes": 0, + "comment_count": 1, + "resolved": true, "labels": [ - "feat-cost-tracking" + "self-hosting" ], "author": { - "login": "mrdrprofuroboros", - "html_url": "https://github.com/mrdrprofuroboros" + "login": "exotikh3", + "html_url": "https://github.com/exotikh3" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2978, - "title": "Unexpected event format when using `ibm-watsonx-ai` with LangChain extension", - "href": "https://github.com/orgs/langfuse/discussions/2978", - "created_at": "2024-08-20T11:20:28Z", + "number": 3901, + "title": "How to resolve memory leak when integrating Langfuse with LangChain", + "href": "https://github.com/orgs/langfuse/discussions/3901", + "created_at": "2024-08-20T03:14:45Z", "upvotes": 1, - "comment_count": 0, - "resolved": false, + "comment_count": 6, + "resolved": true, "labels": [ "integration-langchain" ], "author": { - "login": "barvhaim", - "html_url": "https://github.com/barvhaim" + "login": "ivan-94", + "html_url": "https://github.com/ivan-94" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2975, - "title": "fetch all users via sdk/api", - "href": "https://github.com/orgs/langfuse/discussions/2975", - "created_at": "2024-08-20T06:52:47Z", + "number": 2959, + "title": "Duplicate usage data in observation api endpoint response", + "href": "https://github.com/orgs/langfuse/discussions/2959", + "created_at": "2024-08-16T10:57:00Z", "upvotes": 1, - "comment_count": 3, - "resolved": false, - "labels": [ - "feat-users" - ], + "comment_count": 2, + "resolved": true, + "labels": [], "author": { - "login": "vincent-larisma", - "html_url": "https://github.com/vincent-larisma" + "login": "jonnyforsterMSG", + "html_url": "https://github.com/jonnyforsterMSG" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2967, - "title": "Tag based usage", - "href": "https://github.com/orgs/langfuse/discussions/2967", - "created_at": "2024-08-19T07:13:26Z", + "number": 2958, + "title": "Time to first token query", + "href": "https://github.com/orgs/langfuse/discussions/2958", + "created_at": "2024-08-16T10:08:42Z", "upvotes": 1, - "comment_count": 1, + "comment_count": 2, "resolved": false, - "labels": [ - "feat-dashboard", - "feat-tags" - ], + "labels": [], "author": { - "login": "aakash-vwo", - "html_url": "https://github.com/aakash-vwo" + "login": "GaryFail", + "html_url": "https://github.com/GaryFail" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2949, - "title": "Auto-patching Langchain to include Langfuse callback handler", - "href": "https://github.com/orgs/langfuse/discussions/2949", - "created_at": "2024-08-15T12:17:32Z", - "upvotes": 3, + "number": 2952, + "title": "Locally hosted PrivateGPT + pgpt_python + Langfuse", + "href": "https://github.com/orgs/langfuse/discussions/2952", + "created_at": "2024-08-15T15:12:16Z", + "upvotes": 1, "comment_count": 1, "resolved": false, - "labels": [ - "integration-langchain" - ], + "labels": [], "author": { - "login": "kongzii", - "html_url": "https://github.com/kongzii" + "login": "qdingle404", + "html_url": "https://github.com/qdingle404" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2923, - "title": "Feature: Add CAS (and maybe SAML) as a authentication method", - "href": "https://github.com/orgs/langfuse/discussions/2923", - "created_at": "2024-08-13T17:18:42Z", - "upvotes": 2, + "number": 2945, + "title": "Unit of token count for cost analysis", + "href": "https://github.com/orgs/langfuse/discussions/2945", + "created_at": "2024-08-15T09:33:59Z", + "upvotes": 1, "comment_count": 1, - "resolved": false, + "resolved": true, + "labels": [], + "author": { + "login": "thomasjv799", + "html_url": "https://github.com/thomasjv799" + }, + "category": "Support" + }, + { + "number": 2933, + "title": "how to return trace_id in openai completion response when using langfuse as a proxy in litellm?", + "href": "https://github.com/orgs/langfuse/discussions/2933", + "created_at": "2024-08-14T07:52:30Z", + "upvotes": 1, + "comment_count": 2, + "resolved": true, "labels": [ - "self-hosting" + "integration-litellm" ], "author": { - "login": "jayteaftw", - "html_url": "https://github.com/jayteaftw" + "login": "octadion", + "html_url": "https://github.com/octadion" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2919, - "title": "Adding access to User's sessions directly", - "href": "https://github.com/orgs/langfuse/discussions/2919", - "created_at": "2024-08-13T12:42:16Z", + "number": 2927, + "title": "Span created with Langchain not showing up in traces.", + "href": "https://github.com/orgs/langfuse/discussions/2927", + "created_at": "2024-08-13T20:32:35Z", "upvotes": 1, - "comment_count": 0, - "resolved": false, + "comment_count": 2, + "resolved": true, "labels": [ - "feat-users", - "feat-sessions" + "integration-langchain" ], "author": { - "login": "Youneesz", - "html_url": "https://github.com/Youneesz" + "login": "HardKothari", + "html_url": "https://github.com/HardKothari" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2883, - "title": "Compare two dataset runs side by side", - "href": "https://github.com/orgs/langfuse/discussions/2883", - "created_at": "2024-08-09T10:40:05Z", - "upvotes": 5, - "comment_count": 1, - "resolved": false, + "number": 2909, + "title": "Change port database in file docker-compose.yml", + "href": "https://github.com/orgs/langfuse/discussions/2909", + "created_at": "2024-08-13T08:05:37Z", + "upvotes": 1, + "comment_count": 2, + "resolved": true, "labels": [ - "feat-datasets" + "self-hosting" ], "author": { - "login": "dmaslov", - "html_url": "https://github.com/dmaslov" + "login": "hungvipqt15", + "html_url": "https://github.com/hungvipqt15" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2881, - "title": "feat (ui): Collapse sidebar by default", - "href": "https://github.com/orgs/langfuse/discussions/2881", - "created_at": "2024-08-09T10:03:39Z", + "number": 2907, + "title": "Change port connection in docker compose", + "href": "https://github.com/orgs/langfuse/discussions/2907", + "created_at": "2024-08-13T06:40:30Z", "upvotes": 1, - "comment_count": 5, + "comment_count": 1, "resolved": false, "labels": [ - "ui" + "self-hosting" ], "author": { - "login": "marctorsoc", - "html_url": "https://github.com/marctorsoc" + "login": "hungvipqt15", + "html_url": "https://github.com/hungvipqt15" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2877, - "title": "Make langfuse deployable to AWS Lambda", - "href": "https://github.com/orgs/langfuse/discussions/2877", - "created_at": "2024-08-09T08:24:14Z", - "upvotes": 3, + "number": 2904, + "title": "How to append current trace when calling function second time?", + "href": "https://github.com/orgs/langfuse/discussions/2904", + "created_at": "2024-08-12T15:12:22Z", + "upvotes": 2, "comment_count": 2, - "resolved": false, - "labels": [], + "resolved": true, + "labels": [ + "integration-python-decorator" + ], "author": { - "login": "MeddahAbdellah", - "html_url": "https://github.com/MeddahAbdellah" + "login": "nathan-vo810", + "html_url": "https://github.com/nathan-vo810" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2870, - "title": "custom base path deployments", - "href": "https://github.com/orgs/langfuse/discussions/2870", - "created_at": "2024-08-08T13:15:51Z", + "number": 2895, + "title": "How to update an event", + "href": "https://github.com/orgs/langfuse/discussions/2895", + "created_at": "2024-08-11T16:51:18Z", "upvotes": 1, "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [], "author": { - "login": "marioweid", - "html_url": "https://github.com/marioweid" + "login": "bytecod3r", + "html_url": "https://github.com/bytecod3r" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2864, - "title": "Add Bedrock Guardrails to the LLM Security documentation", - "href": "https://github.com/orgs/langfuse/discussions/2864", - "created_at": "2024-08-07T23:56:05Z", - "upvotes": 2, - "comment_count": 0, - "resolved": false, + "number": 2888, + "title": "How to change the level of a trace?", + "href": "https://github.com/orgs/langfuse/discussions/2888", + "created_at": "2024-08-09T14:35:34Z", + "upvotes": 3, + "comment_count": 2, + "resolved": true, "labels": [ - "feat-llm-security", - "integration-amazon-bedrock" + "feat-log-levels" ], "author": { - "login": "wirjo", - "html_url": "https://github.com/wirjo" + "login": "ldbolanos", + "html_url": "https://github.com/ldbolanos" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2863, - "title": "Add AWS as a deployment option in the documentation", - "href": "https://github.com/orgs/langfuse/discussions/2863", - "created_at": "2024-08-07T23:53:40Z", - "upvotes": 3, - "comment_count": 1, + "number": 2879, + "title": "ERROR:langfuse:status_code: 404, body: {'message': 'Trace not found within authorized project', 'error': 'LangfuseNotFoundError'}", + "href": "https://github.com/orgs/langfuse/discussions/2879", + "created_at": "2024-08-09T09:31:33Z", + "upvotes": 1, + "comment_count": 3, "resolved": false, - "labels": [ - "✅ Done", - "self-hosting" - ], + "labels": [], "author": { - "login": "wirjo", - "html_url": "https://github.com/wirjo" + "login": "nithin1995", + "html_url": "https://github.com/nithin1995" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2850, - "title": "Feat (ui): Move columns", - "href": "https://github.com/orgs/langfuse/discussions/2850", - "created_at": "2024-08-07T11:55:55Z", + "number": 2874, + "title": "Does langfuse trace parallel api calls? I tried a sample with parallel call but it didn't traced.", + "href": "https://github.com/orgs/langfuse/discussions/2874", + "created_at": "2024-08-09T05:09:26Z", "upvotes": 1, - "comment_count": 0, + "comment_count": 4, "resolved": false, "labels": [], "author": { - "login": "marctorsoc", - "html_url": "https://github.com/marctorsoc" + "login": "ksundarraj-c-rpx", + "html_url": "https://github.com/ksundarraj-c-rpx" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2848, - "title": "Feat: Allow not sorting tags", - "href": "https://github.com/orgs/langfuse/discussions/2848", - "created_at": "2024-08-07T11:50:44Z", + "number": 2871, + "title": "Self-hosted Langfuse running as a Google cloud service not showing traces", + "href": "https://github.com/orgs/langfuse/discussions/2871", + "created_at": "2024-08-08T13:40:34Z", "upvotes": 1, - "comment_count": 1, - "resolved": false, + "comment_count": 2, + "resolved": true, "labels": [ - "feat-tags" + "🐞❔ unconfirmed bug" ], "author": { - "login": "marctorsoc", - "html_url": "https://github.com/marctorsoc" + "login": "SectumPsempra", + "html_url": "https://github.com/SectumPsempra" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2823, - "title": "Need support for ChatOCIGenAI", - "href": "https://github.com/orgs/langfuse/discussions/2823", - "created_at": "2024-08-05T13:34:30Z", - "upvotes": 2, - "comment_count": 0, + "number": 2867, + "title": "Using the API to record traces from multiple platforms?", + "href": "https://github.com/orgs/langfuse/discussions/2867", + "created_at": "2024-08-08T13:15:49Z", + "upvotes": 1, + "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "engchina", - "html_url": "https://github.com/engchina" + "login": "appliraz", + "html_url": "https://github.com/appliraz" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2821, - "title": "Need API endpoints to add projects and users", - "href": "https://github.com/orgs/langfuse/discussions/2821", - "created_at": "2024-08-05T13:10:49Z", - "upvotes": 2, - "comment_count": 1, - "resolved": false, + "number": 2858, + "title": "Langfuse observeOpenAI not logging generations using new zodResponseFormat.", + "href": "https://github.com/orgs/langfuse/discussions/2858", + "created_at": "2024-08-07T21:45:41Z", + "upvotes": 1, + "comment_count": 3, + "resolved": true, "labels": [], "author": { - "login": "kameshbrao", - "html_url": "https://github.com/kameshbrao" + "login": "fabstu", + "html_url": "https://github.com/fabstu" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2812, - "title": "Could you make the Prompt label 36 char long?", - "href": "https://github.com/orgs/langfuse/discussions/2812", - "created_at": "2024-08-02T11:03:08Z", + "number": 2852, + "title": "How run Langfuse evaluations over specifics spans?", + "href": "https://github.com/orgs/langfuse/discussions/2852", + "created_at": "2024-08-07T13:40:02Z", "upvotes": 1, - "comment_count": 1, - "resolved": false, - "labels": [ - "feat-prompt-management", - "✅ Done" - ], - "author": { - "login": "DevSageH", - "html_url": "https://github.com/DevSageH" - }, - "category": "Ideas" - }, - { - "number": 2810, - "title": "Enable setting a label to an existing prompt version via the api/sdk.", - "href": "https://github.com/orgs/langfuse/discussions/2810", - "created_at": "2024-08-01T16:53:06Z", - "upvotes": 10, - "comment_count": 4, - "resolved": false, - "labels": [ - "feat-prompt-management" - ], - "author": { - "login": "ClementNguyen", - "html_url": "https://github.com/ClementNguyen" - }, - "category": "Ideas" - }, - { - "number": 2797, - "title": "Enable list_prompts/search_prompts using client", - "href": "https://github.com/orgs/langfuse/discussions/2797", - "created_at": "2024-07-31T13:45:38Z", - "upvotes": 4, "comment_count": 2, - "resolved": false, + "resolved": true, "labels": [ - "feat-prompt-management" + "integration-langchain", + "feat-evals" ], "author": { - "login": "krlng", - "html_url": "https://github.com/krlng" + "login": "joaoCrulhas", + "html_url": "https://github.com/joaoCrulhas" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2781, - "title": "Add support for custom serialization of observation fields", - "href": "https://github.com/orgs/langfuse/discussions/2781", - "created_at": "2024-07-29T18:49:03Z", - "upvotes": 1, - "comment_count": 2, + "number": 2844, + "title": "LangFuse not logging LlamaIndex events", + "href": "https://github.com/orgs/langfuse/discussions/2844", + "created_at": "2024-08-07T10:46:19Z", + "upvotes": 2, + "comment_count": 3, "resolved": false, "labels": [ - "sdk-python" + "integraton-llamaindex" ], "author": { - "login": "ashamlian-roadway", - "html_url": "https://github.com/ashamlian-roadway" + "login": "adieyal", + "html_url": "https://github.com/adieyal" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2770, - "title": "Add clickable link to the 'release' kwargs in a Trace - this will route to the documentations/change log of that release/version", - "href": "https://github.com/orgs/langfuse/discussions/2770", - "created_at": "2024-07-28T07:08:07Z", + "number": 2830, + "title": "UpdateRoot in the callback handler seems not work", + "href": "https://github.com/orgs/langfuse/discussions/2830", + "created_at": "2024-08-06T08:58:25Z", "upvotes": 1, - "comment_count": 0, - "resolved": false, + "comment_count": 1, + "resolved": true, "labels": [], "author": { - "login": "stepanogil", - "html_url": "https://github.com/stepanogil" + "login": "joaoCrulhas", + "html_url": "https://github.com/joaoCrulhas" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2766, - "title": "Support Exporting LangSmith Run Traces into Langfuse!", - "href": "https://github.com/orgs/langfuse/discussions/2766", - "created_at": "2024-07-27T02:34:44Z", - "upvotes": 3, - "comment_count": 1, - "resolved": false, - "labels": [], + "number": 2828, + "title": "Issue: Integration of Langfuse with DSPy Framework - Zero Values for Cost and Token Usage", + "href": "https://github.com/orgs/langfuse/discussions/2828", + "created_at": "2024-08-06T05:55:30Z", + "upvotes": 1, + "comment_count": 3, + "resolved": true, + "labels": [ + "integration-dspy" + ], "author": { - "login": "p-barman", - "html_url": "https://github.com/p-barman" + "login": "mahitha-29", + "html_url": "https://github.com/mahitha-29" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2747, - "title": "A new configuration env variable for custom URL prefix", - "href": "https://github.com/orgs/langfuse/discussions/2747", - "created_at": "2024-07-25T17:00:57Z", - "upvotes": 1, + "number": 2817, + "title": "Praise for the Langfuse library! 🚀", + "href": "https://github.com/orgs/langfuse/discussions/2817", + "created_at": "2024-08-03T10:53:41Z", + "upvotes": 2, "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [], "author": { - "login": "abdullah-retorio", - "html_url": "https://github.com/abdullah-retorio" + "login": "ttamg", + "html_url": "https://github.com/ttamg" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2746, - "title": "Returning prompts from expired cache may be disabled using a boolean argument", - "href": "https://github.com/orgs/langfuse/discussions/2746", - "created_at": "2024-07-25T15:57:26Z", + "number": 2809, + "title": "No space left on device db error", + "href": "https://github.com/orgs/langfuse/discussions/2809", + "created_at": "2024-08-01T15:10:52Z", "upvotes": 1, - "comment_count": 1, - "resolved": false, + "comment_count": 2, + "resolved": true, "labels": [ - "feat-prompt-management" + "self-hosting" ], "author": { - "login": "ogunoz", - "html_url": "https://github.com/ogunoz" + "login": "nithin1995", + "html_url": "https://github.com/nithin1995" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2745, - "title": "Lazy fallback for get_prompt", - "href": "https://github.com/orgs/langfuse/discussions/2745", - "created_at": "2024-07-25T15:50:32Z", + "number": 2808, + "title": "Dynamic prompt generation", + "href": "https://github.com/orgs/langfuse/discussions/2808", + "created_at": "2024-08-01T14:41:48Z", "upvotes": 1, - "comment_count": 1, - "resolved": false, + "comment_count": 2, + "resolved": true, "labels": [ "feat-prompt-management" ], "author": { - "login": "ogunoz", - "html_url": "https://github.com/ogunoz" + "login": "LLazzar", + "html_url": "https://github.com/LLazzar" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2738, - "title": "Set variables in playground from dataset", - "href": "https://github.com/orgs/langfuse/discussions/2738", - "created_at": "2024-07-25T09:27:30Z", - "upvotes": 4, + "number": 2801, + "title": "Unable to update generation span after LLM invocation", + "href": "https://github.com/orgs/langfuse/discussions/2801", + "created_at": "2024-08-01T03:23:15Z", + "upvotes": 1, "comment_count": 2, - "resolved": false, + "resolved": true, "labels": [ - "feat-datasets", - "feat-playground" + "integration-langchain" ], "author": { - "login": "hbenyamina", - "html_url": "https://github.com/hbenyamina" + "login": "Heucles", + "html_url": "https://github.com/Heucles" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2729, - "title": "Comment thread on Traces", - "href": "https://github.com/orgs/langfuse/discussions/2729", - "created_at": "2024-07-24T13:52:51Z", + "number": 2787, + "title": "Self-hosted (Railway) Authorization error (401) while connecting to host", + "href": "https://github.com/orgs/langfuse/discussions/2787", + "created_at": "2024-07-30T19:23:59Z", "upvotes": 1, "comment_count": 3, "resolved": false, - "labels": [ - "✅ Done", - "feat-comments" - ], + "labels": [], "author": { - "login": "guptakvgaurav", - "html_url": "https://github.com/guptakvgaurav" + "login": "vishnumallela", + "html_url": "https://github.com/vishnumallela" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2728, - "title": "Session-level scores", - "href": "https://github.com/orgs/langfuse/discussions/2728", - "created_at": "2024-07-24T10:05:40Z", - "upvotes": 3, - "comment_count": 3, - "resolved": false, + "number": 2769, + "title": "Continue trace on Celery worker with observe decorator", + "href": "https://github.com/orgs/langfuse/discussions/2769", + "created_at": "2024-07-27T18:23:13Z", + "upvotes": 1, + "comment_count": 2, + "resolved": true, "labels": [ - "feat-scores", - "feat-sessions" + "integration-python-decorator" ], "author": { - "login": "felixsg", - "html_url": "https://github.com/felixsg" + "login": "artefactop", + "html_url": "https://github.com/artefactop" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2721, - "title": "Add note on each prompt version", - "href": "https://github.com/orgs/langfuse/discussions/2721", - "created_at": "2024-07-23T14:48:02Z", - "upvotes": 2, - "comment_count": 1, - "resolved": false, - "labels": [ - "feat-prompt-management" - ], - "author": { - "login": "cubxxw", - "html_url": "https://github.com/cubxxw" - }, - "category": "Ideas" - }, - { - "number": 2720, - "title": "Feature request [UI]: Remember column selection PER project in Traces view", - "href": "https://github.com/orgs/langfuse/discussions/2720", - "created_at": "2024-07-23T13:53:38Z", + "number": 2768, + "title": "How do i register the token count and cost for observe decorator", + "href": "https://github.com/orgs/langfuse/discussions/2768", + "created_at": "2024-07-27T14:47:58Z", "upvotes": 1, "comment_count": 2, - "resolved": false, - "labels": [], + "resolved": true, + "labels": [ + "integration-python-decorator", + "feat-cost-tracking" + ], "author": { - "login": "justingodden", - "html_url": "https://github.com/justingodden" + "login": "yevkim", + "html_url": "https://github.com/yevkim" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2710, - "title": "Support JSON messages in prompt management", - "href": "https://github.com/orgs/langfuse/discussions/2710", - "created_at": "2024-07-23T01:59:12Z", + "number": 2767, + "title": "Missing evaluation metrics", + "href": "https://github.com/orgs/langfuse/discussions/2767", + "created_at": "2024-07-27T05:07:56Z", "upvotes": 1, - "comment_count": 0, - "resolved": false, - "labels": [], - "author": { - "login": "jasonslyvia", - "html_url": "https://github.com/jasonslyvia" - }, - "category": "Ideas" - }, - { - "number": 2704, - "title": "Deleting user's traces via API to be GDPR compliant", - "href": "https://github.com/orgs/langfuse/discussions/2704", - "created_at": "2024-07-22T12:03:22Z", - "upvotes": 8, "comment_count": 2, - "resolved": false, + "resolved": true, "labels": [], "author": { - "login": "Stormyy", - "html_url": "https://github.com/Stormyy" + "login": "MayankBitcot", + "html_url": "https://github.com/MayankBitcot" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2699, - "title": "Schemad or structured configuration for prompt", - "href": "https://github.com/orgs/langfuse/discussions/2699", - "created_at": "2024-07-22T02:29:13Z", - "upvotes": 1, + "number": 2736, + "title": "Ability to upload Cost and Usage metrics in Langfuse for Gemini Models from LlamaIndex", + "href": "https://github.com/orgs/langfuse/discussions/2736", + "created_at": "2024-07-25T06:17:14Z", + "upvotes": 2, "comment_count": 1, "resolved": false, "labels": [ - "feat-prompt-management" + "integraton-llamaindex", + "feat-cost-tracking" ], "author": { - "login": "jasonslyvia", - "html_url": "https://github.com/jasonslyvia" + "login": "ansu86d", + "html_url": "https://github.com/ansu86d" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2697, - "title": "A transparent mode", - "href": "https://github.com/orgs/langfuse/discussions/2697", - "created_at": "2024-07-21T20:55:43Z", + "number": 2735, + "title": "Deployment on K8s", + "href": "https://github.com/orgs/langfuse/discussions/2735", + "created_at": "2024-07-25T04:38:19Z", "upvotes": 1, - "comment_count": 1, - "resolved": false, + "comment_count": 2, + "resolved": true, "labels": [], "author": { - "login": "emsi", - "html_url": "https://github.com/emsi" + "login": "nithin1995", + "html_url": "https://github.com/nithin1995" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2684, - "title": "Langfuse batch prompts api should return prompt configs as well", - "href": "https://github.com/orgs/langfuse/discussions/2684", - "created_at": "2024-07-19T10:05:45Z", + "number": 2718, + "title": "How to ignore inputs when using LangChain?", + "href": "https://github.com/orgs/langfuse/discussions/2718", + "created_at": "2024-07-23T10:58:07Z", "upvotes": 2, "comment_count": 3, "resolved": false, "labels": [ - "feat-prompt-management", - "✅ Done" + "integration-langchain" ], "author": { - "login": "ashutoshsaboo", - "html_url": "https://github.com/ashutoshsaboo" + "login": "justingodden", + "html_url": "https://github.com/justingodden" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2669, - "title": "Visualisation of graph execution", - "href": "https://github.com/orgs/langfuse/discussions/2669", - "created_at": "2024-07-18T08:44:03Z", - "upvotes": 2, - "comment_count": 1, - "resolved": false, - "labels": [], + "number": 2716, + "title": "Langgraph with langfuse", + "href": "https://github.com/orgs/langfuse/discussions/2716", + "created_at": "2024-07-23T09:12:20Z", + "upvotes": 1, + "comment_count": 4, + "resolved": true, + "labels": [ + "integration-langchain" + ], "author": { - "login": "VMinB12", - "html_url": "https://github.com/VMinB12" + "login": "MayankBitcot", + "html_url": "https://github.com/MayankBitcot" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2668, - "title": "I want to say something about user feedback", - "href": "https://github.com/orgs/langfuse/discussions/2668", - "created_at": "2024-07-18T07:57:50Z", + "number": 2714, + "title": "Using langfuse without saving promps", + "href": "https://github.com/orgs/langfuse/discussions/2714", + "created_at": "2024-07-23T08:44:44Z", "upvotes": 1, - "comment_count": 1, - "resolved": false, + "comment_count": 2, + "resolved": true, "labels": [], "author": { - "login": "cubxxw", - "html_url": "https://github.com/cubxxw" + "login": "molntamas", + "html_url": "https://github.com/molntamas" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2664, - "title": "Prompts are supported for export", - "href": "https://github.com/orgs/langfuse/discussions/2664", - "created_at": "2024-07-18T00:43:12Z", + "number": 2712, + "title": "cannot execute INSERT in a read-only transaction", + "href": "https://github.com/orgs/langfuse/discussions/2712", + "created_at": "2024-07-23T07:49:30Z", "upvotes": 1, - "comment_count": 1, + "comment_count": 2, "resolved": false, - "labels": [], + "labels": [ + "self-hosting" + ], "author": { - "login": "cubxxw", - "html_url": "https://github.com/cubxxw" + "login": "damianradowiecki", + "html_url": "https://github.com/damianradowiecki" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2653, - "title": "Web page request is a little slow, whether to consider using golang to reconstruct", - "href": "https://github.com/orgs/langfuse/discussions/2653", - "created_at": "2024-07-17T07:08:45Z", - "upvotes": 1, + "number": 2706, + "title": "Disable tracing of input and output for nested elements with in a chain.", + "href": "https://github.com/orgs/langfuse/discussions/2706", + "created_at": "2024-07-22T16:17:53Z", + "upvotes": 2, "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "cubxxw", - "html_url": "https://github.com/cubxxw" + "login": "jaitd", + "html_url": "https://github.com/jaitd" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2642, - "title": "Add ability to add name or label to a Langfuse API key", - "href": "https://github.com/orgs/langfuse/discussions/2642", - "created_at": "2024-07-16T17:08:42Z", - "upvotes": 5, + "number": 2705, + "title": "Support for adding traces/observations/sessions/events/spans/generations related logging to LF via API", + "href": "https://github.com/orgs/langfuse/discussions/2705", + "created_at": "2024-07-22T12:57:05Z", + "upvotes": 1, "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [], "author": { - "login": "agibralter", - "html_url": "https://github.com/agibralter" + "login": "ashutoshsaboo", + "html_url": "https://github.com/ashutoshsaboo" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2625, - "title": "Track Openai Assistant API costs", - "href": "https://github.com/orgs/langfuse/discussions/2625", - "created_at": "2024-07-15T07:50:18Z", - "upvotes": 4, - "comment_count": 0, + "number": 2671, + "title": "Cannot connect prompt to trace when using Langchain AzureChatOpenai", + "href": "https://github.com/orgs/langfuse/discussions/2671", + "created_at": "2024-07-18T13:30:14Z", + "upvotes": 1, + "comment_count": 2, "resolved": false, - "labels": [ - "integration-openai" - ], + "labels": [], "author": { - "login": "christos-bsq", - "html_url": "https://github.com/christos-bsq" + "login": "nihadazimli", + "html_url": "https://github.com/nihadazimli" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2624, - "title": "Add tool / function calling and tool messages to Prompt Management", - "href": "https://github.com/orgs/langfuse/discussions/2624", - "created_at": "2024-07-15T06:49:50Z", + "number": 2658, + "title": "how to customize trace id when using callback handler in langchain integration", + "href": "https://github.com/orgs/langfuse/discussions/2658", + "created_at": "2024-07-17T13:38:18Z", "upvotes": 3, - "comment_count": 0, - "resolved": false, + "comment_count": 2, + "resolved": true, "labels": [ - "feat-prompt-management" + "integration-langchain" ], "author": { - "login": "eloko7", - "html_url": "https://github.com/eloko7" + "login": "shawnzhu", + "html_url": "https://github.com/shawnzhu" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2622, - "title": "Inbuild langfuse tracing.", - "href": "https://github.com/orgs/langfuse/discussions/2622", - "created_at": "2024-07-13T10:39:13Z", - "upvotes": 1, - "comment_count": 0, - "resolved": false, - "labels": [], - "author": { - "login": "rashid-globallogic", - "html_url": "https://github.com/rashid-globallogic" - }, - "category": "Ideas" - }, - { - "number": 2605, - "title": "DSPy tracing", - "href": "https://github.com/orgs/langfuse/discussions/2605", - "created_at": "2024-07-10T12:52:35Z", + "number": 2640, + "title": "Adding Scores to langfuse with dify", + "href": "https://github.com/orgs/langfuse/discussions/2640", + "created_at": "2024-07-16T16:00:11Z", "upvotes": 2, "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [ - "integrations", - "✅ Done", - "integration-dspy" + "integration-dify" ], "author": { - "login": "paolotamag", - "html_url": "https://github.com/paolotamag" + "login": "shaquelsamir", + "html_url": "https://github.com/shaquelsamir" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2586, - "title": "Feat: Ability to change curreny for model usage costs.", - "href": "https://github.com/orgs/langfuse/discussions/2586", - "created_at": "2024-07-09T15:40:22Z", - "upvotes": 2, + "number": 2619, + "title": "How to add a function to current trace instead of seperate since it's outside lcel chain?", + "href": "https://github.com/orgs/langfuse/discussions/2619", + "created_at": "2024-07-12T07:08:47Z", + "upvotes": 1, "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [ - "feat-cost-tracking" + "integration-langchain" ], "author": { - "login": "jannikstdl", - "html_url": "https://github.com/jannikstdl" + "login": "sarim2000", + "html_url": "https://github.com/sarim2000" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2578, - "title": "Conditional Trace Content/Message submission", - "href": "https://github.com/orgs/langfuse/discussions/2578", - "created_at": "2024-07-09T09:57:26Z", - "upvotes": 3, - "comment_count": 1, + "number": 2616, + "title": "Weird Output for scores when using fetch_traces()", + "href": "https://github.com/orgs/langfuse/discussions/2616", + "created_at": "2024-07-11T12:46:23Z", + "upvotes": 1, + "comment_count": 2, "resolved": false, "labels": [], "author": { - "login": "simonwh", - "html_url": "https://github.com/simonwh" + "login": "kevinpkaria", + "html_url": "https://github.com/kevinpkaria" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2577, - "title": "Detailed and Interactive Plot Visualization like WandB", - "href": "https://github.com/orgs/langfuse/discussions/2577", - "created_at": "2024-07-09T09:19:38Z", - "upvotes": 1, - "comment_count": 3, + "number": 2600, + "title": "Add input Price and Output price for gemini-1.5-pro and gemini-1.5-flash in Models", + "href": "https://github.com/orgs/langfuse/discussions/2600", + "created_at": "2024-07-10T09:52:23Z", + "upvotes": 4, + "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "yusuke-intern", - "html_url": "https://github.com/yusuke-intern" + "login": "fjeanchar", + "html_url": "https://github.com/fjeanchar" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2576, - "title": "Log prob on Langfuse", - "href": "https://github.com/orgs/langfuse/discussions/2576", - "created_at": "2024-07-09T09:16:23Z", + "number": 2599, + "title": "Overall projects dashboard?", + "href": "https://github.com/orgs/langfuse/discussions/2599", + "created_at": "2024-07-10T09:09:02Z", "upvotes": 1, "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [ - "integration-openai" + "feat-dashboard" ], "author": { - "login": "yusuke-intern", - "html_url": "https://github.com/yusuke-intern" + "login": "justingodden", + "html_url": "https://github.com/justingodden" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2573, - "title": "Prompt Cataloguing and prompt github", - "href": "https://github.com/orgs/langfuse/discussions/2573", - "created_at": "2024-07-08T20:05:23Z", + "number": 2597, + "title": "[Errno 111] Connection refused when connecting to langfuse within docker compose", + "href": "https://github.com/orgs/langfuse/discussions/2597", + "created_at": "2024-07-10T09:00:34Z", "upvotes": 1, "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [ - "feat-prompt-management" + "self-hosting" ], "author": { - "login": "kunal2002", - "html_url": "https://github.com/kunal2002" + "login": "bspetrov", + "html_url": "https://github.com/bspetrov" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2571, - "title": "If Data/Metadata given to Langfuse SDK that exceeds Langfuse's limit, log/throw/emit Stack Trace", - "href": "https://github.com/orgs/langfuse/discussions/2571", - "created_at": "2024-07-08T15:17:52Z", + "number": 2595, + "title": "Migrate a local deployment of langfuse from one computer to another", + "href": "https://github.com/orgs/langfuse/discussions/2595", + "created_at": "2024-07-10T07:46:04Z", "upvotes": 1, - "comment_count": 1, - "resolved": false, - "labels": [], - "author": { - "login": "josiahbryan", - "html_url": "https://github.com/josiahbryan" - }, - "category": "Ideas" - }, - { - "number": 2539, - "title": "Include request's `tools` configuration in OpenAI LLM calls", - "href": "https://github.com/orgs/langfuse/discussions/2539", - "created_at": "2024-07-04T11:39:43Z", - "upvotes": 2, - "comment_count": 1, - "resolved": false, + "comment_count": 2, + "resolved": true, "labels": [ - "integration-openai" + "self-hosting" ], "author": { - "login": "ricwo", - "html_url": "https://github.com/ricwo" + "login": "nithin1995", + "html_url": "https://github.com/nithin1995" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2534, - "title": "Simple graphs and metrics for scores and evaluations", - "href": "https://github.com/orgs/langfuse/discussions/2534", - "created_at": "2024-07-03T17:14:42Z", - "upvotes": 2, + "number": 2590, + "title": "Experiments running but inputs and outputs of LLM are not linked to dashboard", + "href": "https://github.com/orgs/langfuse/discussions/2590", + "created_at": "2024-07-09T18:29:22Z", + "upvotes": 1, "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "justinwiley", - "html_url": "https://github.com/justinwiley" + "login": "IbrahimAhmed03", + "html_url": "https://github.com/IbrahimAhmed03" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2529, - "title": "feat: Track Exceptions while using Decorators", - "href": "https://github.com/orgs/langfuse/discussions/2529", - "created_at": "2024-07-03T11:40:19Z", + "number": 2574, + "title": "how to embed langfuse dashboard in other tool", + "href": "https://github.com/orgs/langfuse/discussions/2574", + "created_at": "2024-07-08T21:24:13Z", "upvotes": 1, "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [ - "integration-python-decorator" + "feat-dashboard" ], "author": { - "login": "Manonandan", - "html_url": "https://github.com/Manonandan" + "login": "deepakdeore2004", + "html_url": "https://github.com/deepakdeore2004" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2523, - "title": "Feature Request: Sidebar Display for Trace Details in Dataset Runs", - "href": "https://github.com/orgs/langfuse/discussions/2523", - "created_at": "2024-07-02T15:00:47Z", + "number": 2567, + "title": "How to use prompt management with openai JS?", + "href": "https://github.com/orgs/langfuse/discussions/2567", + "created_at": "2024-07-08T08:22:49Z", "upvotes": 1, - "comment_count": 3, + "comment_count": 2, "resolved": false, "labels": [ - "feat-datasets" + "feat-prompt-management" ], "author": { - "login": "tuan3w", - "html_url": "https://github.com/tuan3w" + "login": "oscarmorrison", + "html_url": "https://github.com/oscarmorrison" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2511, - "title": "Scoring dataset runs, e.g. precision, recall, f-value", - "href": "https://github.com/orgs/langfuse/discussions/2511", - "created_at": "2024-07-02T08:10:21Z", - "upvotes": 8, - "comment_count": 1, + "number": 2564, + "title": "Update metadata when using OpenAI JS Integration", + "href": "https://github.com/orgs/langfuse/discussions/2564", + "created_at": "2024-07-08T07:37:38Z", + "upvotes": 1, + "comment_count": 3, "resolved": false, - "labels": [ - "feat-datasets", - "feat-scores" - ], + "labels": [], "author": { - "login": "yusuke-intern", - "html_url": "https://github.com/yusuke-intern" + "login": "oscarmorrison", + "html_url": "https://github.com/oscarmorrison" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2510, - "title": "How can we see traces of MULTIMODAL llms over langfuse ?", - "href": "https://github.com/orgs/langfuse/discussions/2510", - "created_at": "2024-07-02T05:15:59Z", - "upvotes": 4, - "comment_count": 3, + "number": 2527, + "title": "Can't set trace params e.g session_id when using with llhama_index", + "href": "https://github.com/orgs/langfuse/discussions/2527", + "created_at": "2024-07-02T20:41:53Z", + "upvotes": 2, + "comment_count": 2, "resolved": false, "labels": [ - "✅ Done", - "feat-multimodal" + "integraton-llamaindex" ], "author": { - "login": "Aaryaveerkrishna23", - "html_url": "https://github.com/Aaryaveerkrishna23" + "login": "famoraes", + "html_url": "https://github.com/famoraes" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2509, - "title": "Support OpenTelemetry-based instrumentation (traceloop openllmetry and others)", - "href": "https://github.com/orgs/langfuse/discussions/2509", - "created_at": "2024-07-02T02:29:14Z", - "upvotes": 8, - "comment_count": 7, - "resolved": false, + "number": 2498, + "title": "Method to update prompt template for Langserve use case", + "href": "https://github.com/orgs/langfuse/discussions/2498", + "created_at": "2024-07-01T11:20:08Z", + "upvotes": 2, + "comment_count": 1, + "resolved": true, "labels": [ - "integrations" + "integration-langchain" ], "author": { - "login": "gyliu513", - "html_url": "https://github.com/gyliu513" + "login": "quadcube", + "html_url": "https://github.com/quadcube" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2508, - "title": "Enable Langfuse can expose metrics in Prometheus format", - "href": "https://github.com/orgs/langfuse/discussions/2508", - "created_at": "2024-07-02T02:25:24Z", - "upvotes": 7, - "comment_count": 1, - "resolved": false, + "number": 2486, + "title": "Cost of embedding in langfuse", + "href": "https://github.com/orgs/langfuse/discussions/2486", + "created_at": "2024-06-29T07:50:06Z", + "upvotes": 1, + "comment_count": 2, + "resolved": true, "labels": [], "author": { - "login": "gyliu513", - "html_url": "https://github.com/gyliu513" + "login": "Amitt1412", + "html_url": "https://github.com/Amitt1412" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2501, - "title": "Use Langchain LCEL + Langserve + run time user_id/session_id", - "href": "https://github.com/orgs/langfuse/discussions/2501", - "created_at": "2024-07-01T15:51:47Z", - "upvotes": 4, + "number": 2481, + "title": "Getting all traces logged in a timerange for custom scoring", + "href": "https://github.com/orgs/langfuse/discussions/2481", + "created_at": "2024-06-28T12:09:14Z", + "upvotes": 1, "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [ - "integration-langchain", - "feat-users", - "feat-sessions" + "feat-scores" ], "author": { - "login": "ravediamond", - "html_url": "https://github.com/ravediamond" + "login": "sanandnarayan", + "html_url": "https://github.com/sanandnarayan" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2493, - "title": "Easy token price estimates for 400+ LLMs", - "href": "https://github.com/orgs/langfuse/discussions/2493", - "created_at": "2024-07-01T06:55:56Z", + "number": 2479, + "title": "Cost of embedding", + "href": "https://github.com/orgs/langfuse/discussions/2479", + "created_at": "2024-06-28T06:58:16Z", "upvotes": 1, - "comment_count": 1, - "resolved": false, - "labels": [ - "feat-cost-tracking" - ], + "comment_count": 3, + "resolved": true, + "labels": [], "author": { - "login": "derevyan", - "html_url": "https://github.com/derevyan" + "login": "Amitt1412", + "html_url": "https://github.com/Amitt1412" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2488, - "title": "Add contextmanager support to python decorator", - "href": "https://github.com/orgs/langfuse/discussions/2488", - "created_at": "2024-06-29T20:43:50Z", - "upvotes": 6, - "comment_count": 2, - "resolved": false, + "number": 2455, + "title": "Getting issue with local setup", + "href": "https://github.com/orgs/langfuse/discussions/2455", + "created_at": "2024-06-27T10:23:02Z", + "upvotes": 1, + "comment_count": 1, + "resolved": true, "labels": [ - "integration-python-decorator" + "self-hosting" ], "author": { - "login": "yaniv-aknin", - "html_url": "https://github.com/yaniv-aknin" + "login": "kiranraut7709", + "html_url": "https://github.com/kiranraut7709" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2469, - "title": "Adding userId / author to score (custom metadata)", - "href": "https://github.com/orgs/langfuse/discussions/2469", - "created_at": "2024-06-27T19:02:17Z", + "number": 2447, + "title": "Access observation id in langchain runnable", + "href": "https://github.com/orgs/langfuse/discussions/2447", + "created_at": "2024-06-26T21:03:07Z", "upvotes": 4, - "comment_count": 3, + "comment_count": 1, "resolved": false, "labels": [ - "feat-scores", - "feat-users" + "integration-langchain" ], "author": { - "login": "ivanviragine", - "html_url": "https://github.com/ivanviragine" + "login": "snikch", + "html_url": "https://github.com/snikch" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2456, - "title": "Export to CSV feature in the Traces", - "href": "https://github.com/orgs/langfuse/discussions/2456", - "created_at": "2024-06-27T11:02:47Z", + "number": 2431, + "title": "Trying to work with llama3 in Azure using AzureMLChatOnlineEndpoint but no cost showing up", + "href": "https://github.com/orgs/langfuse/discussions/2431", + "created_at": "2024-06-25T21:20:25Z", "upvotes": 1, - "comment_count": 1, + "comment_count": 2, "resolved": false, "labels": [], "author": { - "login": "Aniket3007", - "html_url": "https://github.com/Aniket3007" + "login": "spacepirate0001", + "html_url": "https://github.com/spacepirate0001" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2454, - "title": "Expand all json-views of Dataset items etc.", - "href": "https://github.com/orgs/langfuse/discussions/2454", - "created_at": "2024-06-27T08:18:23Z", + "number": 2416, + "title": "some tests failed for langfuse-js", + "href": "https://github.com/orgs/langfuse/discussions/2416", + "created_at": "2024-06-25T04:31:35Z", "upvotes": 1, - "comment_count": 1, + "comment_count": 3, "resolved": false, - "labels": [ - "✅ Done", - "feat-datasets" - ], + "labels": [], "author": { - "login": "tkreuder", - "html_url": "https://github.com/tkreuder" + "login": "4t8dd", + "html_url": "https://github.com/4t8dd" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2438, - "title": "Bedrock provider when using llamaindex", - "href": "https://github.com/orgs/langfuse/discussions/2438", - "created_at": "2024-06-26T11:00:54Z", + "number": 2415, + "title": "AUTH AZURE AD returns AADSTS9002325: Proof Key for Code Exchange is required for cross-origin authorization code redemption.", + "href": "https://github.com/orgs/langfuse/discussions/2415", + "created_at": "2024-06-24T18:00:45Z", "upvotes": 1, "comment_count": 1, - "resolved": false, - "labels": [ - "integraton-llamaindex", - "integration-amazon-bedrock" - ], + "resolved": true, + "labels": [], "author": { - "login": "mdciri", - "html_url": "https://github.com/mdciri" + "login": "spacepirate0001", + "html_url": "https://github.com/spacepirate0001" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2437, - "title": "Project members management via public API", - "href": "https://github.com/orgs/langfuse/discussions/2437", - "created_at": "2024-06-26T10:03:50Z", - "upvotes": 3, + "number": 2401, + "title": "Trying to understand why in Langfuse Trace under Stream Completion I get this output:", + "href": "https://github.com/orgs/langfuse/discussions/2401", + "created_at": "2024-06-21T12:22:38Z", + "upvotes": 1, "comment_count": 1, "resolved": false, - "labels": [ - "feat-rbac" - ], + "labels": [], "author": { - "login": "tmarenko", - "html_url": "https://github.com/tmarenko" + "login": "howtodoml", + "html_url": "https://github.com/howtodoml" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2402, - "title": "Add string data type in score config", - "href": "https://github.com/orgs/langfuse/discussions/2402", - "created_at": "2024-06-24T11:12:54Z", - "upvotes": 1, - "comment_count": 1, + "number": 2385, + "title": "Modify trace after getting response from OpenAI", + "href": "https://github.com/orgs/langfuse/discussions/2385", + "created_at": "2024-06-20T18:00:09Z", + "upvotes": 2, + "comment_count": 3, "resolved": false, - "labels": [ - "feat-scores" - ], + "labels": [], "author": { - "login": "emfhal", - "html_url": "https://github.com/emfhal" + "login": "tylerlittlefield", + "html_url": "https://github.com/tylerlittlefield" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2400, - "title": "Support for Custom Base URL Prefix in Langfuse (nextjs basepath)", - "href": "https://github.com/orgs/langfuse/discussions/2400", - "created_at": "2024-06-24T09:57:57Z", - "upvotes": 21, - "comment_count": 9, + "number": 2381, + "title": "LangFuse UI doesn't show all traces despite debug logging saying that all are sent to the server", + "href": "https://github.com/orgs/langfuse/discussions/2381", + "created_at": "2024-06-20T14:02:12Z", + "upvotes": 3, + "comment_count": 1, "resolved": false, - "labels": [ - "✅ Done", - "self-hosting" - ], + "labels": [], "author": { - "login": "databill86", - "html_url": "https://github.com/databill86" + "login": "stokedout", + "html_url": "https://github.com/stokedout" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2397, - "title": "Add ARM64 docker image", - "href": "https://github.com/orgs/langfuse/discussions/2397", - "created_at": "2024-06-21T13:35:24Z", + "number": 2379, + "title": "Langfuse was not able to parse the LLM model", + "href": "https://github.com/orgs/langfuse/discussions/2379", + "created_at": "2024-06-20T08:56:57Z", "upvotes": 1, "comment_count": 2, - "resolved": false, + "resolved": true, "labels": [ - "✅ Done", - "self-hosting" + "integration-langchain", + "integration-amazon-bedrock" ], "author": { - "login": "lucasiscovici", - "html_url": "https://github.com/lucasiscovici" + "login": "fdbvega", + "html_url": "https://github.com/fdbvega" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2390, - "title": "Implement Duplication Check for Prompt Versions in Langfuse", - "href": "https://github.com/orgs/langfuse/discussions/2390", - "created_at": "2024-06-21T08:03:39Z", + "number": 2377, + "title": "Can't see any traces or logs when running Langfuse locally.", + "href": "https://github.com/orgs/langfuse/discussions/2377", + "created_at": "2024-06-19T23:51:46Z", "upvotes": 1, - "comment_count": 1, - "resolved": false, - "labels": [ - "feat-prompt-management" - ], - "author": { - "login": "sapipoZZZ", - "html_url": "https://github.com/sapipoZZZ" - }, - "category": "Ideas" - }, - { - "number": 2378, - "title": "Number of times a prompt was fetched", - "href": "https://github.com/orgs/langfuse/discussions/2378", - "created_at": "2024-06-20T07:37:12Z", - "upvotes": 3, - "comment_count": 0, - "resolved": false, + "comment_count": 6, + "resolved": true, "labels": [ - "feat-prompt-management" + "self-hosting" ], "author": { - "login": "subhampasari", - "html_url": "https://github.com/subhampasari" + "login": "ibdafna", + "html_url": "https://github.com/ibdafna" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2376, - "title": "Allow for custom OAuth scopes when self-hosing", - "href": "https://github.com/orgs/langfuse/discussions/2376", - "created_at": "2024-06-19T22:23:59Z", + "number": 2373, + "title": "Not recording llamaindex response. Please help", + "href": "https://github.com/orgs/langfuse/discussions/2373", + "created_at": "2024-06-19T19:26:30Z", "upvotes": 1, "comment_count": 1, "resolved": false, "labels": [ - "feat-auth" + "integraton-llamaindex" ], "author": { - "login": "0x77dev", - "html_url": "https://github.com/0x77dev" + "login": "mraguth", + "html_url": "https://github.com/mraguth" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2371, - "title": "SBS Markdown mode for dataset runs", - "href": "https://github.com/orgs/langfuse/discussions/2371", - "created_at": "2024-06-19T14:57:32Z", + "number": 2366, + "title": "Add label to prompt from Langfuse UI", + "href": "https://github.com/orgs/langfuse/discussions/2366", + "created_at": "2024-06-18T14:26:14Z", "upvotes": 1, "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [ - "feat-datasets" + "feat-prompt-management" ], "author": { - "login": "pfurovYnP", - "html_url": "https://github.com/pfurovYnP" + "login": "charlieviettq", + "html_url": "https://github.com/charlieviettq" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2358, - "title": "Add view mode to Settings", - "href": "https://github.com/orgs/langfuse/discussions/2358", - "created_at": "2024-06-17T12:48:04Z", - "upvotes": 1, - "comment_count": 1, - "resolved": false, + "number": 2354, + "title": "Link Prompt & Trace with langchain CallbackHandler", + "href": "https://github.com/orgs/langfuse/discussions/2354", + "created_at": "2024-06-17T08:21:56Z", + "upvotes": 2, + "comment_count": 2, + "resolved": true, "labels": [], "author": { - "login": "emfhal", - "html_url": "https://github.com/emfhal" + "login": "derevyan", + "html_url": "https://github.com/derevyan" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2352, - "title": "Support SAML login protocol", - "href": "https://github.com/orgs/langfuse/discussions/2352", - "created_at": "2024-06-17T07:14:14Z", - "upvotes": 4, + "number": 2353, + "title": "[Migration] Auto-migration DB error when upgrade langfuse version", + "href": "https://github.com/orgs/langfuse/discussions/2353", + "created_at": "2024-06-17T08:02:03Z", + "upvotes": 1, "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [ "self-hosting" ], "author": { - "login": "emfhal", - "html_url": "https://github.com/emfhal" + "login": "charlieviettq", + "html_url": "https://github.com/charlieviettq" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2343, - "title": "Bring Langfuse to Cloud Marketplaces", - "href": "https://github.com/orgs/langfuse/discussions/2343", - "created_at": "2024-06-14T06:41:18Z", - "upvotes": 2, + "number": 2351, + "title": "Customize Langchain callback handler to add spans to existing traces created by separate thread/process", + "href": "https://github.com/orgs/langfuse/discussions/2351", + "created_at": "2024-06-17T03:41:57Z", + "upvotes": 1, "comment_count": 2, "resolved": false, "labels": [ - "self-hosting" + "integration-langchain" ], "author": { - "login": "aiakubovich", - "html_url": "https://github.com/aiakubovich" + "login": "Chengdyc", + "html_url": "https://github.com/Chengdyc" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2336, - "title": "Saving a filter", - "href": "https://github.com/orgs/langfuse/discussions/2336", - "created_at": "2024-06-13T09:15:59Z", + "number": 2348, + "title": "not serializable object of type: LangfuseResponseGeneratorSync", + "href": "https://github.com/orgs/langfuse/discussions/2348", + "created_at": "2024-06-14T22:33:09Z", "upvotes": 1, - "comment_count": 0, + "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "avinash361-devrev", - "html_url": "https://github.com/avinash361-devrev" + "login": "howtodoml", + "html_url": "https://github.com/howtodoml" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2331, - "title": "Pendo integration", - "href": "https://github.com/orgs/langfuse/discussions/2331", - "created_at": "2024-06-12T18:22:32Z", + "number": 2346, + "title": "Chain two prompts", + "href": "https://github.com/orgs/langfuse/discussions/2346", + "created_at": "2024-06-14T08:20:48Z", "upvotes": 1, "comment_count": 1, "resolved": false, - "labels": [], + "labels": [ + "feat-prompt-management", + "integration-langchain" + ], "author": { - "login": "mrunaaaaaal", - "html_url": "https://github.com/mrunaaaaaal" + "login": "darkostanimirovic", + "html_url": "https://github.com/darkostanimirovic" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2282, - "title": "[Dashboard] Update Scores Chart to include number of scores on secondary y axis", - "href": "https://github.com/orgs/langfuse/discussions/2282", - "created_at": "2024-06-10T08:41:41Z", + "number": 2344, + "title": "Can you use internal Kubernetes DNS to receive traffic from other Kubernetes workloads?", + "href": "https://github.com/orgs/langfuse/discussions/2344", + "created_at": "2024-06-14T08:15:36Z", "upvotes": 1, "comment_count": 1, - "resolved": false, - "labels": [ - "feat-dashboard" - ], + "resolved": true, + "labels": [], "author": { - "login": "charlieviettq", - "html_url": "https://github.com/charlieviettq" + "login": "smeasures", + "html_url": "https://github.com/smeasures" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2278, - "title": "Type of input and output of each span visible in the UI", - "href": "https://github.com/orgs/langfuse/discussions/2278", - "created_at": "2024-06-08T21:17:48Z", - "upvotes": 3, + "number": 2342, + "title": "Getting trace id out of a langchain runnable", + "href": "https://github.com/orgs/langfuse/discussions/2342", + "created_at": "2024-06-14T01:15:26Z", + "upvotes": 1, "comment_count": 1, - "resolved": false, - "labels": [ - "ui" - ], + "resolved": true, + "labels": [], "author": { - "login": "arthurGrigo", - "html_url": "https://github.com/arthurGrigo" + "login": "salmanmashayekh", + "html_url": "https://github.com/salmanmashayekh" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2268, - "title": "Langfuse retention settings", - "href": "https://github.com/orgs/langfuse/discussions/2268", - "created_at": "2024-06-07T12:27:32Z", - "upvotes": 8, - "comment_count": 6, + "number": 2338, + "title": "Can RBAC Role Assignment be done using Azure AD SSO token?", + "href": "https://github.com/orgs/langfuse/discussions/2338", + "created_at": "2024-06-13T11:29:59Z", + "upvotes": 4, + "comment_count": 2, "resolved": false, - "labels": [], + "labels": [ + "feat-rbac", + "self-hosting" + ], "author": { - "login": "sudhanshu746", - "html_url": "https://github.com/sudhanshu746" + "login": "joshwright10", + "html_url": "https://github.com/joshwright10" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2241, - "title": "Tracing integration with unify.ai", - "href": "https://github.com/orgs/langfuse/discussions/2241", - "created_at": "2024-06-05T15:17:00Z", - "upvotes": 5, + "number": 2298, + "title": "llamaindex: function_call does not generate subspans for a custom AsyncBaseTool class", + "href": "https://github.com/orgs/langfuse/discussions/2298", + "created_at": "2024-06-11T09:28:33Z", + "upvotes": 1, "comment_count": 3, "resolved": false, "labels": [ - "integrations" + "integraton-llamaindex" ], "author": { - "login": "marcklingen", - "html_url": "https://github.com/marcklingen" + "login": "ootkin", + "html_url": "https://github.com/ootkin" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2237, - "title": "Add Langchain Support to Prompt Management", - "href": "https://github.com/orgs/langfuse/discussions/2237", - "created_at": "2024-06-05T10:05:13Z", - "upvotes": 34, - "comment_count": 5, - "resolved": false, + "number": 2290, + "title": "There are no evaluation component in the 2.50 version", + "href": "https://github.com/orgs/langfuse/discussions/2290", + "created_at": "2024-06-10T19:36:30Z", + "upvotes": 1, + "comment_count": 1, + "resolved": true, + "labels": [], + "author": { + "login": "yanlinchn", + "html_url": "https://github.com/yanlinchn" + }, + "category": "Support" + }, + { + "number": 2254, + "title": "Unable to get hello world program working due to incorrect public key / host", + "href": "https://github.com/orgs/langfuse/discussions/2254", + "created_at": "2024-06-06T09:13:53Z", + "upvotes": 3, + "comment_count": 1, + "resolved": true, "labels": [ - "feat-prompt-management", - "integration-langchain", - "✅ Done" + "self-hosting" ], "author": { - "login": "guidev", - "html_url": "https://github.com/guidev" + "login": "mr-nano", + "html_url": "https://github.com/mr-nano" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2226, - "title": "Monitoring Costs and Traces generated by RAGAS", - "href": "https://github.com/orgs/langfuse/discussions/2226", - "created_at": "2024-06-04T09:35:25Z", - "upvotes": 4, + "number": 2244, + "title": "2 traces generated instead of 1", + "href": "https://github.com/orgs/langfuse/discussions/2244", + "created_at": "2024-06-05T17:06:52Z", + "upvotes": 1, "comment_count": 1, - "resolved": false, - "labels": [], + "resolved": true, + "labels": [ + "integration-langchain", + "feat-datasets" + ], "author": { - "login": "paolotamag", - "html_url": "https://github.com/paolotamag" + "login": "nithin1995", + "html_url": "https://github.com/nithin1995" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2215, - "title": "new chart in dashboard for booleans metrics", - "href": "https://github.com/orgs/langfuse/discussions/2215", - "created_at": "2024-06-03T12:48:37Z", + "number": 2211, + "title": "How to clean the langfuse cache data periodically?", + "href": "https://github.com/orgs/langfuse/discussions/2211", + "created_at": "2024-06-03T07:40:22Z", "upvotes": 1, "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [], "author": { - "login": "paolotamag", - "html_url": "https://github.com/paolotamag" + "login": "He-Huang", + "html_url": "https://github.com/He-Huang" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2210, - "title": "MessagesPlaceholder in \"Create New Prompt\" panel", - "href": "https://github.com/orgs/langfuse/discussions/2210", - "created_at": "2024-06-03T06:58:45Z", - "upvotes": 6, - "comment_count": 2, - "resolved": false, + "number": 2207, + "title": "Model Cost does not show up", + "href": "https://github.com/orgs/langfuse/discussions/2207", + "created_at": "2024-06-02T11:08:58Z", + "upvotes": 1, + "comment_count": 1, + "resolved": true, "labels": [ - "feat-prompt-management" + "feat-cost-tracking" ], "author": { - "login": "NIKsun", - "html_url": "https://github.com/NIKsun" + "login": "jannikstdl", + "html_url": "https://github.com/jannikstdl" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2209, - "title": "Enhance data in daily metrics api endpoint", - "href": "https://github.com/orgs/langfuse/discussions/2209", - "created_at": "2024-06-02T14:38:15Z", + "number": 2206, + "title": "Possibilities for auth", + "href": "https://github.com/orgs/langfuse/discussions/2206", + "created_at": "2024-06-01T23:38:39Z", "upvotes": 1, "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [ - "✅ Done", - "feat-api" + "self-hosting" ], "author": { - "login": "matthiaslau", - "html_url": "https://github.com/matthiaslau" + "login": "Getty", + "html_url": "https://github.com/Getty" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2203, - "title": "Ability to add comments to versions of prompts (\"commit message\")", - "href": "https://github.com/orgs/langfuse/discussions/2203", - "created_at": "2024-06-01T13:13:27Z", - "upvotes": 4, - "comment_count": 4, + "number": 2200, + "title": "How does one replace values for a ChatPromptTemplate for Langchain", + "href": "https://github.com/orgs/langfuse/discussions/2200", + "created_at": "2024-05-31T19:39:14Z", + "upvotes": 0, + "comment_count": 2, "resolved": false, - "labels": [ - "feat-prompt-management" - ], + "labels": [], "author": { "login": "ajram23", "html_url": "https://github.com/ajram23" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2195, - "title": "Timeline/graph visualization for traces", - "href": "https://github.com/orgs/langfuse/discussions/2195", - "created_at": "2024-05-31T08:18:11Z", - "upvotes": 7, - "comment_count": 4, + "number": 2188, + "title": "Time to first token?", + "href": "https://github.com/orgs/langfuse/discussions/2188", + "created_at": "2024-05-30T12:45:37Z", + "upvotes": 1, + "comment_count": 1, + "resolved": false, + "labels": [], + "author": { + "login": "jrcapicua", + "html_url": "https://github.com/jrcapicua" + }, + "category": "Support" + }, + { + "number": 2172, + "title": "How to reuse callback handler in langchain integration?", + "href": "https://github.com/orgs/langfuse/discussions/2172", + "created_at": "2024-05-28T15:25:39Z", + "upvotes": 1, + "comment_count": 2, "resolved": false, "labels": [ - "✅ Done" + "integration-langchain" ], "author": { - "login": "david1542", - "html_url": "https://github.com/david1542" + "login": "SebastianStehle", + "html_url": "https://github.com/SebastianStehle" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2194, - "title": "Terraform Provider for internal Langfuse configuration", - "href": "https://github.com/orgs/langfuse/discussions/2194", - "created_at": "2024-05-31T06:23:11Z", + "number": 2165, + "title": "Auth0 not working", + "href": "https://github.com/orgs/langfuse/discussions/2165", + "created_at": "2024-05-28T11:38:43Z", "upvotes": 2, - "comment_count": 1, + "comment_count": 3, "resolved": false, "labels": [ "self-hosting" ], "author": { - "login": "mroedder-d7", - "html_url": "https://github.com/mroedder-d7" + "login": "mforell", + "html_url": "https://github.com/mforell" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2184, - "title": "support query prompt via prompt id", - "href": "https://github.com/orgs/langfuse/discussions/2184", - "created_at": "2024-05-30T02:55:59Z", - "upvotes": 1, + "number": 2162, + "title": "Connect Prompt ID to GENERATIONS when integrate Langfuse in LangChain.", + "href": "https://github.com/orgs/langfuse/discussions/2162", + "created_at": "2024-05-28T00:56:34Z", + "upvotes": 8, "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [], "author": { - "login": "hu9029", - "html_url": "https://github.com/hu9029" + "login": "hdp173", + "html_url": "https://github.com/hdp173" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2181, - "title": "Support for SDK entry-point wrapper around async REST API client", - "href": "https://github.com/orgs/langfuse/discussions/2181", - "created_at": "2024-05-29T17:50:22Z", + "number": 2154, + "title": "__root__ -> items -> 0 -> datasetName field required (type=value_error.missing)", + "href": "https://github.com/orgs/langfuse/discussions/2154", + "created_at": "2024-05-27T11:26:24Z", "upvotes": 1, - "comment_count": 0, + "comment_count": 2, "resolved": false, "labels": [], "author": { - "login": "blazing-gig", - "html_url": "https://github.com/blazing-gig" + "login": "emailic", + "html_url": "https://github.com/emailic" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2176, - "title": "Support querying Users (GET) to support analytics pipeline solutions", - "href": "https://github.com/orgs/langfuse/discussions/2176", - "created_at": "2024-05-29T02:42:13Z", - "upvotes": 2, + "number": 2152, + "title": "get_langchain_handler() alwasy start from trace root.", + "href": "https://github.com/orgs/langfuse/discussions/2152", + "created_at": "2024-05-27T10:47:42Z", + "upvotes": 1, "comment_count": 1, "resolved": false, "labels": [ - "feat-users" + "integration-langchain" ], "author": { - "login": "Tjmstudios", - "html_url": "https://github.com/Tjmstudios" + "login": "hdp173", + "html_url": "https://github.com/hdp173" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2161, - "title": "Prompt version only create when different", - "href": "https://github.com/orgs/langfuse/discussions/2161", - "created_at": "2024-05-27T23:47:21Z", - "upvotes": 4, - "comment_count": 2, - "resolved": false, - "labels": [ - "feat-prompt-management" - ], - "author": { - "login": "brightsparc", - "html_url": "https://github.com/brightsparc" + "number": 2146, + "title": "Customize LangChain Integration.", + "href": "https://github.com/orgs/langfuse/discussions/2146", + "created_at": "2024-05-27T06:12:41Z", + "upvotes": 1, + "comment_count": 1, + "resolved": true, + "labels": [ + "integration-langchain" + ], + "author": { + "login": "hdp173", + "html_url": "https://github.com/hdp173" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2140, - "title": "clickhouse support", - "href": "https://github.com/orgs/langfuse/discussions/2140", - "created_at": "2024-05-24T15:21:14Z", - "upvotes": 2, - "comment_count": 1, + "number": 2145, + "title": "Need help on syntax for editing project roles", + "href": "https://github.com/orgs/langfuse/discussions/2145", + "created_at": "2024-05-26T18:50:59Z", + "upvotes": 1, + "comment_count": 2, "resolved": false, - "labels": [ - "work-in-progress", - "performance" - ], + "labels": [], "author": { - "login": "newcworld", - "html_url": "https://github.com/newcworld" + "login": "hrithik062", + "html_url": "https://github.com/hrithik062" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2131, - "title": "Export to data warehouses (BigQuery etc)", - "href": "https://github.com/orgs/langfuse/discussions/2131", - "created_at": "2024-05-23T15:52:18Z", - "upvotes": 18, + "number": 2142, + "title": "Unable to login with SSO", + "href": "https://github.com/orgs/langfuse/discussions/2142", + "created_at": "2024-05-24T18:40:35Z", + "upvotes": 1, "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [], "author": { - "login": "rohan-mehta", - "html_url": "https://github.com/rohan-mehta" + "login": "alecor191", + "html_url": "https://github.com/alecor191" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2124, - "title": "Proposal: Add Support for Uploading Dataset Items via UI", - "href": "https://github.com/orgs/langfuse/discussions/2124", - "created_at": "2024-05-22T10:58:04Z", - "upvotes": 5, + "number": 2137, + "title": "Latency (Avg) showing 0 for dataset runs", + "href": "https://github.com/orgs/langfuse/discussions/2137", + "created_at": "2024-05-24T07:33:51Z", + "upvotes": 4, "comment_count": 1, - "resolved": false, + "resolved": true, + "labels": [], + "author": { + "login": "karthik-TLIT", + "html_url": "https://github.com/karthik-TLIT" + }, + "category": "Support" + }, + { + "number": 2130, + "title": "Evaluations Not Available in Self-Hosted Version?", + "href": "https://github.com/orgs/langfuse/discussions/2130", + "created_at": "2024-05-23T14:31:16Z", + "upvotes": 3, + "comment_count": 1, + "resolved": true, "labels": [ - "feat-datasets" + "feat-evals" ], "author": { - "login": "vaddenz", - "html_url": "https://github.com/vaddenz" + "login": "c0pper", + "html_url": "https://github.com/c0pper" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2119, - "title": "Phidata support", - "href": "https://github.com/orgs/langfuse/discussions/2119", - "created_at": "2024-05-21T14:20:09Z", + "number": 2114, + "title": "Careers link on HN is broken", + "href": "https://github.com/orgs/langfuse/discussions/2114", + "created_at": "2024-05-21T07:28:26Z", "upvotes": 1, "comment_count": 1, - "resolved": false, - "labels": [ - "integrations" - ], + "resolved": true, + "labels": [], "author": { - "login": "michaelpoluektov", - "html_url": "https://github.com/michaelpoluektov" + "login": "davherrmann", + "html_url": "https://github.com/davherrmann" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2104, - "title": "Feature Request: Tracing Sampling Rate Configuration for Langfuse", - "href": "https://github.com/orgs/langfuse/discussions/2104", - "created_at": "2024-05-20T16:23:05Z", - "upvotes": 2, + "number": 2111, + "title": "Token cost is counted even if langchains LLM cache is utilized", + "href": "https://github.com/orgs/langfuse/discussions/2111", + "created_at": "2024-05-20T23:23:44Z", + "upvotes": 5, "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [ - "✅ Done" + "integration-langchain" ], "author": { - "login": "himansrivastava", - "html_url": "https://github.com/himansrivastava" + "login": "arthurGrigo", + "html_url": "https://github.com/arthurGrigo" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2101, - "title": "feat: Adding AWS Cognito Authentication", - "href": "https://github.com/orgs/langfuse/discussions/2101", - "created_at": "2024-05-20T14:30:32Z", + "number": 2106, + "title": "Hability to store pre defined initial message", + "href": "https://github.com/orgs/langfuse/discussions/2106", + "created_at": "2024-05-20T20:40:23Z", "upvotes": 1, - "comment_count": 2, - "resolved": false, - "labels": [ - "✅ Done", - "feat-auth" - ], + "comment_count": 1, + "resolved": true, + "labels": [], "author": { - "login": "Shekswess", - "html_url": "https://github.com/Shekswess" + "login": "Lunik", + "html_url": "https://github.com/Lunik" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2097, - "title": "Markdown Rendering Option", - "href": "https://github.com/orgs/langfuse/discussions/2097", - "created_at": "2024-05-18T16:58:37Z", - "upvotes": 4, - "comment_count": 4, - "resolved": false, + "number": 2099, + "title": "Deleting Duplicate Items in a Dataset", + "href": "https://github.com/orgs/langfuse/discussions/2099", + "created_at": "2024-05-20T09:48:58Z", + "upvotes": 1, + "comment_count": 1, + "resolved": true, "labels": [ - "✅ Done" + "feat-datasets" ], "author": { - "login": "hburrichter", - "html_url": "https://github.com/hburrichter" + "login": "emailic", + "html_url": "https://github.com/emailic" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2081, - "title": "feat: inject langfuse info into langchain metadata", - "href": "https://github.com/orgs/langfuse/discussions/2081", - "created_at": "2024-05-16T20:43:41Z", - "upvotes": 1, - "comment_count": 0, - "resolved": false, - "labels": [ - "integration-langchain" - ], + "number": 2098, + "title": "Wrong model for billing", + "href": "https://github.com/orgs/langfuse/discussions/2098", + "created_at": "2024-05-20T09:29:33Z", + "upvotes": 2, + "comment_count": 1, + "resolved": true, + "labels": [], "author": { - "login": "benobytes", - "html_url": "https://github.com/benobytes" + "login": "wdxwj", + "html_url": "https://github.com/wdxwj" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2072, - "title": "Adding prompt tags via Python SDK (or other code based interactions)", - "href": "https://github.com/orgs/langfuse/discussions/2072", - "created_at": "2024-05-16T09:46:20Z", - "upvotes": 5, - "comment_count": 2, + "number": 2077, + "title": "Error Encountered During Migration for Applying Newly Supported Models to Existing Data", + "href": "https://github.com/orgs/langfuse/discussions/2077", + "created_at": "2024-05-16T15:30:33Z", + "upvotes": 1, + "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "simon-hiel", - "html_url": "https://github.com/simon-hiel" + "login": "Zherdev1996", + "html_url": "https://github.com/Zherdev1996" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2071, - "title": "Save playground conversation to a dataset", - "href": "https://github.com/orgs/langfuse/discussions/2071", - "created_at": "2024-05-16T09:24:29Z", - "upvotes": 3, - "comment_count": 0, - "resolved": false, + "number": 2073, + "title": "Will Playground be available for self-hosted?", + "href": "https://github.com/orgs/langfuse/discussions/2073", + "created_at": "2024-05-16T12:40:30Z", + "upvotes": 5, + "comment_count": 2, + "resolved": true, "labels": [ - "feat-datasets", "feat-playground" ], "author": { - "login": "bderenzi", - "html_url": "https://github.com/bderenzi" + "login": "sabatesduran", + "html_url": "https://github.com/sabatesduran" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2065, - "title": "Support multiple prompts attached to a generation.", - "href": "https://github.com/orgs/langfuse/discussions/2065", - "created_at": "2024-05-15T22:16:35Z", - "upvotes": 3, + "number": 2070, + "title": "Error on Local Deployment: \"Evals available in cloud only\" when Adding LLM API Key", + "href": "https://github.com/orgs/langfuse/discussions/2070", + "created_at": "2024-05-16T09:02:43Z", + "upvotes": 1, "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "jansenderr", - "html_url": "https://github.com/jansenderr" + "login": "youngsj951104", + "html_url": "https://github.com/youngsj951104" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2064, - "title": "Show explicit error when viewing a project that doesn't exist", - "href": "https://github.com/orgs/langfuse/discussions/2064", - "created_at": "2024-05-15T16:49:32Z", + "number": 2069, + "title": "Does langfuse uses any Postgres-only features?", + "href": "https://github.com/orgs/langfuse/discussions/2069", + "created_at": "2024-05-16T06:36:16Z", + "upvotes": 2, + "comment_count": 1, + "resolved": true, + "labels": [], + "author": { + "login": "rohts-patil", + "html_url": "https://github.com/rohts-patil" + }, + "category": "Support" + }, + { + "number": 2063, + "title": "Exception(\"parent run not found\")", + "href": "https://github.com/orgs/langfuse/discussions/2063", + "created_at": "2024-05-15T14:45:00Z", "upvotes": 1, - "comment_count": 0, + "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "backmask", - "html_url": "https://github.com/backmask" + "login": "emailic", + "html_url": "https://github.com/emailic" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2045, - "title": "Requesting official support OpenAI's new gpt-4o model", - "href": "https://github.com/orgs/langfuse/discussions/2045", - "created_at": "2024-05-13T21:37:38Z", - "upvotes": 3, - "comment_count": 5, - "resolved": false, + "number": 2042, + "title": "Availability of evals when self-hosting", + "href": "https://github.com/orgs/langfuse/discussions/2042", + "created_at": "2024-05-13T14:06:11Z", + "upvotes": 2, + "comment_count": 1, + "resolved": true, "labels": [ - "integration-openai", - "✅ Done", - "feat-cost-tracking" + "feat-evals" ], "author": { - "login": "varenc", - "html_url": "https://github.com/varenc" + "login": "derevyan", + "html_url": "https://github.com/derevyan" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2043, - "title": "Support instrumentation through openllmetry", - "href": "https://github.com/orgs/langfuse/discussions/2043", - "created_at": "2024-05-13T19:27:59Z", - "upvotes": 8, + "number": 2031, + "title": "Starting a demo from JS SDK and local running Langfuse, but cannot create init trace currently", + "href": "https://github.com/orgs/langfuse/discussions/2031", + "created_at": "2024-05-10T08:49:40Z", + "upvotes": 1, "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "baggiponte", - "html_url": "https://github.com/baggiponte" + "login": "JamieLee0510", + "html_url": "https://github.com/JamieLee0510" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2039, - "title": "Introduce the concept of \"sub-prompt\" to improve prompt reusability", - "href": "https://github.com/orgs/langfuse/discussions/2039", - "created_at": "2024-05-13T10:14:44Z", - "upvotes": 3, + "number": 2009, + "title": "Custom name of Span when using Langchain handler instead of RunnableSequence", + "href": "https://github.com/orgs/langfuse/discussions/2009", + "created_at": "2024-05-08T12:23:08Z", + "upvotes": 1, "comment_count": 1, - "resolved": false, - "labels": [], + "resolved": true, + "labels": [ + "integration-langchain" + ], "author": { - "login": "khaelys", - "html_url": "https://github.com/khaelys" + "login": "nathan-vo810", + "html_url": "https://github.com/nathan-vo810" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2030, - "title": "Add number of 'successful request' to traces list view", - "href": "https://github.com/orgs/langfuse/discussions/2030", - "created_at": "2024-05-09T23:25:27Z", + "number": 2008, + "title": "Not able to add dataset item", + "href": "https://github.com/orgs/langfuse/discussions/2008", + "created_at": "2024-05-08T12:11:04Z", "upvotes": 1, "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "arthurGrigo", - "html_url": "https://github.com/arthurGrigo" + "login": "nithin1995", + "html_url": "https://github.com/nithin1995" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2021, - "title": "Ask for a import/export on prompt management page", - "href": "https://github.com/orgs/langfuse/discussions/2021", - "created_at": "2024-05-09T03:17:50Z", + "number": 2007, + "title": "Langfuse in PHP. Which are the minimum functions needed to implement?", + "href": "https://github.com/orgs/langfuse/discussions/2007", + "created_at": "2024-05-08T10:55:07Z", "upvotes": 1, - "comment_count": 2, + "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "ShaunDeng", - "html_url": "https://github.com/ShaunDeng" + "login": "phpia", + "html_url": "https://github.com/phpia" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2006, - "title": "Gitlab Auth Provider", - "href": "https://github.com/orgs/langfuse/discussions/2006", - "created_at": "2024-05-08T10:12:51Z", + "number": 2005, + "title": "How to get trace data with langfuse-langchain in JS/TS?", + "href": "https://github.com/orgs/langfuse/discussions/2005", + "created_at": "2024-05-08T08:08:42Z", "upvotes": 1, - "comment_count": 1, - "resolved": false, - "labels": [], + "comment_count": 2, + "resolved": true, + "labels": [ + "integration-langchain" + ], "author": { - "login": "jsirex", - "html_url": "https://github.com/jsirex" + "login": "AdiletBekmuratov", + "html_url": "https://github.com/AdiletBekmuratov" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1990, - "title": "Add batch actions to traces", - "href": "https://github.com/orgs/langfuse/discussions/1990", - "created_at": "2024-05-07T09:37:42Z", - "upvotes": 3, + "number": 1982, + "title": "trace doesn't work with .batch handler on langserve", + "href": "https://github.com/orgs/langfuse/discussions/1982", + "created_at": "2024-05-06T02:32:30Z", + "upvotes": 2, "comment_count": 0, "resolved": false, "labels": [], "author": { - "login": "nimbusaeta", - "html_url": "https://github.com/nimbusaeta" + "login": "restuprajna", + "html_url": "https://github.com/restuprajna" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1988, - "title": "Upload datasets via UI", - "href": "https://github.com/orgs/langfuse/discussions/1988", - "created_at": "2024-05-06T20:25:20Z", - "upvotes": 9, + "number": 1979, + "title": "get_prompt function failed in langfuse-python 2.28.3", + "href": "https://github.com/orgs/langfuse/discussions/1979", + "created_at": "2024-05-05T19:57:40Z", + "upvotes": 1, "comment_count": 1, - "resolved": false, - "labels": [ - "feat-datasets" - ], + "resolved": true, + "labels": [], "author": { - "login": "assafweinberg", - "html_url": "https://github.com/assafweinberg" + "login": "nathan-vo810", + "html_url": "https://github.com/nathan-vo810" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1987, - "title": "API/UI to delete dataset items and runs", - "href": "https://github.com/orgs/langfuse/discussions/1987", - "created_at": "2024-05-06T17:13:16Z", - "upvotes": 24, + "number": 1969, + "title": "How to utilize a dataset w/ typescript and langchain integration", + "href": "https://github.com/orgs/langfuse/discussions/1969", + "created_at": "2024-05-03T15:22:21Z", + "upvotes": 1, "comment_count": 2, "resolved": false, "labels": [ + "✅ Done", "feat-datasets" ], "author": { - "login": "tomek82", - "html_url": "https://github.com/tomek82" + "login": "sahellebusch", + "html_url": "https://github.com/sahellebusch" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1963, - "title": "Is it possible integrate Langfuse with Microsoft Copilot Studio?", - "href": "https://github.com/orgs/langfuse/discussions/1963", - "created_at": "2024-05-03T03:33:22Z", - "upvotes": 1, - "comment_count": 0, - "resolved": false, - "labels": [], + "number": 1957, + "title": "DevOps: What is the best way to create separate Langfuse instances in different environments: Dev, Test, QA, Prod?", + "href": "https://github.com/orgs/langfuse/discussions/1957", + "created_at": "2024-05-02T21:28:07Z", + "upvotes": 2, + "comment_count": 2, + "resolved": true, + "labels": [ + "self-hosting" + ], "author": { "login": "aiakubovich", "html_url": "https://github.com/aiakubovich" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2055, - "title": "Openai: Support IO capture when streaming function / tool call", - "href": "https://github.com/orgs/langfuse/discussions/2055", - "created_at": "2024-05-01T15:25:15Z", - "upvotes": 16, - "comment_count": 7, + "number": 1952, + "title": "How to communicate trace-id between backend and frontend ? (langchain+langserve integration)", + "href": "https://github.com/orgs/langfuse/discussions/1952", + "created_at": "2024-05-02T13:48:20Z", + "upvotes": 1, + "comment_count": 3, "resolved": false, "labels": [ - "sdk-python", - "integration-openai", - "✅ Done" + "integration-langchain" ], "author": { - "login": "DanrForetellix", - "html_url": "https://github.com/DanrForetellix" + "login": "Sinnaeve", + "html_url": "https://github.com/Sinnaeve" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1941, - "title": "Looking into allowing more customization of the table", - "href": "https://github.com/orgs/langfuse/discussions/1941", - "created_at": "2024-05-01T14:47:32Z", - "upvotes": 1, + "number": 1946, + "title": "Not able to build docker image from web/Dockerfile", + "href": "https://github.com/orgs/langfuse/discussions/1946", + "created_at": "2024-05-02T09:41:18Z", + "upvotes": 2, "comment_count": 1, - "resolved": false, - "labels": [], - "author": { - "login": "Mohamed-Ayaan358", - "html_url": "https://github.com/Mohamed-Ayaan358" - }, - "category": "Ideas" - }, - { - "number": 1916, - "title": "Langchain integration Improvements", - "href": "https://github.com/orgs/langfuse/discussions/1916", - "created_at": "2024-04-30T13:23:19Z", - "upvotes": 2, - "comment_count": 2, - "resolved": false, + "resolved": true, "labels": [ - "integration-langchain", - "✅ Done" + "self-hosting" ], "author": { - "login": "ajram23", - "html_url": "https://github.com/ajram23" + "login": "Subham0793", + "html_url": "https://github.com/Subham0793" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1904, - "title": "Retrieve prompts based on versioning rather than times for caching", - "href": "https://github.com/orgs/langfuse/discussions/1904", - "created_at": "2024-04-29T14:04:27Z", - "upvotes": 1, - "comment_count": 2, - "resolved": false, - "labels": [ - "feat-prompt-management" - ], + "number": 1940, + "title": "Simple Prompt -> LLM error with Usage Object?", + "href": "https://github.com/orgs/langfuse/discussions/1940", + "created_at": "2024-05-01T13:47:14Z", + "upvotes": 2, + "comment_count": 1, + "resolved": true, + "labels": [], "author": { - "login": "ajram23", - "html_url": "https://github.com/ajram23" + "login": "tzilkha", + "html_url": "https://github.com/tzilkha" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1896, - "title": "Delete Session", - "href": "https://github.com/orgs/langfuse/discussions/1896", - "created_at": "2024-04-29T08:01:05Z", - "upvotes": 15, - "comment_count": 0, + "number": 1864, + "title": "Can't see traces in the webUI if callback_handler passed to LLM init constructor", + "href": "https://github.com/orgs/langfuse/discussions/1864", + "created_at": "2024-04-25T21:01:54Z", + "upvotes": 2, + "comment_count": 1, "resolved": false, - "labels": [ - "feat-sessions" - ], + "labels": [], "author": { - "login": "rohan-gt", - "html_url": "https://github.com/rohan-gt" + "login": "gabrielfior", + "html_url": "https://github.com/gabrielfior" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1895, - "title": "linking prompts with tracing in langchain integration", - "href": "https://github.com/orgs/langfuse/discussions/1895", - "created_at": "2024-04-28T13:13:08Z", - "upvotes": 10, - "comment_count": 3, - "resolved": false, + "number": 1860, + "title": "Alter generation names with LangChain integration", + "href": "https://github.com/orgs/langfuse/discussions/1860", + "created_at": "2024-04-25T18:12:35Z", + "upvotes": 1, + "comment_count": 1, + "resolved": true, "labels": [ - "feat-prompt-management", - "integration-langchain", - "✅ Done" + "integration-langchain" ], "author": { - "login": "SatheeshJM", - "html_url": "https://github.com/SatheeshJM" + "login": "nic-asnes-klaviyo", + "html_url": "https://github.com/nic-asnes-klaviyo" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1867, - "title": "Add integration with evaluation frameworks", - "href": "https://github.com/orgs/langfuse/discussions/1867", - "created_at": "2024-04-25T23:09:03Z", - "upvotes": 1, + "number": 1831, + "title": "how to check only output tokens and models costs related to only output tokens?", + "href": "https://github.com/orgs/langfuse/discussions/1831", + "created_at": "2024-04-24T12:27:17Z", + "upvotes": 2, "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "johnnydevriese", - "html_url": "https://github.com/johnnydevriese" - }, - "category": "Ideas" - }, - { - "number": 1862, - "title": "Support Linking Execution Trace to DatasetItem without Fetching Entire Dataset", - "href": "https://github.com/orgs/langfuse/discussions/1862", - "created_at": "2024-04-25T18:57:08Z", - "upvotes": 1, - "comment_count": 1, - "resolved": false, - "labels": [ - "feat-datasets" - ], - "author": { - "login": "sfarthin", - "html_url": "https://github.com/sfarthin" + "login": "manishiitg", + "html_url": "https://github.com/manishiitg" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1858, - "title": "Platform User roles to allow or disable project creation", - "href": "https://github.com/orgs/langfuse/discussions/1858", - "created_at": "2024-04-25T16:00:12Z", + "number": 1814, + "title": "Deploy to heroku", + "href": "https://github.com/orgs/langfuse/discussions/1814", + "created_at": "2024-04-23T13:56:27Z", "upvotes": 1, "comment_count": 2, - "resolved": false, + "resolved": true, "labels": [ - "✅ Done", - "feat-rbac" + "self-hosting" ], "author": { - "login": "JMcGenn", - "html_url": "https://github.com/JMcGenn" + "login": "MarcoSteinke", + "html_url": "https://github.com/MarcoSteinke" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1851, - "title": "[oauth] Keycloak provider support", - "href": "https://github.com/orgs/langfuse/discussions/1851", - "created_at": "2024-04-25T12:39:26Z", - "upvotes": 7, + "number": 1788, + "title": "Need help with resolving long runtimes when Langfuse tracing is enabled", + "href": "https://github.com/orgs/langfuse/discussions/1788", + "created_at": "2024-04-19T17:46:05Z", + "upvotes": 2, "comment_count": 1, "resolved": false, - "labels": [ - "self-hosting" - ], + "labels": [], "author": { - "login": "9teen90nine", - "html_url": "https://github.com/9teen90nine" + "login": "pooja1423", + "html_url": "https://github.com/pooja1423" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1843, - "title": "Support GigaChat model from LangChain", - "href": "https://github.com/orgs/langfuse/discussions/1843", - "created_at": "2024-04-25T09:24:07Z", + "number": 1785, + "title": "How to limit the number of traces", + "href": "https://github.com/orgs/langfuse/discussions/1785", + "created_at": "2024-04-19T10:29:17Z", "upvotes": 1, - "comment_count": 0, + "comment_count": 1, "resolved": false, - "labels": [ - "integration-langchain" - ], + "labels": [], "author": { - "login": "Rai220", - "html_url": "https://github.com/Rai220" + "login": "secsilm", + "html_url": "https://github.com/secsilm" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1830, - "title": "Decorator should also be able to return JSON or Dictionary object", - "href": "https://github.com/orgs/langfuse/discussions/1830", - "created_at": "2024-04-24T09:41:39Z", + "number": 1773, + "title": "Flowise 1.6.5 can not Trace", + "href": "https://github.com/orgs/langfuse/discussions/1773", + "created_at": "2024-04-18T11:55:32Z", "upvotes": 1, - "comment_count": 2, + "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "nathan-vo810", - "html_url": "https://github.com/nathan-vo810" + "login": "lknbv5", + "html_url": "https://github.com/lknbv5" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1826, - "title": "Having a session_with_user client", - "href": "https://github.com/orgs/langfuse/discussions/1826", - "created_at": "2024-04-24T08:31:05Z", + "number": 1759, + "title": "How to get generations and scores in the same trace when using OpenAI sdk or other tools", + "href": "https://github.com/orgs/langfuse/discussions/1759", + "created_at": "2024-04-17T15:56:51Z", "upvotes": 1, - "comment_count": 0, + "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "rtzy7", - "html_url": "https://github.com/rtzy7" + "login": "databill86", + "html_url": "https://github.com/databill86" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1823, - "title": "Change `/api/chatCompletion` to be a standard OpenAI proxy on `/api/v1/chat/completions`?", - "href": "https://github.com/orgs/langfuse/discussions/1823", - "created_at": "2024-04-23T19:48:34Z", + "number": 1712, + "title": "Invalid public key", + "href": "https://github.com/orgs/langfuse/discussions/1712", + "created_at": "2024-04-14T18:11:51Z", "upvotes": 1, "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "Manouchehri", - "html_url": "https://github.com/Manouchehri" + "login": "taaha3244", + "html_url": "https://github.com/taaha3244" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1820, - "title": "Auth using Microsoft Entra ID", - "href": "https://github.com/orgs/langfuse/discussions/1820", - "created_at": "2024-04-23T18:32:42Z", + "number": 1672, + "title": "Cookies not allowed", + "href": "https://github.com/orgs/langfuse/discussions/1672", + "created_at": "2024-04-11T07:43:53Z", "upvotes": 1, - "comment_count": 2, + "comment_count": 3, "resolved": false, - "labels": [ - "✅ Done", - "self-hosting" - ], + "labels": [], "author": { - "login": "Stadly", - "html_url": "https://github.com/Stadly" + "login": "danielpirs", + "html_url": "https://github.com/danielpirs" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1816, - "title": "Add a metrics endpoint for Prometheus", - "href": "https://github.com/orgs/langfuse/discussions/1816", - "created_at": "2024-04-23T14:33:38Z", - "upvotes": 5, - "comment_count": 2, + "number": 1649, + "title": "Run Langchain Evaluations on data in Langfuse , Why is the prompt not considered, and could this lead to evaluation flaws?", + "href": "https://github.com/orgs/langfuse/discussions/1649", + "created_at": "2024-04-10T05:25:28Z", + "upvotes": 1, + "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "nolwennz", - "html_url": "https://github.com/nolwennz" + "login": "pengpengIlove", + "html_url": "https://github.com/pengpengIlove" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1813, - "title": "Provide an integration with Matomo Analytics so as for Posthog", - "href": "https://github.com/orgs/langfuse/discussions/1813", - "created_at": "2024-04-23T12:24:41Z", - "upvotes": 12, - "comment_count": 4, - "resolved": false, + "number": 1610, + "title": "Scoring a trace after the LLM chain returns", + "href": "https://github.com/orgs/langfuse/discussions/1610", + "created_at": "2024-04-07T15:12:34Z", + "upvotes": 1, + "comment_count": 1, + "resolved": true, "labels": [ - "integrations" + "feat-scores" ], "author": { - "login": "Chardonneaur", - "html_url": "https://github.com/Chardonneaur" + "login": "pooja1423", + "html_url": "https://github.com/pooja1423" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1800, - "title": "Add command r/command r plus via Azure Marketplace", - "href": "https://github.com/orgs/langfuse/discussions/1800", - "created_at": "2024-04-22T16:11:38Z", - "upvotes": 2, + "number": 1601, + "title": "Okta auth got `read ECONNRESET`", + "href": "https://github.com/orgs/langfuse/discussions/1601", + "created_at": "2024-04-04T03:46:08Z", + "upvotes": 1, "comment_count": 2, "resolved": false, - "labels": [ - "bug", - "integration-langchain" - ], + "labels": [], "author": { - "login": "jayfk", - "html_url": "https://github.com/jayfk" + "login": "tmwatchanan", + "html_url": "https://github.com/tmwatchanan" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1794, - "title": "User-level dashboard", - "href": "https://github.com/orgs/langfuse/discussions/1794", - "created_at": "2024-04-22T01:56:15Z", + "number": 1538, + "title": "Trace input is null when passing in nodes, or Documents with transformations to VectorStoreIndex constructor", + "href": "https://github.com/orgs/langfuse/discussions/1538", + "created_at": "2024-03-29T00:30:49Z", "upvotes": 1, "comment_count": 1, "resolved": false, + "labels": [], + "author": { + "login": "mwertheim-zco", + "html_url": "https://github.com/mwertheim-zco" + }, + "category": "Support" + }, + { + "number": 1536, + "title": "Tracing and Session support on Integrations like LiteLLM Proxy and others and Is LangFuse logging a background process?", + "href": "https://github.com/orgs/langfuse/discussions/1536", + "created_at": "2024-03-28T20:22:49Z", + "upvotes": 1, + "comment_count": 1, + "resolved": true, "labels": [ - "feat-users" + "integration-litellm", + "feat-sessions" ], "author": { - "login": "secsilm", - "html_url": "https://github.com/secsilm" + "login": "Harryalways317", + "html_url": "https://github.com/Harryalways317" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1793, - "title": "Request chart of min/avg/max input/output tokens", - "href": "https://github.com/orgs/langfuse/discussions/1793", - "created_at": "2024-04-21T13:33:39Z", - "upvotes": 2, + "number": 1528, + "title": "Aggregated project from multiple langfuse servers", + "href": "https://github.com/orgs/langfuse/discussions/1528", + "created_at": "2024-03-28T09:01:37Z", + "upvotes": 3, "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "secsilm", - "html_url": "https://github.com/secsilm" + "login": "juan-abia", + "html_url": "https://github.com/juan-abia" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1783, - "title": "Limit new user registration", - "href": "https://github.com/orgs/langfuse/discussions/1783", - "created_at": "2024-04-19T09:34:55Z", + "number": 1524, + "title": "How to add default user and project to self-hosted docker?", + "href": "https://github.com/orgs/langfuse/discussions/1524", + "created_at": "2024-03-28T08:00:07Z", "upvotes": 1, - "comment_count": 1, - "resolved": false, + "comment_count": 2, + "resolved": true, "labels": [ "self-hosting" ], "author": { - "login": "secsilm", - "html_url": "https://github.com/secsilm" + "login": "tzsombor95", + "html_url": "https://github.com/tzsombor95" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1781, - "title": "feature for python client:get traces by score", - "href": "https://github.com/orgs/langfuse/discussions/1781", - "created_at": "2024-04-19T09:12:48Z", - "upvotes": 1, + "number": 1512, + "title": "[Alerts] Connect to Slack", + "href": "https://github.com/orgs/langfuse/discussions/1512", + "created_at": "2024-03-27T08:04:49Z", + "upvotes": 4, "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [], "author": { - "login": "StarsSparkle", - "html_url": "https://github.com/StarsSparkle" + "login": "hypernovas", + "html_url": "https://github.com/hypernovas" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1780, - "title": "Log for Function Calling", - "href": "https://github.com/orgs/langfuse/discussions/1780", - "created_at": "2024-04-19T06:40:55Z", - "upvotes": 6, + "number": 1486, + "title": "Update/delete score using python sdk", + "href": "https://github.com/orgs/langfuse/discussions/1486", + "created_at": "2024-03-25T20:13:55Z", + "upvotes": 5, "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [ - "integration-openai" + "feat-scores" ], "author": { - "login": "jaindees", - "html_url": "https://github.com/jaindees" + "login": "msanand", + "html_url": "https://github.com/msanand" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1776, - "title": "SSO: Cognito", - "href": "https://github.com/orgs/langfuse/discussions/1776", - "created_at": "2024-04-18T20:40:43Z", + "number": 1481, + "title": "502-Bad Request", + "href": "https://github.com/orgs/langfuse/discussions/1481", + "created_at": "2024-03-22T13:06:18Z", "upvotes": 1, - "comment_count": 2, - "resolved": false, + "comment_count": 3, + "resolved": true, "labels": [ - "✅ Done", "self-hosting" ], "author": { - "login": "theluk", - "html_url": "https://github.com/theluk" + "login": "tbarbito", + "html_url": "https://github.com/tbarbito" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1774, - "title": "PromptClient: Support mustache type export to langchain", - "href": "https://github.com/orgs/langfuse/discussions/1774", - "created_at": "2024-04-18T18:52:40Z", + "number": 1466, + "title": "bug: Potential bug with AzureAD auth setup", + "href": "https://github.com/orgs/langfuse/discussions/1466", + "created_at": "2024-03-22T07:12:43Z", "upvotes": 1, "comment_count": 1, "resolved": false, - "labels": [], + "labels": [ + "self-hosting" + ], "author": { - "login": "maxjacu", - "html_url": "https://github.com/maxjacu" + "login": "mprudra", + "html_url": "https://github.com/mprudra" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1770, - "title": "New REST API endpoint to get all prompts", - "href": "https://github.com/orgs/langfuse/discussions/1770", - "created_at": "2024-04-18T02:40:14Z", + "number": 1449, + "title": "Langfuse session ID when using Chainlit", + "href": "https://github.com/orgs/langfuse/discussions/1449", + "created_at": "2024-03-20T00:57:09Z", "upvotes": 1, "comment_count": 2, "resolved": false, "labels": [], "author": { - "login": "zoltan-fedor", - "html_url": "https://github.com/zoltan-fedor" + "login": "tituslhy", + "html_url": "https://github.com/tituslhy" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1769, - "title": "Request chart of the generation speed of tokens (tokens/s)", - "href": "https://github.com/orgs/langfuse/discussions/1769", - "created_at": "2024-04-18T02:14:37Z", + "number": 1445, + "title": "Linking dataset run items with existing callback handler", + "href": "https://github.com/orgs/langfuse/discussions/1445", + "created_at": "2024-03-19T16:54:54Z", "upvotes": 1, "comment_count": 1, "resolved": false, - "labels": [], + "labels": [ + "feat-datasets" + ], "author": { - "login": "secsilm", - "html_url": "https://github.com/secsilm" + "login": "subandwho", + "html_url": "https://github.com/subandwho" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1760, - "title": "annotation of traces in langfuse console?", - "href": "https://github.com/orgs/langfuse/discussions/1760", - "created_at": "2024-04-17T17:51:47Z", - "upvotes": 3, - "comment_count": 2, - "resolved": false, + "number": 1434, + "title": "Add UserID and Feedback when using LlamaIndex Integration", + "href": "https://github.com/orgs/langfuse/discussions/1434", + "created_at": "2024-03-18T20:24:29Z", + "upvotes": 1, + "comment_count": 1, + "resolved": true, "labels": [ - "✅ Done", - "feat-annotation" + "integraton-llamaindex" ], "author": { - "login": "erik-squared", - "html_url": "https://github.com/erik-squared" + "login": "skelleex", + "html_url": "https://github.com/skelleex" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1755, - "title": "feat: Prompt API Search (by tags)", - "href": "https://github.com/orgs/langfuse/discussions/1755", - "created_at": "2024-04-17T09:37:50Z", - "upvotes": 2, - "comment_count": 2, + "number": 1432, + "title": "langfuse.api.resources.commons.errors.not_found_error.NotFoundError: status_code: 404, body: {'message': 'Observation not found'}", + "href": "https://github.com/orgs/langfuse/discussions/1432", + "created_at": "2024-03-18T13:29:05Z", + "upvotes": 1, + "comment_count": 1, "resolved": false, - "labels": [ - "✅ Done" - ], + "labels": [], "author": { - "login": "bryan-agicap", - "html_url": "https://github.com/bryan-agicap" + "login": "emailic", + "html_url": "https://github.com/emailic" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1744, - "title": "Is it possible to support Dify?", - "href": "https://github.com/orgs/langfuse/discussions/1744", - "created_at": "2024-04-16T20:55:11Z", - "upvotes": 2, - "comment_count": 2, - "resolved": false, - "labels": [ - "integrations", - "✅ Done", - "integration-dify" - ], + "number": 1429, + "title": "Hybrid usage Langfuse among OpenAI calls as well Langchain", + "href": "https://github.com/orgs/langfuse/discussions/1429", + "created_at": "2024-03-17T14:09:57Z", + "upvotes": 1, + "comment_count": 1, + "resolved": true, + "labels": [], "author": { - "login": "jtsang4", - "html_url": "https://github.com/jtsang4" + "login": "mikeon", + "html_url": "https://github.com/mikeon" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1716, - "title": "feat: Add `TRACE_EVENTS` flag", - "href": "https://github.com/orgs/langfuse/discussions/1716", - "created_at": "2024-04-15T12:29:30Z", - "upvotes": 1, + "number": 1420, + "title": "Datasets list / by id", + "href": "https://github.com/orgs/langfuse/discussions/1420", + "created_at": "2024-03-15T02:22:27Z", + "upvotes": 2, "comment_count": 2, - "resolved": false, + "resolved": true, "labels": [ - "✅ Done" + "feat-datasets" ], "author": { - "login": "JorisAndrade", - "html_url": "https://github.com/JorisAndrade" + "login": "norton120", + "html_url": "https://github.com/norton120" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1715, - "title": "Add support for ZITADEL OIDC", - "href": "https://github.com/orgs/langfuse/discussions/1715", - "created_at": "2024-04-15T12:27:54Z", + "number": 1417, + "title": "Running Langfuse in Kubernetes", + "href": "https://github.com/orgs/langfuse/discussions/1417", + "created_at": "2024-03-14T19:59:42Z", "upvotes": 1, - "comment_count": 1, - "resolved": false, - "labels": [ - "self-hosting" - ], + "comment_count": 2, + "resolved": true, + "labels": [], "author": { - "login": "bitfactory-sem-denbroeder", - "html_url": "https://github.com/bitfactory-sem-denbroeder" + "login": "mikeon", + "html_url": "https://github.com/mikeon" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1711, - "title": "Webhook to trigger CI/CD pipeline when new prompt version is created", - "href": "https://github.com/orgs/langfuse/discussions/1711", - "created_at": "2024-04-14T13:46:30Z", - "upvotes": 5, - "comment_count": 1, + "number": 1382, + "title": "Match LLMs from AWS Bedrock to added model definition", + "href": "https://github.com/orgs/langfuse/discussions/1382", + "created_at": "2024-03-09T08:28:53Z", + "upvotes": 2, + "comment_count": 0, "resolved": false, - "labels": [ - "feat-prompt-management", - "feat-api" - ], + "labels": [], "author": { - "login": "tamdoEH", - "html_url": "https://github.com/tamdoEH" + "login": "DominikNeumaier", + "html_url": "https://github.com/DominikNeumaier" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1710, - "title": "Review feature for prompt deployment", - "href": "https://github.com/orgs/langfuse/discussions/1710", - "created_at": "2024-04-14T13:39:50Z", - "upvotes": 3, - "comment_count": 3, - "resolved": false, - "labels": [ - "feat-prompt-management" - ], + "number": 1380, + "title": "Langfuse flush() taking a long time and hangs", + "href": "https://github.com/orgs/langfuse/discussions/1380", + "created_at": "2024-03-09T00:09:55Z", + "upvotes": 1, + "comment_count": 2, + "resolved": true, + "labels": [], "author": { - "login": "tamdoEH", - "html_url": "https://github.com/tamdoEH" + "login": "venu-shapley", + "html_url": "https://github.com/venu-shapley" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1707, - "title": "API for custom model <> token usage pricing", - "href": "https://github.com/orgs/langfuse/discussions/1707", - "created_at": "2024-04-13T22:37:38Z", - "upvotes": 3, - "comment_count": 2, - "resolved": false, - "labels": [ - "✅ Done", - "feat-api" - ], + "number": 1373, + "title": "How to fix error when running docs app demo chat", + "href": "https://github.com/orgs/langfuse/discussions/1373", + "created_at": "2024-03-08T00:08:46Z", + "upvotes": 1, + "comment_count": 1, + "resolved": true, + "labels": [], "author": { - "login": "rydamckinney", - "html_url": "https://github.com/rydamckinney" + "login": "luandro", + "html_url": "https://github.com/luandro" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1696, - "title": "Export & import for prompts, copy between projects", - "href": "https://github.com/orgs/langfuse/discussions/1696", - "created_at": "2024-04-12T20:28:47Z", - "upvotes": 16, - "comment_count": 7, - "resolved": false, + "number": 1357, + "title": "Run items not appearing when linking to a trace and not a span or a generation", + "href": "https://github.com/orgs/langfuse/discussions/1357", + "created_at": "2024-03-07T10:17:34Z", + "upvotes": 1, + "comment_count": 2, + "resolved": true, "labels": [ - "feat-prompt-management" + "feat-datasets" ], "author": { - "login": "zoltan-fedor", - "html_url": "https://github.com/zoltan-fedor" + "login": "ladislasdellinger", + "html_url": "https://github.com/ladislasdellinger" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1692, - "title": "Read-only prompt keys?", - "href": "https://github.com/orgs/langfuse/discussions/1692", - "created_at": "2024-04-12T00:57:44Z", - "upvotes": 2, - "comment_count": 2, + "number": 1353, + "title": "How do I add custom LLM APIs to the Langfuse UI?", + "href": "https://github.com/orgs/langfuse/discussions/1353", + "created_at": "2024-03-07T06:33:23Z", + "upvotes": 0, + "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "Manouchehri", - "html_url": "https://github.com/Manouchehri" + "login": "yudhiesh", + "html_url": "https://github.com/yudhiesh" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1671, - "title": "Ability to run langfuse in tests automatically without manual involvement", - "href": "https://github.com/orgs/langfuse/discussions/1671", - "created_at": "2024-04-11T05:29:44Z", + "number": 1336, + "title": "Applying database migrations failed. This is mostly caused by the database being unavailable.", + "href": "https://github.com/orgs/langfuse/discussions/1336", + "created_at": "2024-03-06T09:10:19Z", "upvotes": 1, "comment_count": 2, "resolved": false, - "labels": [ - "✅ Done", - "self-hosting" - ], + "labels": [], "author": { - "login": "SinghCoder", - "html_url": "https://github.com/SinghCoder" + "login": "everyfin-in", + "html_url": "https://github.com/everyfin-in" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1664, - "title": "\"Task\" and \"Bot\" core abstractions", - "href": "https://github.com/orgs/langfuse/discussions/1664", - "created_at": "2024-04-10T20:24:53Z", + "number": 1335, + "title": "Openai and null traces for input/output/metadata", + "href": "https://github.com/orgs/langfuse/discussions/1335", + "created_at": "2024-03-06T02:02:46Z", "upvotes": 2, - "comment_count": 1, + "comment_count": 0, "resolved": false, "labels": [], "author": { - "login": "sfarthin", - "html_url": "https://github.com/sfarthin" + "login": "aiakubovich", + "html_url": "https://github.com/aiakubovich" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1660, - "title": "Prompt Composability", - "href": "https://github.com/orgs/langfuse/discussions/1660", - "created_at": "2024-04-10T15:25:05Z", - "upvotes": 10, - "comment_count": 5, + "number": 1328, + "title": "Incompatibility between openllmetry and langfuse OpenAI wrapper", + "href": "https://github.com/orgs/langfuse/discussions/1328", + "created_at": "2024-03-05T17:03:34Z", + "upvotes": 1, + "comment_count": 1, "resolved": false, - "labels": [ - "feat-prompt-management" - ], + "labels": [], "author": { - "login": "meissnereric", - "html_url": "https://github.com/meissnereric" + "login": "pamelafox", + "html_url": "https://github.com/pamelafox" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1633, - "title": "feat: Function Calling Under OpenAI Format", - "href": "https://github.com/orgs/langfuse/discussions/1633", - "created_at": "2024-04-09T08:49:58Z", - "upvotes": 2, + "number": 1326, + "title": "Does Langfuse integrate with LiteLLM Proxy Server?", + "href": "https://github.com/orgs/langfuse/discussions/1326", + "created_at": "2024-03-05T15:25:37Z", + "upvotes": 1, "comment_count": 1, - "resolved": false, - "labels": [ - "feat-playground" - ], + "resolved": true, + "labels": [], "author": { - "login": "anhphong22", - "html_url": "https://github.com/anhphong22" + "login": "alphanome", + "html_url": "https://github.com/alphanome" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1630, - "title": "Groq - Mixtral", - "href": "https://github.com/orgs/langfuse/discussions/1630", - "created_at": "2024-04-09T05:11:12Z", + "number": 1325, + "title": "Do you need a helm chart of langfuse?", + "href": "https://github.com/orgs/langfuse/discussions/1325", + "created_at": "2024-03-05T15:02:42Z", "upvotes": 1, "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "mike4lyf", - "html_url": "https://github.com/mike4lyf" + "login": "artemus717", + "html_url": "https://github.com/artemus717" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1627, - "title": "VertexAI support", - "href": "https://github.com/orgs/langfuse/discussions/1627", - "created_at": "2024-04-08T22:43:38Z", - "upvotes": 3, - "comment_count": 1, - "resolved": false, - "labels": [ - "integration-langchain" - ], + "number": 1323, + "title": "When referencing the local langfuse in the langserve code, an error occurs:“ImportError: cannot import name 'ChatDeepInfra' from 'langchain_community.chat_models...”", + "href": "https://github.com/orgs/langfuse/discussions/1323", + "created_at": "2024-03-05T13:03:49Z", + "upvotes": 2, + "comment_count": 2, + "resolved": true, + "labels": [], "author": { - "login": "eles13", - "html_url": "https://github.com/eles13" + "login": "zhenlong-zhu", + "html_url": "https://github.com/zhenlong-zhu" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1613, - "title": "[Feature] Add a score value filter", - "href": "https://github.com/orgs/langfuse/discussions/1613", - "created_at": "2024-04-08T07:58:58Z", + "number": 1225, + "title": "Can Langfuse be used to record the records of ConversationChain in LangChain?", + "href": "https://github.com/orgs/langfuse/discussions/1225", + "created_at": "2024-02-22T09:24:34Z", "upvotes": 1, - "comment_count": 0, - "resolved": false, - "labels": [], + "comment_count": 1, + "resolved": true, + "labels": [ + "integration-langchain" + ], "author": { - "login": "Hacky-DH", - "html_url": "https://github.com/Hacky-DH" + "login": "lyzltysgithub", + "html_url": "https://github.com/lyzltysgithub" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1612, - "title": "DSPY integration", - "href": "https://github.com/orgs/langfuse/discussions/1612", - "created_at": "2024-04-07T18:54:32Z", + "number": 1193, + "title": "What is the shadow database needed for?", + "href": "https://github.com/orgs/langfuse/discussions/1193", + "created_at": "2024-02-17T08:23:33Z", "upvotes": 1, - "comment_count": 1, - "resolved": false, + "comment_count": 2, + "resolved": true, "labels": [], "author": { - "login": "wdhitchc", - "html_url": "https://github.com/wdhitchc" + "login": "Stadly", + "html_url": "https://github.com/Stadly" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1566, - "title": "LangchainCallbackHandler httpx_client not accessible", - "href": "https://github.com/orgs/langfuse/discussions/1566", - "created_at": "2024-04-03T09:18:12Z", - "upvotes": 2, + "number": 1184, + "title": "Unable to set session id or other CallbackHandler parameters when passing trace client in langchain sdk", + "href": "https://github.com/orgs/langfuse/discussions/1184", + "created_at": "2024-02-16T08:01:51Z", + "upvotes": 1, "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [ "integration-langchain" ], "author": { - "login": "dlmatt", - "html_url": "https://github.com/dlmatt" + "login": "sasidevtool", + "html_url": "https://github.com/sasidevtool" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1541, - "title": "Disable events logging", - "href": "https://github.com/orgs/langfuse/discussions/1541", - "created_at": "2024-03-29T18:08:13Z", - "upvotes": 8, - "comment_count": 3, - "resolved": false, + "number": 1186, + "title": "How to set tags when using the Langchain Callback handler", + "href": "https://github.com/orgs/langfuse/discussions/1186", + "created_at": "2024-02-16T05:47:31Z", + "upvotes": 2, + "comment_count": 2, + "resolved": true, "labels": [ - "✅ Done" + "sdk-python", + "integration-langchain", + "feat-tags" ], "author": { - "login": "omgovich", - "html_url": "https://github.com/omgovich" + "login": "reza-mohideen", + "html_url": "https://github.com/reza-mohideen" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1535, - "title": "Request for Integration of Mistral Models into Langfuse", - "href": "https://github.com/orgs/langfuse/discussions/1535", - "created_at": "2024-03-28T16:10:25Z", - "upvotes": 5, + "number": 1179, + "title": "Ollama token counts", + "href": "https://github.com/orgs/langfuse/discussions/1179", + "created_at": "2024-02-15T23:38:39Z", + "upvotes": 2, "comment_count": 2, - "resolved": false, + "resolved": true, "labels": [ - "integrations", - "✅ Done" + "feat-cost-tracking" ], "author": { - "login": "Zherdev1996", - "html_url": "https://github.com/Zherdev1996" + "login": "aiseei", + "html_url": "https://github.com/aiseei" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1533, - "title": "Managing Embeddings", - "href": "https://github.com/orgs/langfuse/discussions/1533", - "created_at": "2024-03-28T15:36:21Z", + "number": 1310, + "title": "Trace of custom classes gives nondescriptive info", + "href": "https://github.com/orgs/langfuse/discussions/1310", + "created_at": "2024-02-06T14:13:26Z", "upvotes": 1, "comment_count": 0, "resolved": false, "labels": [], "author": { - "login": "Botman-Hotman", - "html_url": "https://github.com/Botman-Hotman" + "login": "mjungiewicz-exadel", + "html_url": "https://github.com/mjungiewicz-exadel" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1513, - "title": "Langfuse Trace with OpenAI Assistants", - "href": "https://github.com/orgs/langfuse/discussions/1513", - "created_at": "2024-03-27T11:47:19Z", - "upvotes": 10, - "comment_count": 5, - "resolved": false, + "number": 1091, + "title": "How to pass span id to OpenAI `chat.completions.create`", + "href": "https://github.com/orgs/langfuse/discussions/1091", + "created_at": "2024-02-06T09:33:30Z", + "upvotes": 1, + "comment_count": 1, + "resolved": true, "labels": [ "integration-openai" ], "author": { - "login": "marco-introvigne", - "html_url": "https://github.com/marco-introvigne" + "login": "techytushar", + "html_url": "https://github.com/techytushar" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1500, - "title": "Comment column can have any name the user chooses, there could be multiple comment columns per metric", - "href": "https://github.com/orgs/langfuse/discussions/1500", - "created_at": "2024-03-26T08:42:45Z", + "number": 1081, + "title": "Sessions vs Traces?", + "href": "https://github.com/orgs/langfuse/discussions/1081", + "created_at": "2024-02-05T21:06:03Z", "upvotes": 1, - "comment_count": 1, - "resolved": false, - "labels": [], + "comment_count": 2, + "resolved": true, + "labels": [ + "feat-sessions" + ], "author": { - "login": "emailic", - "html_url": "https://github.com/emailic" + "login": "Manouchehri", + "html_url": "https://github.com/Manouchehri" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1488, - "title": "Make Langfuse switchable", - "href": "https://github.com/orgs/langfuse/discussions/1488", - "created_at": "2024-03-25T21:05:17Z", - "upvotes": 2, - "comment_count": 1, + "number": 1071, + "title": "feat: support for custom httpx.client", + "href": "https://github.com/orgs/langfuse/discussions/1071", + "created_at": "2024-02-05T06:35:23Z", + "upvotes": 1, + "comment_count": 2, "resolved": false, "labels": [], "author": { - "login": "MrMojoR", - "html_url": "https://github.com/MrMojoR" + "login": "brandonkzw", + "html_url": "https://github.com/brandonkzw" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1479, - "title": "Add total filtered Generations to UI", - "href": "https://github.com/orgs/langfuse/discussions/1479", - "created_at": "2024-03-24T17:19:51Z", + "number": 1070, + "title": "Where to log request and response headers of generations? (litellm)", + "href": "https://github.com/orgs/langfuse/discussions/1070", + "created_at": "2024-02-05T02:40:38Z", "upvotes": 1, - "comment_count": 0, - "resolved": false, - "labels": [], + "comment_count": 2, + "resolved": true, + "labels": [ + "integration-litellm" + ], "author": { - "login": "PhiBrandon", - "html_url": "https://github.com/PhiBrandon" - }, - "category": "Ideas" + "login": "Manouchehri", + "html_url": "https://github.com/Manouchehri" + }, + "category": "Support" }, { - "number": 1461, - "title": "Loose prisma datasource db provider.", - "href": "https://github.com/orgs/langfuse/discussions/1461", - "created_at": "2024-03-21T13:09:15Z", + "number": 1055, + "title": "Best way to flush LF in Next.js?", + "href": "https://github.com/orgs/langfuse/discussions/1055", + "created_at": "2024-02-02T17:50:58Z", "upvotes": 1, "comment_count": 1, - "resolved": false, - "labels": [ - "self-hosting" - ], + "resolved": true, + "labels": [], "author": { - "login": "muazhari", - "html_url": "https://github.com/muazhari" + "login": "gullerg", + "html_url": "https://github.com/gullerg" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1460, - "title": "Langfuse images for arm64 (mac silicon, some cloud vms)", - "href": "https://github.com/orgs/langfuse/discussions/1460", - "created_at": "2024-03-21T05:48:56Z", + "number": 1054, + "title": "Sentry for self-hosted?", + "href": "https://github.com/orgs/langfuse/discussions/1054", + "created_at": "2024-02-02T17:21:06Z", "upvotes": 1, "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [], "author": { - "login": "verdverm", - "html_url": "https://github.com/verdverm" + "login": "Manouchehri", + "html_url": "https://github.com/Manouchehri" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1454, - "title": "Add a time based filter option", - "href": "https://github.com/orgs/langfuse/discussions/1454", - "created_at": "2024-03-20T16:06:15Z", - "upvotes": 4, - "comment_count": 2, - "resolved": false, + "number": 1051, + "title": "How can I get the trace_id in langfuse.openai.OpenAI?", + "href": "https://github.com/orgs/langfuse/discussions/1051", + "created_at": "2024-02-02T09:39:55Z", + "upvotes": 1, + "comment_count": 1, + "resolved": true, "labels": [ - "✅ Done" + "integration-openai" ], "author": { - "login": "Kurumindla-Kranthivardhan", - "html_url": "https://github.com/Kurumindla-Kranthivardhan" + "login": "yangge2333", + "html_url": "https://github.com/yangge2333" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1431, - "title": "Integration with Langserve", - "href": "https://github.com/orgs/langfuse/discussions/1431", - "created_at": "2024-03-18T08:40:32Z", - "upvotes": 1, - "comment_count": 2, + "number": 1044, + "title": "AWS SES IAM Policy", + "href": "https://github.com/orgs/langfuse/discussions/1044", + "created_at": "2024-02-02T01:58:26Z", + "upvotes": 2, + "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "Haxeebraja", - "html_url": "https://github.com/Haxeebraja" + "login": "Manouchehri", + "html_url": "https://github.com/Manouchehri" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1428, - "title": "allow to delete sessions", - "href": "https://github.com/orgs/langfuse/discussions/1428", - "created_at": "2024-03-16T15:56:35Z", - "upvotes": 4, - "comment_count": 2, + "number": 1019, + "title": "WAF Rules for self-hosted", + "href": "https://github.com/orgs/langfuse/discussions/1019", + "created_at": "2024-02-01T01:41:51Z", + "upvotes": 3, + "comment_count": 0, "resolved": false, - "labels": [ - "feat-sessions" - ], + "labels": [], "author": { - "login": "morganveyret", - "html_url": "https://github.com/morganveyret" + "login": "Manouchehri", + "html_url": "https://github.com/Manouchehri" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1427, - "title": "Toggle collection of traces on a per-trace basis", - "href": "https://github.com/orgs/langfuse/discussions/1427", - "created_at": "2024-03-16T15:19:07Z", + "number": 1016, + "title": "Scaling / Parallelism / Concurrency safe?", + "href": "https://github.com/orgs/langfuse/discussions/1016", + "created_at": "2024-01-31T22:33:36Z", "upvotes": 1, "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [], "author": { - "login": "foragerr", - "html_url": "https://github.com/foragerr" + "login": "Manouchehri", + "html_url": "https://github.com/Manouchehri" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1415, - "title": "Add a \"correction\" field on the user feedback info", - "href": "https://github.com/orgs/langfuse/discussions/1415", - "created_at": "2024-03-14T14:18:30Z", - "upvotes": 3, + "number": 1013, + "title": "Building Docker container without database connection?", + "href": "https://github.com/orgs/langfuse/discussions/1013", + "created_at": "2024-01-31T19:32:47Z", + "upvotes": 1, "comment_count": 2, - "resolved": false, + "resolved": true, "labels": [], "author": { - "login": "almirb", - "html_url": "https://github.com/almirb" + "login": "Manouchehri", + "html_url": "https://github.com/Manouchehri" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1408, - "title": "Trace Latencies line chart please", - "href": "https://github.com/orgs/langfuse/discussions/1408", - "created_at": "2024-03-13T15:00:35Z", - "upvotes": 2, - "comment_count": 0, - "resolved": false, + "number": 973, + "title": "If we use cloud services, when we migrate to our own host later, do all the above data support export?", + "href": "https://github.com/orgs/langfuse/discussions/973", + "created_at": "2024-01-27T09:55:41Z", + "upvotes": 1, + "comment_count": 1, + "resolved": true, "labels": [], "author": { - "login": "Huarong", - "html_url": "https://github.com/Huarong" + "login": "wsdo", + "html_url": "https://github.com/wsdo" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1398, - "title": "What standardized dataset formats are people using?", - "href": "https://github.com/orgs/langfuse/discussions/1398", - "created_at": "2024-03-12T15:47:53Z", - "upvotes": 2, - "comment_count": 0, - "resolved": false, + "number": 866, + "title": "Cannot see Add to Dataset button in the UI", + "href": "https://github.com/orgs/langfuse/discussions/866", + "created_at": "2024-01-11T09:12:16Z", + "upvotes": 1, + "comment_count": 2, + "resolved": true, "labels": [ "feat-datasets" ], "author": { - "login": "norton120", - "html_url": "https://github.com/norton120" + "login": "SinghCoder", + "html_url": "https://github.com/SinghCoder" }, - "category": "Ideas" - }, + "category": "Support" + } + ] + }, + { + "category": "Ideas", + "discussions": [ { - "number": 1397, - "title": "Reorder columns in tables", - "href": "https://github.com/orgs/langfuse/discussions/1397", - "created_at": "2024-03-12T14:45:37Z", - "upvotes": 3, - "comment_count": 2, + "number": 4430, + "title": "Feature request: CRUD for Prompt API", + "href": "https://github.com/orgs/langfuse/discussions/4430", + "created_at": "2024-11-26T08:42:39Z", + "upvotes": 1, + "comment_count": 0, "resolved": false, - "labels": [ - "✅ Done" - ], + "labels": [], "author": { - "login": "marcklingen", - "html_url": "https://github.com/marcklingen" + "login": "barseghyanartur", + "html_url": "https://github.com/barseghyanartur" }, "category": "Ideas" }, { - "number": 1394, - "title": "Adding a \"Select all\" button to tables", - "href": "https://github.com/orgs/langfuse/discussions/1394", - "created_at": "2024-03-12T10:37:23Z", - "upvotes": 2, + "number": 4414, + "title": "langfuse-python: simple static method listing prompt template var names", + "href": "https://github.com/orgs/langfuse/discussions/4414", + "created_at": "2024-11-25T16:28:05Z", + "upvotes": 1, "comment_count": 1, "resolved": false, - "labels": [], + "labels": [ + "feat-prompt-management" + ], "author": { - "login": "samyxdev", - "html_url": "https://github.com/samyxdev" + "login": "rhighs", + "html_url": "https://github.com/rhighs" }, "category": "Ideas" }, { - "number": 1392, - "title": "Hide prompts/completions (privacy)", - "href": "https://github.com/orgs/langfuse/discussions/1392", - "created_at": "2024-03-12T07:48:22Z", - "upvotes": 10, - "comment_count": 1, + "number": 4397, + "title": "n8n Integration", + "href": "https://github.com/orgs/langfuse/discussions/4397", + "created_at": "2024-11-24T09:43:01Z", + "upvotes": 1, + "comment_count": 0, "resolved": false, "labels": [], "author": { - "login": "ziodave", - "html_url": "https://github.com/ziodave" + "login": "aibucketmail", + "html_url": "https://github.com/aibucketmail" }, "category": "Ideas" }, { - "number": 1391, - "title": "Enhancements for Langfuse User Sign-Up Control", - "href": "https://github.com/orgs/langfuse/discussions/1391", - "created_at": "2024-03-11T23:38:18Z", - "upvotes": 7, + "number": 4381, + "title": "Feature Request: Add Tagging Pipelines for Evaluation-Based Tagging", + "href": "https://github.com/orgs/langfuse/discussions/4381", + "created_at": "2024-11-22T03:44:17Z", + "upvotes": 1, "comment_count": 0, "resolved": false, - "labels": [ - "self-hosting" - ], + "labels": [], "author": { - "login": "udit-001", - "html_url": "https://github.com/udit-001" + "login": "wesleyearlstander", + "html_url": "https://github.com/wesleyearlstander" }, "category": "Ideas" }, { - "number": 1385, - "title": "bug: Not allowing to limit Azure AD authentication for selected users in same tenent", - "href": "https://github.com/orgs/langfuse/discussions/1385", - "created_at": "2024-03-11T17:42:05Z", - "upvotes": 2, - "comment_count": 2, + "number": 4380, + "title": "Adding types for evals in Langfuse", + "href": "https://github.com/orgs/langfuse/discussions/4380", + "created_at": "2024-11-22T03:35:26Z", + "upvotes": 1, + "comment_count": 1, "resolved": false, - "labels": [ - "self-hosting" - ], + "labels": [], "author": { - "login": "SathinduGA", - "html_url": "https://github.com/SathinduGA" + "login": "wesleyearlstander", + "html_url": "https://github.com/wesleyearlstander" }, "category": "Ideas" }, { - "number": 1378, - "title": "Aggregate cost per span", - "href": "https://github.com/orgs/langfuse/discussions/1378", - "created_at": "2024-03-08T16:06:04Z", - "upvotes": 2, - "comment_count": 1, + "number": 4372, + "title": "LaTex Rendering", + "href": "https://github.com/orgs/langfuse/discussions/4372", + "created_at": "2024-11-21T22:06:07Z", + "upvotes": 1, + "comment_count": 0, "resolved": false, "labels": [], "author": { - "login": "ladislasdellinger", - "html_url": "https://github.com/ladislasdellinger" + "login": "wesleyearlstander", + "html_url": "https://github.com/wesleyearlstander" }, "category": "Ideas" }, { - "number": 1376, - "title": "Support parsing LLM model for ChatOllama", - "href": "https://github.com/orgs/langfuse/discussions/1376", - "created_at": "2024-03-08T14:13:58Z", + "number": 4353, + "title": "Datasets: Add selection of traces to a dataset", + "href": "https://github.com/orgs/langfuse/discussions/4353", + "created_at": "2024-11-21T08:56:15Z", "upvotes": 1, - "comment_count": 1, + "comment_count": 0, "resolved": false, - "labels": [], + "labels": [ + "feat-datasets" + ], "author": { - "login": "kleebaum", - "html_url": "https://github.com/kleebaum" + "login": "jannikmaierhoefer", + "html_url": "https://github.com/jannikmaierhoefer" }, "category": "Ideas" }, { - "number": 1374, - "title": "Add LLamaIndexTS example", - "href": "https://github.com/orgs/langfuse/discussions/1374", - "created_at": "2024-03-08T00:42:30Z", + "number": 4348, + "title": "Multi-user annotation capability in Score Configs", + "href": "https://github.com/orgs/langfuse/discussions/4348", + "created_at": "2024-11-20T19:16:38Z", "upvotes": 1, - "comment_count": 1, + "comment_count": 2, "resolved": false, - "labels": [], + "labels": [ + "feat-annotation" + ], "author": { - "login": "luandro", - "html_url": "https://github.com/luandro" + "login": "juanmleng", + "html_url": "https://github.com/juanmleng" }, "category": "Ideas" }, { - "number": 1361, - "title": "Add a retention window for unnecessary data", - "href": "https://github.com/orgs/langfuse/discussions/1361", - "created_at": "2024-03-07T14:42:07Z", + "number": 4342, + "title": "Feature request: Lifecycle hooks in LangFuse", + "href": "https://github.com/orgs/langfuse/discussions/4342", + "created_at": "2024-11-20T14:23:44Z", "upvotes": 1, "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "albertoforcato", - "html_url": "https://github.com/albertoforcato" + "login": "barseghyanartur", + "html_url": "https://github.com/barseghyanartur" }, "category": "Ideas" }, { - "number": 1337, - "title": "Support for Langchain ChatAnthropic", - "href": "https://github.com/orgs/langfuse/discussions/1337", - "created_at": "2024-03-06T10:42:36Z", + "number": 4340, + "title": "RBAC: Restriction based on trace tags/metadata", + "href": "https://github.com/orgs/langfuse/discussions/4340", + "created_at": "2024-11-20T12:32:40Z", "upvotes": 2, - "comment_count": 1, + "comment_count": 0, "resolved": false, - "labels": [ - "integration-langchain" - ], + "labels": [], "author": { - "login": "dotrunghieu96", - "html_url": "https://github.com/dotrunghieu96" + "login": "jannikmaierhoefer", + "html_url": "https://github.com/jannikmaierhoefer" }, "category": "Ideas" }, { - "number": 1331, - "title": "Adding cost to the datasets tables", - "href": "https://github.com/orgs/langfuse/discussions/1331", - "created_at": "2024-03-05T18:53:25Z", - "upvotes": 1, - "comment_count": 1, + "number": 4332, + "title": "Trace Table: Ability to sort table by score", + "href": "https://github.com/orgs/langfuse/discussions/4332", + "created_at": "2024-11-20T10:27:38Z", + "upvotes": 2, + "comment_count": 0, "resolved": false, - "labels": [ - "✅ Done" - ], + "labels": [], "author": { - "login": "ladislasdellinger", - "html_url": "https://github.com/ladislasdellinger" + "login": "jannikmaierhoefer", + "html_url": "https://github.com/jannikmaierhoefer" }, "category": "Ideas" }, { - "number": 1321, - "title": "More prompt environments/tags instead of just `active`", - "href": "https://github.com/orgs/langfuse/discussions/1321", - "created_at": "2024-03-05T11:05:17Z", + "number": 4322, + "title": "Add the ability to remove tags from traces via the SDK/API", + "href": "https://github.com/orgs/langfuse/discussions/4322", + "created_at": "2024-11-19T20:09:18Z", + "upvotes": 2, + "comment_count": 0, + "resolved": false, + "labels": [], + "author": { + "login": "justinwiley", + "html_url": "https://github.com/justinwiley" + }, + "category": "Ideas" + }, + { + "number": 4316, + "title": "Prompt Changelog Management", + "href": "https://github.com/orgs/langfuse/discussions/4316", + "created_at": "2024-11-19T14:32:33Z", "upvotes": 3, - "comment_count": 2, + "comment_count": 0, "resolved": false, - "labels": [ - "feat-prompt-management", - "✅ Done" - ], + "labels": [], "author": { - "login": "ladislasdellinger", - "html_url": "https://github.com/ladislasdellinger" + "login": "alexander-abramovich", + "html_url": "https://github.com/alexander-abramovich" }, "category": "Ideas" }, { - "number": 1309, - "title": "Log used prompt on generations when using Langchain", - "href": "https://github.com/orgs/langfuse/discussions/1309", - "created_at": "2024-03-04T09:03:35Z", - "upvotes": 5, - "comment_count": 2, + "number": 4315, + "title": "Smartly integrate with prompt templating tools (like Jinja templating engine)", + "href": "https://github.com/orgs/langfuse/discussions/4315", + "created_at": "2024-11-19T14:30:42Z", + "upvotes": 2, + "comment_count": 0, "resolved": false, - "labels": [ - "integration-langchain", - "✅ Done" - ], + "labels": [], "author": { - "login": "TobinShaw", - "html_url": "https://github.com/TobinShaw" + "login": "alexander-abramovich", + "html_url": "https://github.com/alexander-abramovich" }, "category": "Ideas" }, { - "number": 1306, - "title": "[TS] Generating through OpenAI SDK directly", - "href": "https://github.com/orgs/langfuse/discussions/1306", - "created_at": "2024-03-02T10:56:07Z", - "upvotes": 1, + "number": 4314, + "title": "Making prompt editing eye-pleasing and less error-prown", + "href": "https://github.com/orgs/langfuse/discussions/4314", + "created_at": "2024-11-19T14:24:29Z", + "upvotes": 2, + "comment_count": 0, + "resolved": false, + "labels": [], + "author": { + "login": "alexander-abramovich", + "html_url": "https://github.com/alexander-abramovich" + }, + "category": "Ideas" + }, + { + "number": 4304, + "title": "Prompt Management: Metadata for Prompt Versions", + "href": "https://github.com/orgs/langfuse/discussions/4304", + "created_at": "2024-11-19T08:39:27Z", + "upvotes": 7, "comment_count": 2, "resolved": false, "labels": [ - "integrations", - "integration-openai", - "✅ Done" + "feat-prompt-management" ], "author": { - "login": "louis030195", - "html_url": "https://github.com/louis030195" + "login": "jannikmaierhoefer", + "html_url": "https://github.com/jannikmaierhoefer" }, "category": "Ideas" }, { - "number": 1305, - "title": "Allow Project-Specific Default Time Ranges", - "href": "https://github.com/orgs/langfuse/discussions/1305", - "created_at": "2024-03-02T03:42:42Z", + "number": 4303, + "title": "Exporting comments", + "href": "https://github.com/orgs/langfuse/discussions/4303", + "created_at": "2024-11-19T06:59:31Z", "upvotes": 1, "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "dkindlund", - "html_url": "https://github.com/dkindlund" + "login": "jamesyu", + "html_url": "https://github.com/jamesyu" }, "category": "Ideas" }, { - "number": 1300, - "title": "Consider adding support for DSPy", - "href": "https://github.com/orgs/langfuse/discussions/1300", - "created_at": "2024-03-01T15:42:23Z", + "number": 4301, + "title": "[Feature Request] API to Remove or Update Trace Tags", + "href": "https://github.com/orgs/langfuse/discussions/4301", + "created_at": "2024-11-19T02:41:13Z", "upvotes": 1, - "comment_count": 2, + "comment_count": 0, "resolved": false, "labels": [], "author": { - "login": "sutyum", - "html_url": "https://github.com/sutyum" + "login": "0xcodedead", + "html_url": "https://github.com/0xcodedead" }, "category": "Ideas" }, { - "number": 1295, - "title": "Support DSPy", - "href": "https://github.com/orgs/langfuse/discussions/1295", - "created_at": "2024-03-01T11:34:05Z", - "upvotes": 19, - "comment_count": 9, + "number": 4299, + "title": "Add XML/tree viewer to playground and trace viewer", + "href": "https://github.com/orgs/langfuse/discussions/4299", + "created_at": "2024-11-19T01:12:03Z", + "upvotes": 1, + "comment_count": 0, "resolved": false, - "labels": [ - "integrations", - "✅ Done", - "integration-dspy" - ], + "labels": [], "author": { - "login": "sandangel", - "html_url": "https://github.com/sandangel" + "login": "jeff-an", + "html_url": "https://github.com/jeff-an" }, "category": "Ideas" }, { - "number": 1291, - "title": "Integration: LlamaIndex JS/TS", - "href": "https://github.com/orgs/langfuse/discussions/1291", - "created_at": "2024-02-29T11:56:42Z", - "upvotes": 33, - "comment_count": 3, + "number": 4280, + "title": "Increase character limit of comments in Langfuse", + "href": "https://github.com/orgs/langfuse/discussions/4280", + "created_at": "2024-11-18T11:20:06Z", + "upvotes": 1, + "comment_count": 0, "resolved": false, - "labels": [ - "sdk-js", - "integrations", - "integraton-llamaindex" - ], + "labels": [], "author": { - "login": "marcklingen", - "html_url": "https://github.com/marcklingen" + "login": "jannikmaierhoefer", + "html_url": "https://github.com/jannikmaierhoefer" }, "category": "Ideas" }, { - "number": 1287, - "title": "Add filtering by errors", - "href": "https://github.com/orgs/langfuse/discussions/1287", - "created_at": "2024-02-28T22:52:59Z", - "upvotes": 3, - "comment_count": 2, + "number": 4276, + "title": "Enh prompt management system", + "href": "https://github.com/orgs/langfuse/discussions/4276", + "created_at": "2024-11-17T21:50:06Z", + "upvotes": 1, + "comment_count": 1, "resolved": false, - "labels": [ - "ui" - ], + "labels": [], "author": { - "login": "ankerbachryhl", - "html_url": "https://github.com/ankerbachryhl" + "login": "flefevre", + "html_url": "https://github.com/flefevre" }, "category": "Ideas" }, { - "number": 1277, - "title": "Add Audit Logging System to Worker Tasks", - "href": "https://github.com/orgs/langfuse/discussions/1277", - "created_at": "2024-02-28T11:53:15Z", + "number": 4268, + "title": "Support image messages in the playground", + "href": "https://github.com/orgs/langfuse/discussions/4268", + "created_at": "2024-11-17T01:02:48Z", "upvotes": 1, - "comment_count": 3, + "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "khareyash05", - "html_url": "https://github.com/khareyash05" + "login": "jeff-an", + "html_url": "https://github.com/jeff-an" }, "category": "Ideas" }, { - "number": 1268, - "title": "Possible with different units for input and output", - "href": "https://github.com/orgs/langfuse/discussions/1268", - "created_at": "2024-02-27T13:45:21Z", + "number": 4263, + "title": "Extend RBAC to Include Teams and Refine Permissions for Prompt Management", + "href": "https://github.com/orgs/langfuse/discussions/4263", + "created_at": "2024-11-16T04:22:27Z", "upvotes": 1, - "comment_count": 1, + "comment_count": 0, "resolved": false, "labels": [], "author": { - "login": "Stadly", - "html_url": "https://github.com/Stadly" + "login": "flefevre", + "html_url": "https://github.com/flefevre" }, "category": "Ideas" }, { - "number": 1264, - "title": "ChatML/ChatMessage Prompt Templates", - "href": "https://github.com/orgs/langfuse/discussions/1264", - "created_at": "2024-02-27T01:59:05Z", - "upvotes": 4, - "comment_count": 3, + "number": 4258, + "title": "Automatically Trace from Playground", + "href": "https://github.com/orgs/langfuse/discussions/4258", + "created_at": "2024-11-15T18:58:05Z", + "upvotes": 1, + "comment_count": 0, "resolved": false, - "labels": [ - "feat-prompt-management", - "✅ Done" - ], + "labels": [], "author": { - "login": "tuan3w", - "html_url": "https://github.com/tuan3w" + "login": "Chinoman10", + "html_url": "https://github.com/Chinoman10" }, "category": "Ideas" }, { - "number": 1258, - "title": "Dashboard for all projects of an organization", - "href": "https://github.com/orgs/langfuse/discussions/1258", - "created_at": "2024-02-26T20:12:22Z", - "upvotes": 11, - "comment_count": 2, + "number": 4247, + "title": "Reset LangfuseDecorator context to allow nested traces", + "href": "https://github.com/orgs/langfuse/discussions/4247", + "created_at": "2024-11-15T09:59:28Z", + "upvotes": 2, + "comment_count": 0, "resolved": false, - "labels": [ - "feat-dashboard" - ], + "labels": [], "author": { - "login": "aiakubovich", - "html_url": "https://github.com/aiakubovich" + "login": "vitalii-diachkov-sumup", + "html_url": "https://github.com/vitalii-diachkov-sumup" }, "category": "Ideas" }, { - "number": 1221, - "title": "Add Haystack integration", - "href": "https://github.com/orgs/langfuse/discussions/1221", - "created_at": "2024-02-21T13:06:06Z", - "upvotes": 9, - "comment_count": 2, + "number": 4212, + "title": "Disable authentication in self-hosted deployments", + "href": "https://github.com/orgs/langfuse/discussions/4212", + "created_at": "2024-11-13T13:32:11Z", + "upvotes": 2, + "comment_count": 1, "resolved": false, "labels": [ - "integrations", - "✅ Done", - "integration-haystack" + "feat-auth", + "self-hosting" ], "author": { - "login": "marcklingen", - "html_url": "https://github.com/marcklingen" + "login": "mariusp12", + "html_url": "https://github.com/mariusp12" }, "category": "Ideas" }, { - "number": 1220, - "title": "Export to S3", - "href": "https://github.com/orgs/langfuse/discussions/1220", - "created_at": "2024-02-21T12:46:58Z", + "number": 4208, + "title": "Multi-turn / session experiments in datasets", + "href": "https://github.com/orgs/langfuse/discussions/4208", + "created_at": "2024-11-13T11:43:31Z", "upvotes": 1, - "comment_count": 0, + "comment_count": 1, "resolved": false, "labels": [ - "integrations" + "feat-datasets" ], "author": { - "login": "marcklingen", - "html_url": "https://github.com/marcklingen" + "login": "bartsimo", + "html_url": "https://github.com/bartsimo" }, "category": "Ideas" }, { - "number": 1219, - "title": "Export to BigQuery", - "href": "https://github.com/orgs/langfuse/discussions/1219", - "created_at": "2024-02-21T12:46:26Z", - "upvotes": 4, - "comment_count": 0, + "number": 4189, + "title": "feat: add support for SSR to allow runtime BASE_PATH", + "href": "https://github.com/orgs/langfuse/discussions/4189", + "created_at": "2024-11-12T12:39:25Z", + "upvotes": 2, + "comment_count": 1, "resolved": false, "labels": [ - "integrations" + "self-hosting" ], "author": { - "login": "marcklingen", - "html_url": "https://github.com/marcklingen" + "login": "sinux-l5d", + "html_url": "https://github.com/sinux-l5d" }, "category": "Ideas" }, { - "number": 1212, - "title": "Adding support for async Langchain methods", - "href": "https://github.com/orgs/langfuse/discussions/1212", - "created_at": "2024-02-20T13:09:19Z", - "upvotes": 24, - "comment_count": 5, + "number": 4168, + "title": "Centralized API Key Management with Secret Store Integration (e.g. HashiCorp Vault)", + "href": "https://github.com/orgs/langfuse/discussions/4168", + "created_at": "2024-11-11T11:11:10Z", + "upvotes": 1, + "comment_count": 2, "resolved": false, "labels": [ - "integration-langchain", - "✅ Done" + "security", + "self-hosting" ], "author": { - "login": "marcklingen", - "html_url": "https://github.com/marcklingen" + "login": "bikram42", + "html_url": "https://github.com/bikram42" }, "category": "Ideas" }, { - "number": 1208, - "title": "Add Images in Tracing", - "href": "https://github.com/orgs/langfuse/discussions/1208", - "created_at": "2024-02-20T00:41:41Z", - "upvotes": 11, + "number": 4166, + "title": "Allow sending events to multiple LF projects within one client app", + "href": "https://github.com/orgs/langfuse/discussions/4166", + "created_at": "2024-11-11T10:51:01Z", + "upvotes": 1, "comment_count": 2, "resolved": false, - "labels": [ - "✅ Done", - "feat-multimodal" - ], + "labels": [], "author": { - "login": "aiakubovich", - "html_url": "https://github.com/aiakubovich" + "login": "snopoke", + "html_url": "https://github.com/snopoke" }, "category": "Ideas" }, { - "number": 1190, - "title": "Request to add 75 percentile under Model latency section as shown in image below", - "href": "https://github.com/orgs/langfuse/discussions/1190", - "created_at": "2024-02-16T21:41:29Z", + "number": 4165, + "title": "Another glimpse into prompt management in LangFuse", + "href": "https://github.com/orgs/langfuse/discussions/4165", + "created_at": "2024-11-11T10:20:18Z", "upvotes": 1, "comment_count": 1, "resolved": false, - "labels": [], + "labels": [ + "feat-prompt-management" + ], "author": { - "login": "ssubburaj85", - "html_url": "https://github.com/ssubburaj85" + "login": "barseghyanartur", + "html_url": "https://github.com/barseghyanartur" }, "category": "Ideas" }, { - "number": 1170, - "title": "LLM Playground", - "href": "https://github.com/orgs/langfuse/discussions/1170", - "created_at": "2024-02-15T17:44:42Z", - "upvotes": 7, - "comment_count": 6, + "number": 4154, + "title": "Feature Request: Enable Invites with `AUTH_DISABLE_SIGNUP` (or/and GitHub OAuth for a given organization)", + "href": "https://github.com/orgs/langfuse/discussions/4154", + "created_at": "2024-11-10T15:04:41Z", + "upvotes": 3, + "comment_count": 1, "resolved": false, "labels": [ - "feat-prompt-management", - "✅ Done", - "feat-playground" + "feat-auth", + "self-hosting" ], "author": { - "login": "reza-mohideen", - "html_url": "https://github.com/reza-mohideen" + "login": "shner-elmo", + "html_url": "https://github.com/shner-elmo" }, "category": "Ideas" }, { - "number": 1159, - "title": "Looking for users (that are migrating off of something) to co-build Langfuse integration with", - "href": "https://github.com/orgs/langfuse/discussions/1159", - "created_at": "2024-02-14T19:05:27Z", - "upvotes": 2, - "comment_count": 1, + "number": 4143, + "title": "Getting prompts using LiteLLM syntax", + "href": "https://github.com/orgs/langfuse/discussions/4143", + "created_at": "2024-11-09T17:01:10Z", + "upvotes": 1, + "comment_count": 0, "resolved": false, "labels": [], "author": { - "login": "skrawcz", - "html_url": "https://github.com/skrawcz" + "login": "doasfrancisco", + "html_url": "https://github.com/doasfrancisco" }, "category": "Ideas" }, { - "number": 1156, - "title": "Possible to set timestamp when creating trace", - "href": "https://github.com/orgs/langfuse/discussions/1156", - "created_at": "2024-02-14T14:26:22Z", + "number": 4129, + "title": "Annotation Queue: Display trace id", + "href": "https://github.com/orgs/langfuse/discussions/4129", + "created_at": "2024-11-08T16:14:00Z", "upvotes": 1, + "comment_count": 0, + "resolved": false, + "labels": [], + "author": { + "login": "jannikmaierhoefer", + "html_url": "https://github.com/jannikmaierhoefer" + }, + "category": "Ideas" + }, + { + "number": 4121, + "title": "Enable to use variable of prompt on evaluator.", + "href": "https://github.com/orgs/langfuse/discussions/4121", + "created_at": "2024-11-08T09:16:28Z", + "upvotes": 3, "comment_count": 1, "resolved": false, "labels": [ - "sdk-js" + "feat-evals" ], "author": { - "login": "Stadly", - "html_url": "https://github.com/Stadly" + "login": "takryo00", + "html_url": "https://github.com/takryo00" }, "category": "Ideas" }, { - "number": 1154, - "title": "Dedicated user object which can include groups/teams and other attributes", - "href": "https://github.com/orgs/langfuse/discussions/1154", - "created_at": "2024-02-14T09:45:40Z", - "upvotes": 6, - "comment_count": 5, + "number": 4120, + "title": "Sessions Table: Scores Column", + "href": "https://github.com/orgs/langfuse/discussions/4120", + "created_at": "2024-11-08T08:58:10Z", + "upvotes": 5, + "comment_count": 0, "resolved": false, "labels": [ - "feat-users" + "feat-sessions" ], "author": { - "login": "bryan-agicap", - "html_url": "https://github.com/bryan-agicap" + "login": "jannikmaierhoefer", + "html_url": "https://github.com/jannikmaierhoefer" }, "category": "Ideas" }, { - "number": 1133, - "title": "API to delete scores", - "href": "https://github.com/orgs/langfuse/discussions/1133", - "created_at": "2024-02-12T11:19:59Z", - "upvotes": 2, - "comment_count": 1, + "number": 4110, + "title": "Sort functionality in Users page", + "href": "https://github.com/orgs/langfuse/discussions/4110", + "created_at": "2024-11-07T19:43:07Z", + "upvotes": 1, + "comment_count": 0, "resolved": false, - "labels": [ - "feat-api", - "feat-scores" - ], + "labels": [], "author": { - "login": "Jason-CKY", - "html_url": "https://github.com/Jason-CKY" + "login": "sal-dti", + "html_url": "https://github.com/sal-dti" }, "category": "Ideas" }, { - "number": 1128, - "title": "Display all traces within a session", - "href": "https://github.com/orgs/langfuse/discussions/1128", - "created_at": "2024-02-10T17:36:48Z", - "upvotes": 2, + "number": 4106, + "title": "Add new filters for the LLM as a Judge Evaluation (other scores and cost)", + "href": "https://github.com/orgs/langfuse/discussions/4106", + "created_at": "2024-11-07T14:44:31Z", + "upvotes": 1, "comment_count": 1, "resolved": false, "labels": [ - "ui", - "feat-sessions" + "feat-evals" ], "author": { - "login": "benm5678", - "html_url": "https://github.com/benm5678" + "login": "laisalvescw", + "html_url": "https://github.com/laisalvescw" }, "category": "Ideas" }, { - "number": 1118, - "title": "[Simple Feature/WebUI] Adding a button to hide the sidebar", - "href": "https://github.com/orgs/langfuse/discussions/1118", - "created_at": "2024-02-09T09:43:34Z", - "upvotes": 3, + "number": 4103, + "title": "Prompt Management: Deployment level view", + "href": "https://github.com/orgs/langfuse/discussions/4103", + "created_at": "2024-11-07T12:40:07Z", + "upvotes": 2, "comment_count": 1, "resolved": false, "labels": [ - "ui" + "feat-prompt-management" ], "author": { - "login": "samyxdev", - "html_url": "https://github.com/samyxdev" + "login": "jannikmaierhoefer", + "html_url": "https://github.com/jannikmaierhoefer" }, "category": "Ideas" }, { - "number": 1115, - "title": "Prioritize traces captured from LangGraph by relevance", - "href": "https://github.com/orgs/langfuse/discussions/1115", - "created_at": "2024-02-08T06:44:34Z", - "upvotes": 8, - "comment_count": 3, + "number": 4102, + "title": "Prompt Management: labels in prompt table", + "href": "https://github.com/orgs/langfuse/discussions/4102", + "created_at": "2024-11-07T12:38:00Z", + "upvotes": 2, + "comment_count": 0, "resolved": false, - "labels": [ - "ui", - "integration-langchain" - ], + "labels": [], "author": { - "login": "litagent", - "html_url": "https://github.com/litagent" + "login": "jannikmaierhoefer", + "html_url": "https://github.com/jannikmaierhoefer" }, "category": "Ideas" }, { - "number": 1114, - "title": "Pulling prompt/completions via API", - "href": "https://github.com/orgs/langfuse/discussions/1114", - "created_at": "2024-02-08T00:52:10Z", + "number": 4099, + "title": "Does LangFuse support a (declarative) plugin architecture?", + "href": "https://github.com/orgs/langfuse/discussions/4099", + "created_at": "2024-11-07T11:27:39Z", "upvotes": 1, "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "mukundt", - "html_url": "https://github.com/mukundt" + "login": "barseghyanartur", + "html_url": "https://github.com/barseghyanartur" }, "category": "Ideas" }, { - "number": 1106, - "title": "Prompt version comments", - "href": "https://github.com/orgs/langfuse/discussions/1106", - "created_at": "2024-02-07T15:38:07Z", - "upvotes": 5, - "comment_count": 2, + "number": 4097, + "title": "More Granular Target Objects for Langfuse Evaluators", + "href": "https://github.com/orgs/langfuse/discussions/4097", + "created_at": "2024-11-07T10:00:11Z", + "upvotes": 1, + "comment_count": 0, "resolved": false, - "labels": [ - "ui", - "feat-prompt-management", - "✅ Done" - ], + "labels": [], "author": { - "login": "mukundt", - "html_url": "https://github.com/mukundt" + "login": "qrosseel", + "html_url": "https://github.com/qrosseel" }, "category": "Ideas" }, { - "number": 1105, - "title": "\"Git diff\" view between two prompt versions", - "href": "https://github.com/orgs/langfuse/discussions/1105", - "created_at": "2024-02-07T15:37:18Z", - "upvotes": 13, + "number": 4096, + "title": "Evaluator CRUD in UI and API", + "href": "https://github.com/orgs/langfuse/discussions/4096", + "created_at": "2024-11-07T09:46:01Z", + "upvotes": 1, "comment_count": 1, "resolved": false, - "labels": [ - "ui", - "feat-prompt-management" - ], + "labels": [], "author": { - "login": "mukundt", - "html_url": "https://github.com/mukundt" + "login": "qrosseel", + "html_url": "https://github.com/qrosseel" }, "category": "Ideas" }, { - "number": 1097, - "title": "Ability to post-process generation data", - "href": "https://github.com/orgs/langfuse/discussions/1097", - "created_at": "2024-02-06T17:45:58Z", - "upvotes": 2, - "comment_count": 1, + "number": 4078, + "title": "Specify data masking on decorator itself", + "href": "https://github.com/orgs/langfuse/discussions/4078", + "created_at": "2024-11-06T14:00:47Z", + "upvotes": 1, + "comment_count": 0, "resolved": false, - "labels": [], + "labels": [ + "integration-python-decorator", + "feat-data-masking" + ], "author": { - "login": "denisergashbaev", - "html_url": "https://github.com/denisergashbaev" + "login": "marcklingen", + "html_url": "https://github.com/marcklingen" }, "category": "Ideas" }, { - "number": 1096, - "title": "[Python SDK] Link prompt to OpenAI Chat Completion directly", - "href": "https://github.com/orgs/langfuse/discussions/1096", - "created_at": "2024-02-06T17:19:29Z", - "upvotes": 2, - "comment_count": 2, + "number": 4077, + "title": "Export dataset run table", + "href": "https://github.com/orgs/langfuse/discussions/4077", + "created_at": "2024-11-06T13:58:30Z", + "upvotes": 4, + "comment_count": 0, "resolved": false, "labels": [ - "sdk-python", - "feat-prompt-management", - "integration-openai" + "feat-datasets" ], "author": { - "login": "fancyweb", - "html_url": "https://github.com/fancyweb" + "login": "marcklingen", + "html_url": "https://github.com/marcklingen" }, "category": "Ideas" }, { - "number": 1089, - "title": "Use JWTs for API private key", - "href": "https://github.com/orgs/langfuse/discussions/1089", - "created_at": "2024-02-06T02:11:39Z", - "upvotes": 1, - "comment_count": 2, + "number": 4076, + "title": "Customizable data mask (input/output, observation names, observation type)", + "href": "https://github.com/orgs/langfuse/discussions/4076", + "created_at": "2024-11-06T13:56:36Z", + "upvotes": 2, + "comment_count": 0, "resolved": false, - "labels": [], + "labels": [ + "feat-data-masking" + ], "author": { - "login": "Manouchehri", - "html_url": "https://github.com/Manouchehri" + "login": "marcklingen", + "html_url": "https://github.com/marcklingen" }, "category": "Ideas" }, { - "number": 1082, - "title": "Add LLM call duration on session and trace table", - "href": "https://github.com/orgs/langfuse/discussions/1082", - "created_at": "2024-02-05T20:52:23Z", + "number": 4060, + "title": "Add support for more complex Jinja constructs", + "href": "https://github.com/orgs/langfuse/discussions/4060", + "created_at": "2024-11-05T14:28:17Z", "upvotes": 1, "comment_count": 1, "resolved": false, "labels": [ - "ui" + "feat-prompt-management" ], "author": { - "login": "Manouchehri", - "html_url": "https://github.com/Manouchehri" + "login": "alex-stoica", + "html_url": "https://github.com/alex-stoica" }, "category": "Ideas" }, { - "number": 1077, - "title": "Flowise: Allow adding metadata in API call to populate Langfuse trace metadata", - "href": "https://github.com/orgs/langfuse/discussions/1077", - "created_at": "2024-02-05T15:55:07Z", - "upvotes": 2, - "comment_count": 0, + "number": 4040, + "title": "Linking ChatPromptTemplate to Multiple Prompts", + "href": "https://github.com/orgs/langfuse/discussions/4040", + "created_at": "2024-11-04T13:49:06Z", + "upvotes": 1, + "comment_count": 1, "resolved": false, "labels": [ - "integration-flowise" + "feat-prompt-management" ], "author": { - "login": "jpmin7", - "html_url": "https://github.com/jpmin7" + "login": "sternr", + "html_url": "https://github.com/sternr" }, "category": "Ideas" }, { - "number": 1076, - "title": "Flowise: Allow Langfuse traceId to be set or passed on with API response", - "href": "https://github.com/orgs/langfuse/discussions/1076", - "created_at": "2024-02-05T14:58:23Z", - "upvotes": 1, - "comment_count": 1, + "number": 4037, + "title": "feat: support adding trace tags in annotation queue view", + "href": "https://github.com/orgs/langfuse/discussions/4037", + "created_at": "2024-11-04T13:04:02Z", + "upvotes": 2, + "comment_count": 0, "resolved": false, "labels": [ - "sdk-js", - "integration-flowise" + "feat-annotation" ], "author": { - "login": "jpmin7", - "html_url": "https://github.com/jpmin7" + "login": "marliessophie", + "html_url": "https://github.com/marliessophie" }, "category": "Ideas" }, { - "number": 1074, - "title": "Model costs in terms of energy for self hosted models (or cloud hosted)", - "href": "https://github.com/orgs/langfuse/discussions/1074", - "created_at": "2024-02-05T10:15:27Z", + "number": 4035, + "title": "Feat: De-dupe and show info when adding the same trace/observation to an annotation queue multiple times", + "href": "https://github.com/orgs/langfuse/discussions/4035", + "created_at": "2024-11-04T12:58:59Z", "upvotes": 1, "comment_count": 1, "resolved": false, - "labels": [], + "labels": [ + "feat-annotation" + ], "author": { - "login": "vquilon", - "html_url": "https://github.com/vquilon" + "login": "marliessophie", + "html_url": "https://github.com/marliessophie" }, "category": "Ideas" }, { - "number": 1073, - "title": "Use proper logger for backend API to make it configurable", - "href": "https://github.com/orgs/langfuse/discussions/1073", - "created_at": "2024-02-05T09:19:01Z", + "number": 4025, + "title": "Diff support for dataset runs view", + "href": "https://github.com/orgs/langfuse/discussions/4025", + "created_at": "2024-11-04T03:48:40Z", "upvotes": 3, - "comment_count": 5, + "comment_count": 0, "resolved": false, "labels": [ - "✅ Done", - "self-hosting" + "feat-datasets" ], "author": { - "login": "code-haven", - "html_url": "https://github.com/code-haven" + "login": "saikatmitra91", + "html_url": "https://github.com/saikatmitra91" }, "category": "Ideas" }, { - "number": 1049, - "title": "API Examples for Generations", - "href": "https://github.com/orgs/langfuse/discussions/1049", - "created_at": "2024-02-02T07:02:08Z", - "upvotes": 2, - "comment_count": 1, + "number": 4019, + "title": "Create Support for gemini models in playground", + "href": "https://github.com/orgs/langfuse/discussions/4019", + "created_at": "2024-11-03T11:12:42Z", + "upvotes": 1, + "comment_count": 2, "resolved": false, - "labels": [], + "labels": [ + "feat-evals", + "feat-playground" + ], "author": { - "login": "Manouchehri", - "html_url": "https://github.com/Manouchehri" + "login": "anuraj-suman", + "html_url": "https://github.com/anuraj-suman" }, "category": "Ideas" }, { - "number": 1048, - "title": "Allow sharing traces as a self contained HTML file via presigned S3 URL", - "href": "https://github.com/orgs/langfuse/discussions/1048", - "created_at": "2024-02-02T06:05:47Z", - "upvotes": 2, - "comment_count": 0, + "number": 4012, + "title": "Duplicate a template prompt to start a new prompt with all the boilerplate prepared", + "href": "https://github.com/orgs/langfuse/discussions/4012", + "created_at": "2024-11-02T15:26:33Z", + "upvotes": 1, + "comment_count": 1, "resolved": false, - "labels": [], + "labels": [ + "feat-prompt-management" + ], "author": { - "login": "Manouchehri", - "html_url": "https://github.com/Manouchehri" + "login": "jakelucasnyc", + "html_url": "https://github.com/jakelucasnyc" }, "category": "Ideas" }, { - "number": 1043, - "title": "Ability to query entities from SDK", - "href": "https://github.com/orgs/langfuse/discussions/1043", - "created_at": "2024-02-01T23:51:00Z", - "upvotes": 4, - "comment_count": 2, + "number": 4009, + "title": "SDK-Python: Get all prompts from LangfuseSDK Client", + "href": "https://github.com/orgs/langfuse/discussions/4009", + "created_at": "2024-11-01T18:39:02Z", + "upvotes": 1, + "comment_count": 1, "resolved": false, - "labels": [ - "feat-api" - ], + "labels": [], "author": { - "login": "Pranov1", - "html_url": "https://github.com/Pranov1" + "login": "nthanapaisal", + "html_url": "https://github.com/nthanapaisal" }, "category": "Ideas" }, { - "number": 1033, - "title": "Subscribe to Langfuse Events via Webhooks", - "href": "https://github.com/orgs/langfuse/discussions/1033", - "created_at": "2024-02-01T18:59:56Z", - "upvotes": 34, - "comment_count": 6, + "number": 4000, + "title": "Support custom aggregated queries through the UI", + "href": "https://github.com/orgs/langfuse/discussions/4000", + "created_at": "2024-11-01T14:19:58Z", + "upvotes": 2, + "comment_count": 0, "resolved": false, "labels": [], "author": { - "login": "marcklingen", - "html_url": "https://github.com/marcklingen" + "login": "emieldatalytica", + "html_url": "https://github.com/emieldatalytica" }, "category": "Ideas" }, { - "number": 1032, - "title": "Periodic reports (email or slack)", - "href": "https://github.com/orgs/langfuse/discussions/1032", - "created_at": "2024-02-01T18:57:42Z", - "upvotes": 12, - "comment_count": 1, + "number": 3997, + "title": "Alerts based on metrics (cost, evaluation, user-feedback), trigger webhook/email/slack/...", + "href": "https://github.com/orgs/langfuse/discussions/3997", + "created_at": "2024-11-01T11:25:05Z", + "upvotes": 1, + "comment_count": 0, "resolved": false, "labels": [], "author": { @@ -6585,458 +6544,472 @@ "category": "Ideas" }, { - "number": 1021, - "title": "Add `Embedding` observation type", - "href": "https://github.com/orgs/langfuse/discussions/1021", - "created_at": "2024-02-01T03:15:17Z", - "upvotes": 55, - "comment_count": 2, + "number": 3988, + "title": "Change AWS access pattern for Bedrock LLM usage, assume role", + "href": "https://github.com/orgs/langfuse/discussions/3988", + "created_at": "2024-10-31T17:45:48Z", + "upvotes": 1, + "comment_count": 1, "resolved": false, - "labels": [], + "labels": [ + "feat-evals", + "feat-playground" + ], "author": { - "login": "marcklingen", - "html_url": "https://github.com/marcklingen" + "login": "j10sanders", + "html_url": "https://github.com/j10sanders" }, "category": "Ideas" }, { - "number": 1020, - "title": "Leveraging Azure OpenAI Diagnostic Settings?", - "href": "https://github.com/orgs/langfuse/discussions/1020", - "created_at": "2024-02-01T02:58:54Z", + "number": 3986, + "title": "Support for Atlassian OAuth-Provider", + "href": "https://github.com/orgs/langfuse/discussions/3986", + "created_at": "2024-10-31T16:56:45Z", "upvotes": 1, - "comment_count": 0, + "comment_count": 1, "resolved": false, "labels": [ - "integration-openai", - "integration-litellm" + "feat-auth", + "self-hosting" ], "author": { - "login": "Manouchehri", - "html_url": "https://github.com/Manouchehri" + "login": "backface", + "html_url": "https://github.com/backface" }, "category": "Ideas" }, { - "number": 1011, - "title": "Configurable dashboards", - "href": "https://github.com/orgs/langfuse/discussions/1011", - "created_at": "2024-01-31T13:40:59Z", - "upvotes": 17, - "comment_count": 2, + "number": 3981, + "title": "Async support for data masking in JS/TS SDK", + "href": "https://github.com/orgs/langfuse/discussions/3981", + "created_at": "2024-10-31T14:06:21Z", + "upvotes": 3, + "comment_count": 3, "resolved": false, "labels": [ - "ui", - "feat-dashboard" + "feat-data-masking" ], "author": { - "login": "marcklingen", - "html_url": "https://github.com/marcklingen" + "login": "pexxi", + "html_url": "https://github.com/pexxi" }, "category": "Ideas" }, { - "number": 1010, - "title": "Add new integration: LLM Proxy", - "href": "https://github.com/orgs/langfuse/discussions/1010", - "created_at": "2024-01-31T12:40:35Z", + "number": 3970, + "title": "Add ability to export and import evaluators between projects", + "href": "https://github.com/orgs/langfuse/discussions/3970", + "created_at": "2024-10-30T16:13:20Z", "upvotes": 2, "comment_count": 1, "resolved": false, "labels": [ - "integrations" + "feat-evals" ], "author": { - "login": "marcklingen", - "html_url": "https://github.com/marcklingen" + "login": "j10sanders", + "html_url": "https://github.com/j10sanders" }, "category": "Ideas" }, { - "number": 1009, - "title": "Decorator-based integration with Langfuse", - "href": "https://github.com/orgs/langfuse/discussions/1009", - "created_at": "2024-01-31T12:19:26Z", - "upvotes": 7, - "comment_count": 3, + "number": 3954, + "title": "Decorator: disable tracing at the decorated function level", + "href": "https://github.com/orgs/langfuse/discussions/3954", + "created_at": "2024-10-29T11:45:13Z", + "upvotes": 3, + "comment_count": 2, "resolved": false, "labels": [ "sdk-python", - "integrations", - "✅ Done", "integration-python-decorator" ], "author": { - "login": "marcklingen", - "html_url": "https://github.com/marcklingen" + "login": "klemenstraeger", + "html_url": "https://github.com/klemenstraeger" }, "category": "Ideas" }, { - "number": 1004, - "title": "should work with OpenAI-compatible self-hosted endpoints", - "href": "https://github.com/orgs/langfuse/discussions/1004", - "created_at": "2024-01-31T09:04:28Z", - "upvotes": 2, - "comment_count": 2, - "resolved": false, - "labels": [ - "sdk-python", - "integration-openai" + "number": 3941, + "title": "Add keyword highlighting and color coding", + "href": "https://github.com/orgs/langfuse/discussions/3941", + "created_at": "2024-10-28T12:17:38Z", + "upvotes": 1, + "comment_count": 2, + "resolved": false, + "labels": [ + "feat-prompt-management" ], "author": { - "login": "7flash", - "html_url": "https://github.com/7flash" + "login": "ignazflam", + "html_url": "https://github.com/ignazflam" }, "category": "Ideas" }, { - "number": 999, - "title": "Users should be able to pass metadata and tags via `overrideConfig` when using the Flowise integration", - "href": "https://github.com/orgs/langfuse/discussions/999", - "created_at": "2024-01-30T19:52:41Z", + "number": 3935, + "title": "feat: Folder structure for dataset organisation", + "href": "https://github.com/orgs/langfuse/discussions/3935", + "created_at": "2024-10-28T08:23:14Z", "upvotes": 2, "comment_count": 1, "resolved": false, "labels": [ - "sdk-js", - "integration-flowise", - "✅ Done" + "feat-datasets" ], "author": { - "login": "giorgosera", - "html_url": "https://github.com/giorgosera" + "login": "marliessophie", + "html_url": "https://github.com/marliessophie" }, "category": "Ideas" }, { - "number": 991, - "title": "Inferring cost of trace from metadata field if optionally provided", - "href": "https://github.com/orgs/langfuse/discussions/991", - "created_at": "2024-01-30T07:38:56Z", - "upvotes": 1, - "comment_count": 2, + "number": 3918, + "title": "Model-based evaluations triggered by observations", + "href": "https://github.com/orgs/langfuse/discussions/3918", + "created_at": "2024-10-25T14:25:49Z", + "upvotes": 2, + "comment_count": 0, + "resolved": false, + "labels": [ + "feat-evals" + ], + "author": { + "login": "marcklingen", + "html_url": "https://github.com/marcklingen" + }, + "category": "Ideas" + }, + { + "number": 3904, + "title": "Support for Custom SSO Without AUTH_CUSTOM_CLIENT_SECRET and Incorrect Profile Mapping", + "href": "https://github.com/orgs/langfuse/discussions/3904", + "created_at": "2024-10-24T17:07:38Z", + "upvotes": 0, + "comment_count": 0, "resolved": false, "labels": [], "author": { - "login": "sumba101", - "html_url": "https://github.com/sumba101" + "login": "lucebert", + "html_url": "https://github.com/lucebert" }, "category": "Ideas" }, { - "number": 990, - "title": "filtering sessions with metadata", - "href": "https://github.com/orgs/langfuse/discussions/990", - "created_at": "2024-01-30T06:21:42Z", - "upvotes": 7, - "comment_count": 2, + "number": 3893, + "title": "Allow prompt editing without creating new version (draft mode)", + "href": "https://github.com/orgs/langfuse/discussions/3893", + "created_at": "2024-10-24T08:47:13Z", + "upvotes": 2, + "comment_count": 1, "resolved": false, "labels": [ - "ui", - "feat-sessions", - "feat-metadata" + "feat-prompt-management" ], "author": { - "login": "litagent", - "html_url": "https://github.com/litagent" + "login": "dveyarangi", + "html_url": "https://github.com/dveyarangi" }, "category": "Ideas" }, { - "number": 989, - "title": "Enable Collaboration Platforms for Project Members", - "href": "https://github.com/orgs/langfuse/discussions/989", - "created_at": "2024-01-30T04:00:26Z", + "number": 3891, + "title": "feat: user consumption broken down by model", + "href": "https://github.com/orgs/langfuse/discussions/3891", + "created_at": "2024-10-24T05:41:12Z", "upvotes": 1, - "comment_count": 1, + "comment_count": 0, "resolved": false, "labels": [], "author": { - "login": "khareyash05", - "html_url": "https://github.com/khareyash05" + "login": "belphegor-s", + "html_url": "https://github.com/belphegor-s" }, "category": "Ideas" }, { - "number": 982, - "title": "Supporting OpenAI Vision", - "href": "https://github.com/orgs/langfuse/discussions/982", - "created_at": "2024-01-29T19:06:44Z", - "upvotes": 7, - "comment_count": 2, + "number": 3885, + "title": "Trace -> Playground: Populate variable fields to make input iteration easier.", + "href": "https://github.com/orgs/langfuse/discussions/3885", + "created_at": "2024-10-23T16:26:36Z", + "upvotes": 2, + "comment_count": 0, "resolved": false, "labels": [ - "integration-openai", - "✅ Done", - "feat-multimodal" + "feat-prompt-management", + "feat-playground" ], "author": { - "login": "pj747", - "html_url": "https://github.com/pj747" + "login": "jannikmaierhoefer", + "html_url": "https://github.com/jannikmaierhoefer" }, "category": "Ideas" }, { - "number": 980, - "title": "Comments on objects across the Langfuse UI", - "href": "https://github.com/orgs/langfuse/discussions/980", - "created_at": "2024-01-29T18:21:03Z", - "upvotes": 3, - "comment_count": 3, + "number": 3875, + "title": "add gpt-4o-2024-08-06 model to langfuse models list", + "href": "https://github.com/orgs/langfuse/discussions/3875", + "created_at": "2024-10-23T10:54:01Z", + "upvotes": 1, + "comment_count": 1, "resolved": false, "labels": [ - "ui", "✅ Done" ], "author": { - "login": "marcklingen", - "html_url": "https://github.com/marcklingen" + "login": "alex-stoica", + "html_url": "https://github.com/alex-stoica" }, "category": "Ideas" }, { - "number": 976, - "title": "Support alternative databases next to Postgres, e.g. MySQL", - "href": "https://github.com/orgs/langfuse/discussions/976", - "created_at": "2024-01-28T21:44:11Z", - "upvotes": 3, - "comment_count": 6, + "number": 3874, + "title": "Ensure prompt validation when attaching prompts to generations", + "href": "https://github.com/orgs/langfuse/discussions/3874", + "created_at": "2024-10-23T10:48:38Z", + "upvotes": 1, + "comment_count": 0, "resolved": false, "labels": [ - "self-hosting" + "feat-prompt-management" ], "author": { - "login": "zoltan-fedor", - "html_url": "https://github.com/zoltan-fedor" + "login": "alex-stoica", + "html_url": "https://github.com/alex-stoica" }, "category": "Ideas" }, { - "number": 969, - "title": "Flowise - OpenAI Assistant cost tracking", - "href": "https://github.com/orgs/langfuse/discussions/969", - "created_at": "2024-01-26T18:04:07Z", - "upvotes": 2, - "comment_count": 0, + "number": 3866, + "title": "Support for OpenAI's cached input tokens", + "href": "https://github.com/orgs/langfuse/discussions/3866", + "created_at": "2024-10-22T19:38:33Z", + "upvotes": 4, + "comment_count": 2, "resolved": false, "labels": [ - "integration-flowise" + "feat-cost-tracking" ], "author": { - "login": "jozsef-gereby", - "html_url": "https://github.com/jozsef-gereby" + "login": "anatolec", + "html_url": "https://github.com/anatolec" }, "category": "Ideas" }, { - "number": 964, - "title": "Latency metrics - Time to first token, Tokens per second", - "href": "https://github.com/orgs/langfuse/discussions/964", - "created_at": "2024-01-26T15:37:01Z", - "upvotes": 8, - "comment_count": 3, + "number": 3862, + "title": "python generator request - return values", + "href": "https://github.com/orgs/langfuse/discussions/3862", + "created_at": "2024-10-22T11:43:22Z", + "upvotes": 1, + "comment_count": 1, "resolved": false, "labels": [ - "✅ Done" + "integration-python-decorator" ], "author": { - "login": "nikcaryo-super", - "html_url": "https://github.com/nikcaryo-super" + "login": "benji-finster", + "html_url": "https://github.com/benji-finster" }, "category": "Ideas" }, { - "number": 958, - "title": "LLM calls captured via Langchain integration should match what’s sent to the LLM", - "href": "https://github.com/orgs/langfuse/discussions/958", - "created_at": "2024-01-25T16:45:38Z", - "upvotes": 3, - "comment_count": 2, + "number": 3842, + "title": "Scores: Conditional Annotation", + "href": "https://github.com/orgs/langfuse/discussions/3842", + "created_at": "2024-10-21T08:37:48Z", + "upvotes": 1, + "comment_count": 0, "resolved": false, - "labels": [], + "labels": [ + "feat-scores", + "feat-annotation" + ], "author": { - "login": "benm5678", - "html_url": "https://github.com/benm5678" + "login": "marliessophie", + "html_url": "https://github.com/marliessophie" }, "category": "Ideas" }, { - "number": 953, - "title": "Improve integration with flowise", - "href": "https://github.com/orgs/langfuse/discussions/953", - "created_at": "2024-01-24T19:57:06Z", + "number": 3841, + "title": "Annotation Queues: define optional/mandatory score configs by queue", + "href": "https://github.com/orgs/langfuse/discussions/3841", + "created_at": "2024-10-21T08:32:46Z", "upvotes": 1, - "comment_count": 2, + "comment_count": 0, "resolved": false, "labels": [ - "sdk-js", - "integration-flowise" + "feat-annotation" ], "author": { - "login": "tsiougkosn", - "html_url": "https://github.com/tsiougkosn" + "login": "marliessophie", + "html_url": "https://github.com/marliessophie" }, "category": "Ideas" }, { - "number": 941, - "title": "Dark mode", - "href": "https://github.com/orgs/langfuse/discussions/941", - "created_at": "2024-01-24T05:52:30Z", - "upvotes": 9, - "comment_count": 5, + "number": 3840, + "title": "Scores: support for recording multiple choice selection as score value", + "href": "https://github.com/orgs/langfuse/discussions/3840", + "created_at": "2024-10-21T08:20:01Z", + "upvotes": 1, + "comment_count": 0, "resolved": false, "labels": [ - "✅ Done" + "feat-scores" ], "author": { - "login": "archywillhe", - "html_url": "https://github.com/archywillhe" + "login": "marliessophie", + "html_url": "https://github.com/marliessophie" }, "category": "Ideas" }, { - "number": 939, - "title": "Full-text search on trace/observation/generation input/output", - "href": "https://github.com/orgs/langfuse/discussions/939", - "created_at": "2024-01-23T23:47:11Z", - "upvotes": 27, - "comment_count": 9, + "number": 3839, + "title": "Prompts: ability to share prompt or playground session", + "href": "https://github.com/orgs/langfuse/discussions/3839", + "created_at": "2024-10-21T08:00:15Z", + "upvotes": 2, + "comment_count": 0, "resolved": false, "labels": [ - "ui" + "feat-prompt-management" ], "author": { - "login": "marcklingen", - "html_url": "https://github.com/marcklingen" + "login": "marliessophie", + "html_url": "https://github.com/marliessophie" }, "category": "Ideas" }, { - "number": 917, - "title": "Download dashboard details", - "href": "https://github.com/orgs/langfuse/discussions/917", - "created_at": "2024-01-21T16:35:24Z", - "upvotes": 8, - "comment_count": 3, + "number": 3836, + "title": "Distinguishing various steps", + "href": "https://github.com/orgs/langfuse/discussions/3836", + "created_at": "2024-10-20T16:54:32Z", + "upvotes": 1, + "comment_count": 0, "resolved": false, "labels": [], "author": { - "login": "kerenaba", - "html_url": "https://github.com/kerenaba" + "login": "ajram23", + "html_url": "https://github.com/ajram23" }, "category": "Ideas" }, { - "number": 902, - "title": "Support secret in docker compose", - "href": "https://github.com/orgs/langfuse/discussions/902", - "created_at": "2024-01-17T14:03:26Z", + "number": 3818, + "title": "Filter by status in dataset items table", + "href": "https://github.com/orgs/langfuse/discussions/3818", + "created_at": "2024-10-18T03:17:50Z", "upvotes": 2, - "comment_count": 1, + "comment_count": 2, "resolved": false, - "labels": [], + "labels": [ + "feat-datasets" + ], "author": { - "login": "shuther", - "html_url": "https://github.com/shuther" + "login": "FrankyCTY", + "html_url": "https://github.com/FrankyCTY" }, "category": "Ideas" }, { - "number": 896, - "title": "generation usage should accept a list of dict for async generation", - "href": "https://github.com/orgs/langfuse/discussions/896", - "created_at": "2024-01-17T05:59:24Z", + "number": 3817, + "title": "Add generic types for prompt variables in the sdk clients, e.g. `langfuse.getPrompt<{input: string}>(\"prompt name\")`", + "href": "https://github.com/orgs/langfuse/discussions/3817", + "created_at": "2024-10-17T23:40:45Z", "upvotes": 1, - "comment_count": 1, + "comment_count": 0, "resolved": false, - "labels": [], + "labels": [ + "feat-prompt-management" + ], "author": { - "login": "dove-young", - "html_url": "https://github.com/dove-young" + "login": "marcklingen", + "html_url": "https://github.com/marcklingen" }, "category": "Ideas" }, { - "number": 874, - "title": "Improve exception handling and type safety in python SDK", - "href": "https://github.com/orgs/langfuse/discussions/874", - "created_at": "2024-01-12T17:01:58Z", - "upvotes": 5, - "comment_count": 3, + "number": 3801, + "title": "Add image type with image_url for vision apo", + "href": "https://github.com/orgs/langfuse/discussions/3801", + "created_at": "2024-10-17T15:27:23Z", + "upvotes": 1, + "comment_count": 1, "resolved": false, - "labels": [], + "labels": [ + "feat-prompt-management", + "feat-playground" + ], "author": { - "login": "hubert-springbok", - "html_url": "https://github.com/hubert-springbok" + "login": "profikid", + "html_url": "https://github.com/profikid" }, "category": "Ideas" }, { - "number": 854, - "title": "Feature: API should give User-Tokens", - "href": "https://github.com/orgs/langfuse/discussions/854", - "created_at": "2024-01-09T14:26:47Z", - "upvotes": 6, - "comment_count": 0, + "number": 3798, + "title": "Versioning/edit of Evaluator Configuration", + "href": "https://github.com/orgs/langfuse/discussions/3798", + "created_at": "2024-10-17T11:59:39Z", + "upvotes": 3, + "comment_count": 1, "resolved": false, - "labels": [], + "labels": [ + "feat-evals" + ], "author": { - "login": "droggta", - "html_url": "https://github.com/droggta" + "login": "filipmihal", + "html_url": "https://github.com/filipmihal" }, "category": "Ideas" }, { - "number": 852, - "title": "Add prompt.to_langchain() to get a Langchain Prompt Template", - "href": "https://github.com/orgs/langfuse/discussions/852", - "created_at": "2024-01-09T13:20:55Z", - "upvotes": 7, - "comment_count": 2, + "number": 3782, + "title": "Measure time to last generated token", + "href": "https://github.com/orgs/langfuse/discussions/3782", + "created_at": "2024-10-16T17:45:12Z", + "upvotes": 2, + "comment_count": 0, "resolved": false, - "labels": [ - "integrations", - "feat-prompt-management", - "✅ Done" - ], + "labels": [], "author": { - "login": "marcklingen", - "html_url": "https://github.com/marcklingen" + "login": "dsherry", + "html_url": "https://github.com/dsherry" }, "category": "Ideas" }, { - "number": 853, - "title": "feat(ui): Dashboard filter and highlight", - "href": "https://github.com/orgs/langfuse/discussions/853", - "created_at": "2024-01-09T05:37:34Z", - "upvotes": 2, + "number": 3772, + "title": "Support annotation role permission to only access Annotation Queue feature", + "href": "https://github.com/orgs/langfuse/discussions/3772", + "created_at": "2024-10-16T03:49:43Z", + "upvotes": 1, "comment_count": 1, "resolved": false, "labels": [ - "ui", - "Dashboard" + "feat-annotation" ], "author": { - "login": "lkNGAT", - "html_url": "https://github.com/lkNGAT" + "login": "ytqh", + "html_url": "https://github.com/ytqh" }, "category": "Ideas" }, { - "number": 844, - "title": "Integration: Node.js/Typescript OpenAI SDK", - "href": "https://github.com/orgs/langfuse/discussions/844", - "created_at": "2024-01-08T22:39:27Z", - "upvotes": 8, - "comment_count": 2, + "number": 3765, + "title": "OpenAI integration support for realtime api", + "href": "https://github.com/orgs/langfuse/discussions/3765", + "created_at": "2024-10-15T21:35:13Z", + "upvotes": 5, + "comment_count": 3, "resolved": false, "labels": [ - "sdk-js", - "integrations", - "✅ Done" + "integration-openai" ], "author": { "login": "marcklingen", @@ -7045,5742 +7018,5788 @@ "category": "Ideas" }, { - "number": 828, - "title": "LlamaIndex integration (Python)", - "href": "https://github.com/orgs/langfuse/discussions/828", - "created_at": "2024-01-06T18:21:02Z", - "upvotes": 20, - "comment_count": 7, + "number": 3761, + "title": "DsPY type optimization functionality", + "href": "https://github.com/orgs/langfuse/discussions/3761", + "created_at": "2024-10-15T20:02:39Z", + "upvotes": 1, + "comment_count": 1, "resolved": false, "labels": [ - "sdk-python", - "integrations", - "✅ Done", - "integraton-llamaindex" + "integration-dspy" ], "author": { - "login": "marcklingen", - "html_url": "https://github.com/marcklingen" + "login": "nikshepsvn", + "html_url": "https://github.com/nikshepsvn" }, "category": "Ideas" }, { - "number": 1007, - "title": "Admin API: projects, api keys, user management", - "href": "https://github.com/orgs/langfuse/discussions/1007", - "created_at": "2023-12-21T13:22:28Z", - "upvotes": 23, - "comment_count": 13, + "number": 3755, + "title": "Intergrate with Ragflow", + "href": "https://github.com/orgs/langfuse/discussions/3755", + "created_at": "2024-10-15T06:54:12Z", + "upvotes": 3, + "comment_count": 1, "resolved": false, "labels": [ - "feat-api", - "self-hosting" + "integrations" ], "author": { - "login": "maxxte", - "html_url": "https://github.com/maxxte" + "login": "chuwe000", + "html_url": "https://github.com/chuwe000" }, "category": "Ideas" }, { - "number": 1006, - "title": "Versioning of docs", - "href": "https://github.com/orgs/langfuse/discussions/1006", - "created_at": "2023-12-18T01:27:09Z", + "number": 3802, + "title": "Get Observation IDs of sub chains when using @observe decorator combined with Langchain", + "href": "https://github.com/orgs/langfuse/discussions/3802", + "created_at": "2024-10-14T14:22:38Z", "upvotes": 1, - "comment_count": 1, + "comment_count": 4, "resolved": false, "labels": [ - "docs" + "sdk-python", + "integration-langchain", + "integration-python-decorator" ], "author": { - "login": "flxwu", - "html_url": "https://github.com/flxwu" + "login": "guusfrenken-wk", + "html_url": "https://github.com/guusfrenken-wk" }, "category": "Ideas" }, { - "number": 1008, - "title": "Datasets: Diff of output and expected output", - "href": "https://github.com/orgs/langfuse/discussions/1008", - "created_at": "2023-11-29T00:35:13Z", - "upvotes": 6, - "comment_count": 3, + "number": 3725, + "title": "observe context manager", + "href": "https://github.com/orgs/langfuse/discussions/3725", + "created_at": "2024-10-12T07:33:09Z", + "upvotes": 1, + "comment_count": 1, "resolved": false, - "labels": [ - "ui", - "feat-datasets" - ], + "labels": [], "author": { - "login": "marcklingen", - "html_url": "https://github.com/marcklingen" + "login": "eliorc", + "html_url": "https://github.com/eliorc" }, "category": "Ideas" }, { - "number": 1066, - "title": "feat: Publish arm64 compatible docker images", - "href": "https://github.com/orgs/langfuse/discussions/1066", - "created_at": "2023-11-08T16:06:08Z", - "upvotes": 1, - "comment_count": 10, + "number": 3723, + "title": "Terminal version of Langfuse (Langfuse CLI)", + "href": "https://github.com/orgs/langfuse/discussions/3723", + "created_at": "2024-10-11T21:06:48Z", + "upvotes": 3, + "comment_count": 2, "resolved": false, - "labels": [ - "✅ Done", - "self-hosting" - ], + "labels": [], "author": { - "login": "code-haven", - "html_url": "https://github.com/code-haven" + "login": "Shahin-rmz", + "html_url": "https://github.com/Shahin-rmz" }, "category": "Ideas" }, { - "number": 1065, - "title": "OpenAI SDK wrapper for JS", - "href": "https://github.com/orgs/langfuse/discussions/1065", - "created_at": "2023-09-15T10:55:35Z", - "upvotes": 1, - "comment_count": 3, + "number": 3681, + "title": "Evalution of a prompt by a LLM", + "href": "https://github.com/orgs/langfuse/discussions/3681", + "created_at": "2024-10-09T19:17:30Z", + "upvotes": 3, + "comment_count": 0, "resolved": false, "labels": [ - "sdk-js", - "integrations", - "integration-openai", - "✅ Done" + "feat-prompt-management" + ], + "author": { + "login": "jannikmaierhoefer", + "html_url": "https://github.com/jannikmaierhoefer" + }, + "category": "Ideas" + }, + { + "number": 3663, + "title": "Dashboard: Add time to first token chart (ttft)", + "href": "https://github.com/orgs/langfuse/discussions/3663", + "created_at": "2024-10-08T23:56:42Z", + "upvotes": 6, + "comment_count": 0, + "resolved": false, + "labels": [ + "feat-dashboard" ], "author": { "login": "marcklingen", "html_url": "https://github.com/marcklingen" }, "category": "Ideas" - } - ] - }, - { - "category": "Support", - "discussions": [ + }, { - "number": 4429, - "title": "Is there a way to rotate traces and generations?", - "href": "https://github.com/orgs/langfuse/discussions/4429", - "created_at": "2024-11-26T03:17:35Z", + "number": 3646, + "title": "Table sorting and filtering in database runs", + "href": "https://github.com/orgs/langfuse/discussions/3646", + "created_at": "2024-10-08T11:13:52Z", + "upvotes": 2, + "comment_count": 0, + "resolved": false, + "labels": [], + "author": { + "login": "FlorDonnaSanders", + "html_url": "https://github.com/FlorDonnaSanders" + }, + "category": "Ideas" + }, + { + "number": 3618, + "title": "User Aliases", + "href": "https://github.com/orgs/langfuse/discussions/3618", + "created_at": "2024-10-07T07:51:49Z", "upvotes": 1, "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [], "author": { - "login": "woung717", - "html_url": "https://github.com/woung717" + "login": "FlorDonnaSanders", + "html_url": "https://github.com/FlorDonnaSanders" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4418, - "title": "Cannot use prompt experiments \"No dataset item contains any variables\"", - "href": "https://github.com/orgs/langfuse/discussions/4418", - "created_at": "2024-11-25T20:32:59Z", - "upvotes": 1, - "comment_count": 3, - "resolved": true, - "labels": [ - "feat-prompt-experiments" - ], + "number": 3576, + "title": "feat: edit custom model definitions", + "href": "https://github.com/orgs/langfuse/discussions/3576", + "created_at": "2024-10-04T12:40:54Z", + "upvotes": 3, + "comment_count": 0, + "resolved": false, + "labels": [], "author": { - "login": "j10sanders", - "html_url": "https://github.com/j10sanders" + "login": "nialldevlin1", + "html_url": "https://github.com/nialldevlin1" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4417, - "title": "does token & cost counting take into consideration prompt caching, eg openai prompt caching?", - "href": "https://github.com/orgs/langfuse/discussions/4417", - "created_at": "2024-11-25T19:59:13Z", - "upvotes": 2, - "comment_count": 2, + "number": 3558, + "title": "Dashboard: split prompt/completion/total tokens", + "href": "https://github.com/orgs/langfuse/discussions/3558", + "created_at": "2024-10-02T02:17:47Z", + "upvotes": 6, + "comment_count": 0, "resolved": false, "labels": [ - "feat-cost-tracking" + "feat-dashboard" ], "author": { - "login": "dwstevens", - "html_url": "https://github.com/dwstevens" + "login": "marcklingen", + "html_url": "https://github.com/marcklingen" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4413, - "title": "Help needed with CustomSSOProvider Configuration for GitHub Enterprise", - "href": "https://github.com/orgs/langfuse/discussions/4413", - "created_at": "2024-11-25T15:30:23Z", - "upvotes": 1, - "comment_count": 3, + "number": 3551, + "title": "Metrics API to support the OpenMetrics format", + "href": "https://github.com/orgs/langfuse/discussions/3551", + "created_at": "2024-10-01T15:03:02Z", + "upvotes": 3, + "comment_count": 0, + "resolved": false, + "labels": [], + "author": { + "login": "shukawam", + "html_url": "https://github.com/shukawam" + }, + "category": "Ideas" + }, + { + "number": 3550, + "title": "Asynchronous Langfuse Client.", + "href": "https://github.com/orgs/langfuse/discussions/3550", + "created_at": "2024-10-01T14:03:48Z", + "upvotes": 8, + "comment_count": 1, "resolved": false, "labels": [ - "feat-auth", - "self-hosting" + "sdk-python" ], "author": { - "login": "jay0129", - "html_url": "https://github.com/jay0129" + "login": "fimselamse", + "html_url": "https://github.com/fimselamse" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4393, - "title": "Openai JS: Tracing for multiple iterations and tool calling", - "href": "https://github.com/orgs/langfuse/discussions/4393", - "created_at": "2024-11-23T06:57:40Z", + "number": 3546, + "title": "Add SCIM support for user/role/identity management", + "href": "https://github.com/orgs/langfuse/discussions/3546", + "created_at": "2024-10-01T02:18:33Z", "upvotes": 1, "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [ - "integration-openai" + "feat-api", + "security" ], "author": { - "login": "uhhfeef", - "html_url": "https://github.com/uhhfeef" + "login": "marcklingen", + "html_url": "https://github.com/marcklingen" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4389, - "title": "Does Langfuse tracing work in Vercel edge functions?", - "href": "https://github.com/orgs/langfuse/discussions/4389", - "created_at": "2024-11-22T22:41:52Z", + "number": 3538, + "title": "Vector search for datasets for few-shot prompting", + "href": "https://github.com/orgs/langfuse/discussions/3538", + "created_at": "2024-09-30T17:31:18Z", "upvotes": 1, - "comment_count": 0, + "comment_count": 1, "resolved": false, - "labels": [], + "labels": [ + "feat-datasets" + ], "author": { - "login": "holdenmatt", - "html_url": "https://github.com/holdenmatt" + "login": "antoniomdk", + "html_url": "https://github.com/antoniomdk" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4388, - "title": "How to completely discard image with new multi-modal system?", - "href": "https://github.com/orgs/langfuse/discussions/4388", - "created_at": "2024-11-22T18:56:07Z", - "upvotes": 1, - "comment_count": 2, + "number": 3529, + "title": "Sampling for JS/TS SDKs and integrations", + "href": "https://github.com/orgs/langfuse/discussions/3529", + "created_at": "2024-09-30T05:44:07Z", + "upvotes": 8, + "comment_count": 0, "resolved": false, - "labels": [], + "labels": [ + "feat-sampling" + ], "author": { - "login": "bioshazard", - "html_url": "https://github.com/bioshazard" + "login": "marcklingen", + "html_url": "https://github.com/marcklingen" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4374, - "title": "Error while migrating schema", - "href": "https://github.com/orgs/langfuse/discussions/4374", - "created_at": "2024-11-21T22:39:36Z", + "number": 3528, + "title": "Add saved filters config", + "href": "https://github.com/orgs/langfuse/discussions/3528", + "created_at": "2024-09-30T05:36:44Z", "upvotes": 1, - "comment_count": 2, - "resolved": true, - "labels": [], + "comment_count": 1, + "resolved": false, + "labels": [ + "ui" + ], "author": { - "login": "geek1s42", - "html_url": "https://github.com/geek1s42" + "login": "emaugars12", + "html_url": "https://github.com/emaugars12" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4373, - "title": "Silent failure when attempting adding scores to trace", - "href": "https://github.com/orgs/langfuse/discussions/4373", - "created_at": "2024-11-21T22:18:26Z", - "upvotes": 1, - "comment_count": 2, - "resolved": true, - "labels": [], + "number": 3527, + "title": "Show prompt-level aggregate metrics on the prompts table", + "href": "https://github.com/orgs/langfuse/discussions/3527", + "created_at": "2024-09-30T00:33:43Z", + "upvotes": 4, + "comment_count": 0, + "resolved": false, + "labels": [ + "feat-prompt-management" + ], "author": { - "login": "bioshazard", - "html_url": "https://github.com/bioshazard" + "login": "marcklingen", + "html_url": "https://github.com/marcklingen" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4365, - "title": "Not able to see traces", - "href": "https://github.com/orgs/langfuse/discussions/4365", - "created_at": "2024-11-21T16:56:26Z", + "number": 3524, + "title": "Field-level selection for input/output filtering in decorator instead of using update_current_observation/trace", + "href": "https://github.com/orgs/langfuse/discussions/3524", + "created_at": "2024-09-29T08:28:45Z", "upvotes": 1, - "comment_count": 2, - "resolved": true, - "labels": [], + "comment_count": 4, + "resolved": false, + "labels": [ + "integration-python-decorator" + ], "author": { - "login": "uhhfeef", - "html_url": "https://github.com/uhhfeef" + "login": "amir-mic-lin", + "html_url": "https://github.com/amir-mic-lin" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4363, - "title": "Langchain with ChatVertexAI: Image/Audio Input Not Displayed in Dashboard with Multi-Modal Traces", - "href": "https://github.com/orgs/langfuse/discussions/4363", - "created_at": "2024-11-21T16:41:35Z", + "number": 3508, + "title": "feat: organization level dashboard", + "href": "https://github.com/orgs/langfuse/discussions/3508", + "created_at": "2024-09-27T13:48:13Z", "upvotes": 1, - "comment_count": 2, - "resolved": true, + "comment_count": 1, + "resolved": false, "labels": [], "author": { - "login": "pleomax0730", - "html_url": "https://github.com/pleomax0730" + "login": "nialldevlin1", + "html_url": "https://github.com/nialldevlin1" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4361, - "title": "Is downgrade available for self-hosted version?", - "href": "https://github.com/orgs/langfuse/discussions/4361", - "created_at": "2024-11-21T15:52:18Z", + "number": 3478, + "title": "TextGrad integration", + "href": "https://github.com/orgs/langfuse/discussions/3478", + "created_at": "2024-09-25T16:13:45Z", "upvotes": 1, "comment_count": 1, - "resolved": true, - "labels": [], + "resolved": false, + "labels": [ + "integrations" + ], "author": { - "login": "skabbit", - "html_url": "https://github.com/skabbit" + "login": "sakthi-geek", + "html_url": "https://github.com/sakthi-geek" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4359, - "title": "Unexpected error occurred", - "href": "https://github.com/orgs/langfuse/discussions/4359", - "created_at": "2024-11-21T14:21:11Z", - "upvotes": 1, - "comment_count": 1, - "resolved": true, + "number": 3476, + "title": "Chart: usage/metrics grouped by tags", + "href": "https://github.com/orgs/langfuse/discussions/3476", + "created_at": "2024-09-25T13:54:14Z", + "upvotes": 2, + "comment_count": 0, + "resolved": false, "labels": [ - "self-hosting" + "feat-dashboard", + "feat-tags" ], "author": { - "login": "jguokion", - "html_url": "https://github.com/jguokion" + "login": "marcklingen", + "html_url": "https://github.com/marcklingen" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4358, - "title": "Tracing of Async Tasks in Agentic Workflow", - "href": "https://github.com/orgs/langfuse/discussions/4358", - "created_at": "2024-11-21T10:46:31Z", - "upvotes": 1, - "comment_count": 2, + "number": 3472, + "title": "Dashboard: add chart for unique users (MAU/WAU/DAU)", + "href": "https://github.com/orgs/langfuse/discussions/3472", + "created_at": "2024-09-25T11:37:30Z", + "upvotes": 2, + "comment_count": 0, "resolved": false, - "labels": [], + "labels": [ + "feat-dashboard", + "feat-users" + ], "author": { - "login": "ashish-vwo", - "html_url": "https://github.com/ashish-vwo" + "login": "marcklingen", + "html_url": "https://github.com/marcklingen" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4352, - "title": "Send metrics to ELK", - "href": "https://github.com/orgs/langfuse/discussions/4352", - "created_at": "2024-11-21T05:57:10Z", - "upvotes": 1, - "comment_count": 1, + "number": 3447, + "title": "Playground: Move messages / add messages in-between others", + "href": "https://github.com/orgs/langfuse/discussions/3447", + "created_at": "2024-09-23T09:16:23Z", + "upvotes": 2, + "comment_count": 0, "resolved": false, - "labels": [], + "labels": [ + "feat-playground" + ], "author": { - "login": "Kratemis", - "html_url": "https://github.com/Kratemis" + "login": "jannikmaierhoefer", + "html_url": "https://github.com/jannikmaierhoefer" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4331, - "title": "UserIds missing on some traces", - "href": "https://github.com/orgs/langfuse/discussions/4331", - "created_at": "2024-11-20T08:27:01Z", + "number": 3443, + "title": "Why not extend observeOpenAI to support message-level user id?", + "href": "https://github.com/orgs/langfuse/discussions/3443", + "created_at": "2024-09-21T23:57:57Z", "upvotes": 1, - "comment_count": 3, + "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "takefy-dev", - "html_url": "https://github.com/takefy-dev" + "login": "derrickstaten", + "html_url": "https://github.com/derrickstaten" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4330, - "title": "Request for Simplified Custom `trace_id` Implementation in `CallbackHandler` for LangServe", - "href": "https://github.com/orgs/langfuse/discussions/4330", - "created_at": "2024-11-20T07:55:51Z", - "upvotes": 1, - "comment_count": 1, + "number": 3439, + "title": "Filtering dataset items", + "href": "https://github.com/orgs/langfuse/discussions/3439", + "created_at": "2024-09-21T01:51:33Z", + "upvotes": 3, + "comment_count": 0, "resolved": false, "labels": [ - "integration-langchain" + "feat-datasets" ], "author": { - "login": "wertycn", - "html_url": "https://github.com/wertycn" + "login": "emaugars12", + "html_url": "https://github.com/emaugars12" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4309, - "title": "Langchain//Langgraph prompt link", - "href": "https://github.com/orgs/langfuse/discussions/4309", - "created_at": "2024-11-19T11:18:16Z", - "upvotes": 1, - "comment_count": 3, - "resolved": true, + "number": 3438, + "title": "Support export for Dataset Items", + "href": "https://github.com/orgs/langfuse/discussions/3438", + "created_at": "2024-09-20T22:57:21Z", + "upvotes": 4, + "comment_count": 0, + "resolved": false, "labels": [ - "feat-prompt-management", - "integration-langchain" + "feat-datasets" ], "author": { - "login": "BuragaIonut", - "html_url": "https://github.com/BuragaIonut" + "login": "uladkaminski", + "html_url": "https://github.com/uladkaminski" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4293, - "title": "slower than expected langfuse_context.update_current_observation operation?", - "href": "https://github.com/orgs/langfuse/discussions/4293", - "created_at": "2024-11-18T17:00:12Z", - "upvotes": 1, - "comment_count": 2, - "resolved": true, + "number": 3436, + "title": "Prompt label promotion via api/sdk", + "href": "https://github.com/orgs/langfuse/discussions/3436", + "created_at": "2024-09-20T21:32:07Z", + "upvotes": 2, + "comment_count": 1, + "resolved": false, "labels": [], "author": { - "login": "nikcaryo-super", - "html_url": "https://github.com/nikcaryo-super" + "login": "mrdrprofuroboros", + "html_url": "https://github.com/mrdrprofuroboros" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4286, - "title": "Langfuse returning a internal server error message sometimes", - "href": "https://github.com/orgs/langfuse/discussions/4286", - "created_at": "2024-11-18T13:37:41Z", + "number": 3431, + "title": "3rd option for \"sharing\" traces publicly", + "href": "https://github.com/orgs/langfuse/discussions/3431", + "created_at": "2024-09-20T16:29:28Z", "upvotes": 1, - "comment_count": 2, + "comment_count": 0, "resolved": false, "labels": [], "author": { - "login": "nithin1995", - "html_url": "https://github.com/nithin1995" + "login": "jannikmaierhoefer", + "html_url": "https://github.com/jannikmaierhoefer" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4284, - "title": "Update prompt label programatically", - "href": "https://github.com/orgs/langfuse/discussions/4284", - "created_at": "2024-11-18T13:18:06Z", + "number": 3415, + "title": "Only use traces in the dataset to render score columns", + "href": "https://github.com/orgs/langfuse/discussions/3415", + "created_at": "2024-09-19T17:36:44Z", "upvotes": 1, "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [ - "feat-prompt-management" + "feat-datasets" ], "author": { - "login": "nikitagupta5566", - "html_url": "https://github.com/nikitagupta5566" + "login": "micahstairs", + "html_url": "https://github.com/micahstairs" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4281, - "title": "Preventing Input and Output Capture for GENERATION span in Langfuse", - "href": "https://github.com/orgs/langfuse/discussions/4281", - "created_at": "2024-11-18T11:23:08Z", - "upvotes": 1, - "comment_count": 2, - "resolved": true, - "labels": [], - "author": { - "login": "ootkin", - "html_url": "https://github.com/ootkin" - }, - "category": "Support" - }, - { - "number": 4262, - "title": "why setup trace is showing SETUP Tracing Pending always and Trace doesn't show in dashboard", - "href": "https://github.com/orgs/langfuse/discussions/4262", - "created_at": "2024-11-15T23:49:20Z", + "number": 3412, + "title": "Source code versioning and automatic statistics caluclation from scores", + "href": "https://github.com/orgs/langfuse/discussions/3412", + "created_at": "2024-09-19T10:44:02Z", "upvotes": 1, "comment_count": 1, - "resolved": true, - "labels": [], + "resolved": false, + "labels": [ + "feat-scores" + ], "author": { - "login": "msgateway", - "html_url": "https://github.com/msgateway" + "login": "ge28yen", + "html_url": "https://github.com/ge28yen" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4261, - "title": "Disable tracing for certain calls", - "href": "https://github.com/orgs/langfuse/discussions/4261", - "created_at": "2024-11-15T22:54:27Z", - "upvotes": 1, + "number": 3409, + "title": "Add graph view for LangGraph traces", + "href": "https://github.com/orgs/langfuse/discussions/3409", + "created_at": "2024-09-19T07:55:02Z", + "upvotes": 5, "comment_count": 1, - "resolved": true, - "labels": [], + "resolved": false, + "labels": [ + "integration-langchain" + ], "author": { - "login": "yliuaaron", - "html_url": "https://github.com/yliuaaron" + "login": "hassiebp", + "html_url": "https://github.com/hassiebp" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4259, - "title": "Custom trace properties in AsyncOpenAI", - "href": "https://github.com/orgs/langfuse/discussions/4259", - "created_at": "2024-11-15T19:50:10Z", - "upvotes": 1, - "comment_count": 2, + "number": 3402, + "title": "Mask / redact PII from traces logged to langfuse", + "href": "https://github.com/orgs/langfuse/discussions/3402", + "created_at": "2024-09-18T21:04:06Z", + "upvotes": 6, + "comment_count": 3, "resolved": false, - "labels": [], + "labels": [ + "✅ Done", + "security" + ], "author": { - "login": "yliuaaron", - "html_url": "https://github.com/yliuaaron" + "login": "marcklingen", + "html_url": "https://github.com/marcklingen" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4231, - "title": "Langfuse overwriting ingested usage for gpt-4o-mini models & incorrect inferred usage for low-detail image data", - "href": "https://github.com/orgs/langfuse/discussions/4231", - "created_at": "2024-11-14T12:29:51Z", + "number": 3401, + "title": "Make compile and get_langchain_prompt interoperable when using a prompt from langfuse in langchain", + "href": "https://github.com/orgs/langfuse/discussions/3401", + "created_at": "2024-09-18T21:03:20Z", "upvotes": 1, "comment_count": 2, "resolved": false, "labels": [ - "integration-openai", - "feat-cost-tracking" + "feat-prompt-management", + "integration-langchain", + "✅ Done" ], "author": { - "login": "LastRemote", - "html_url": "https://github.com/LastRemote" + "login": "ajram23", + "html_url": "https://github.com/ajram23" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4228, - "title": "Why my langgrpahjs agent can't show token", - "href": "https://github.com/orgs/langfuse/discussions/4228", - "created_at": "2024-11-14T08:46:36Z", - "upvotes": 1, + "number": 3396, + "title": "Better mustache/jinja support in langfuse playground", + "href": "https://github.com/orgs/langfuse/discussions/3396", + "created_at": "2024-09-18T11:54:28Z", + "upvotes": 3, "comment_count": 2, - "resolved": true, + "resolved": false, "labels": [ - "integration-langchain" + "feat-playground" ], "author": { - "login": "VittorioYan", - "html_url": "https://github.com/VittorioYan" + "login": "FlorDonnaSanders", + "html_url": "https://github.com/FlorDonnaSanders" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4223, - "title": "How/which environment var do I need to set to get OAuth2.0 authentication flow?", - "href": "https://github.com/orgs/langfuse/discussions/4223", - "created_at": "2024-11-13T19:57:27Z", - "upvotes": 1, - "comment_count": 3, + "number": 3395, + "title": "Add fine-grained filtering options in python `fetch_traces` API to match web UI", + "href": "https://github.com/orgs/langfuse/discussions/3395", + "created_at": "2024-09-18T11:18:20Z", + "upvotes": 2, + "comment_count": 0, "resolved": false, - "labels": [ - "self-hosting" - ], + "labels": [], "author": { - "login": "itay-moav", - "html_url": "https://github.com/itay-moav" + "login": "evangriffiths", + "html_url": "https://github.com/evangriffiths" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4213, - "title": "Is there a way to keep database connections open longer?", - "href": "https://github.com/orgs/langfuse/discussions/4213", - "created_at": "2024-11-13T13:53:25Z", + "number": 3376, + "title": "Allow LangchainCallbackHandler to specify custom input/output?", + "href": "https://github.com/orgs/langfuse/discussions/3376", + "created_at": "2024-09-16T23:45:18Z", "upvotes": 1, - "comment_count": 2, + "comment_count": 1, "resolved": false, "labels": [ - "self-hosting" + "integration-langchain" ], "author": { - "login": "tomi-bigpi", - "html_url": "https://github.com/tomi-bigpi" + "login": "xxkennyxu", + "html_url": "https://github.com/xxkennyxu" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4205, - "title": "Tokenizer config for Qwen 2.5 models", - "href": "https://github.com/orgs/langfuse/discussions/4205", - "created_at": "2024-11-13T08:05:03Z", - "upvotes": 1, - "comment_count": 2, + "number": 3375, + "title": "Promptfoo integration", + "href": "https://github.com/orgs/langfuse/discussions/3375", + "created_at": "2024-09-16T23:34:34Z", + "upvotes": 2, + "comment_count": 1, "resolved": false, - "labels": [], + "labels": [ + "integrations" + ], "author": { - "login": "mediumsizeworkingdog", - "html_url": "https://github.com/mediumsizeworkingdog" + "login": "aiseei", + "html_url": "https://github.com/aiseei" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4197, - "title": "[Generations]: Support n parameter", - "href": "https://github.com/orgs/langfuse/discussions/4197", - "created_at": "2024-11-12T18:58:32Z", - "upvotes": 1, + "number": 3367, + "title": "Default closed dropdown view in trace details", + "href": "https://github.com/orgs/langfuse/discussions/3367", + "created_at": "2024-09-16T12:47:26Z", + "upvotes": 2, "comment_count": 1, "resolved": false, "labels": [ - "integration-openai" + "ui" ], "author": { - "login": "ngamolsky", - "html_url": "https://github.com/ngamolsky" + "login": "jannikmaierhoefer", + "html_url": "https://github.com/jannikmaierhoefer" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4179, - "title": "Is there a way to get process to exit on DB connection errors when rotating database passwords?", - "href": "https://github.com/orgs/langfuse/discussions/4179", - "created_at": "2024-11-11T21:55:56Z", - "upvotes": 1, - "comment_count": 3, - "resolved": true, + "number": 3363, + "title": "Dashboard: TPM chart", + "href": "https://github.com/orgs/langfuse/discussions/3363", + "created_at": "2024-09-16T07:53:52Z", + "upvotes": 2, + "comment_count": 1, + "resolved": false, "labels": [ - "self-hosting" + "feat-dashboard" ], "author": { - "login": "tomi-bigpi", - "html_url": "https://github.com/tomi-bigpi" + "login": "afonsomatos", + "html_url": "https://github.com/afonsomatos" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4178, - "title": "How to update a score?", - "href": "https://github.com/orgs/langfuse/discussions/4178", - "created_at": "2024-11-11T21:48:51Z", + "number": 3361, + "title": "Group Similar or Consecutive Traces", + "href": "https://github.com/orgs/langfuse/discussions/3361", + "created_at": "2024-09-16T05:38:40Z", "upvotes": 1, "comment_count": 1, - "resolved": true, - "labels": [ - "feat-scores" - ], + "resolved": false, + "labels": [], "author": { - "login": "leichx", - "html_url": "https://github.com/leichx" + "login": "rvndbalaji", + "html_url": "https://github.com/rvndbalaji" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4172, - "title": "TypeError: LangfuseTracer.trace() got an unexpected keyword argument 'parent_span'", - "href": "https://github.com/orgs/langfuse/discussions/4172", - "created_at": "2024-11-11T13:31:14Z", + "number": 3358, + "title": "More customization in graphs and dashboard panels", + "href": "https://github.com/orgs/langfuse/discussions/3358", + "created_at": "2024-09-14T03:12:38Z", "upvotes": 1, - "comment_count": 2, - "resolved": true, + "comment_count": 1, + "resolved": false, "labels": [ - "integration-haystack" + "feat-dashboard" ], "author": { - "login": "schwasa", - "html_url": "https://github.com/schwasa" + "login": "emaugars12", + "html_url": "https://github.com/emaugars12" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4169, - "title": "Tenant based prompt management ?", - "href": "https://github.com/orgs/langfuse/discussions/4169", - "created_at": "2024-11-11T11:22:21Z", - "upvotes": 1, - "comment_count": 2, - "resolved": true, - "labels": [ - "feat-prompt-management" - ], + "number": 3352, + "title": "LLM Based Evaluation - more control with mapping a variable e.g. {{query}}, {{ground_truth}} etc inside of Input/Output/Metadata observation", + "href": "https://github.com/orgs/langfuse/discussions/3352", + "created_at": "2024-09-13T16:58:05Z", + "upvotes": 2, + "comment_count": 1, + "resolved": false, + "labels": [], "author": { - "login": "PreetamGKatakali", - "html_url": "https://github.com/PreetamGKatakali" + "login": "stepanogil", + "html_url": "https://github.com/stepanogil" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4134, - "title": "LangGraph traces cause self-hosted instance to hang", - "href": "https://github.com/orgs/langfuse/discussions/4134", - "created_at": "2024-11-08T22:54:34Z", + "number": 3351, + "title": "Support for Firebase Genkit", + "href": "https://github.com/orgs/langfuse/discussions/3351", + "created_at": "2024-09-13T16:29:07Z", "upvotes": 1, - "comment_count": 2, + "comment_count": 1, "resolved": false, "labels": [ - "integration-langchain" + "integrations" ], "author": { - "login": "rishimo", - "html_url": "https://github.com/rishimo" + "login": "debkanchan", + "html_url": "https://github.com/debkanchan" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4123, - "title": "Block strangers from signing in to your app", - "href": "https://github.com/orgs/langfuse/discussions/4123", - "created_at": "2024-11-08T10:14:08Z", - "upvotes": 1, - "comment_count": 2, - "resolved": true, - "labels": [], + "number": 3338, + "title": "o1-preview and o1-mini support", + "href": "https://github.com/orgs/langfuse/discussions/3338", + "created_at": "2024-09-13T07:16:22Z", + "upvotes": 2, + "comment_count": 3, + "resolved": false, + "labels": [ + "✅ Done" + ], "author": { - "login": "shner-elmo", - "html_url": "https://github.com/shner-elmo" + "login": "juan-abia", + "html_url": "https://github.com/juan-abia" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4119, - "title": "Can we use Langfuse without any Authentication enabled?", - "href": "https://github.com/orgs/langfuse/discussions/4119", - "created_at": "2024-11-08T08:32:30Z", + "number": 3336, + "title": "Add Notification for / in Comments Objects", + "href": "https://github.com/orgs/langfuse/discussions/3336", + "created_at": "2024-09-13T00:04:16Z", "upvotes": 1, "comment_count": 1, - "resolved": true, - "labels": [], + "resolved": false, + "labels": [ + "feat-comments" + ], "author": { - "login": "SudhaGarimella", - "html_url": "https://github.com/SudhaGarimella" + "login": "Zugunruhekami", + "html_url": "https://github.com/Zugunruhekami" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4118, - "title": "Can I evaluate Span using the External Evaluation Pipeline?", - "href": "https://github.com/orgs/langfuse/discussions/4118", - "created_at": "2024-11-08T08:04:55Z", + "number": 3335, + "title": "Extend Searchability (through filter) for Comments Objects", + "href": "https://github.com/orgs/langfuse/discussions/3335", + "created_at": "2024-09-12T23:58:17Z", "upvotes": 1, - "comment_count": 1, - "resolved": true, + "comment_count": 0, + "resolved": false, "labels": [ - "feat-evals" + "feat-comments" ], "author": { - "login": "ygt1qa8", - "html_url": "https://github.com/ygt1qa8" + "login": "Zugunruhekami", + "html_url": "https://github.com/Zugunruhekami" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4117, - "title": "ERROR - An error occurred: 'function' object is not subscriptable", - "href": "https://github.com/orgs/langfuse/discussions/4117", - "created_at": "2024-11-08T04:51:09Z", - "upvotes": 1, - "comment_count": 1, + "number": 3291, + "title": "Filter by error in sub span", + "href": "https://github.com/orgs/langfuse/discussions/3291", + "created_at": "2024-09-10T13:20:11Z", + "upvotes": 2, + "comment_count": 3, "resolved": false, - "labels": [], + "labels": [ + "✅ Done", + "feat-log-levels" + ], "author": { - "login": "MazarSayed", - "html_url": "https://github.com/MazarSayed" + "login": "bettlebrox", + "html_url": "https://github.com/bettlebrox" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4116, - "title": "How can I implement a knowledge base and multi-turn file dialogue with pip deployment?! How does this “history” work?", - "href": "https://github.com/orgs/langfuse/discussions/4116", - "created_at": "2024-11-08T03:05:40Z", + "number": 3289, + "title": "Deleting old, unused tags or making them unseen if weren't used in the chosen time window.", + "href": "https://github.com/orgs/langfuse/discussions/3289", + "created_at": "2024-09-10T12:56:43Z", "upvotes": 1, - "comment_count": 2, - "resolved": true, - "labels": [], + "comment_count": 1, + "resolved": false, + "labels": [ + "feat-tags" + ], "author": { - "login": "SKKKKYLAR", - "html_url": "https://github.com/SKKKKYLAR" + "login": "constalozinschi", + "html_url": "https://github.com/constalozinschi" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4115, - "title": "Configure LangFuse Project within CallbackHandler", - "href": "https://github.com/orgs/langfuse/discussions/4115", - "created_at": "2024-11-07T23:19:13Z", - "upvotes": 1, + "number": 3285, + "title": "SDK-JS: Allow to delete one or more trace", + "href": "https://github.com/orgs/langfuse/discussions/3285", + "created_at": "2024-09-10T09:26:04Z", + "upvotes": 5, "comment_count": 2, - "resolved": true, + "resolved": false, "labels": [ - "integration-langchain" + "sdk-js" ], "author": { - "login": "krlng", - "html_url": "https://github.com/krlng" + "login": "Lunik", + "html_url": "https://github.com/Lunik" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4091, - "title": "Openwebui and langfuse", - "href": "https://github.com/orgs/langfuse/discussions/4091", - "created_at": "2024-11-06T22:21:43Z", - "upvotes": 1, - "comment_count": 1, - "resolved": true, - "labels": [], + "number": 3276, + "title": "Retrieve the trace by metdata", + "href": "https://github.com/orgs/langfuse/discussions/3276", + "created_at": "2024-09-09T20:51:08Z", + "upvotes": 3, + "comment_count": 0, + "resolved": false, + "labels": [ + "feat-metadata" + ], "author": { - "login": "flefevre", - "html_url": "https://github.com/flefevre" + "login": "gingerjx", + "html_url": "https://github.com/gingerjx" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4090, - "title": "Configuring logging", - "href": "https://github.com/orgs/langfuse/discussions/4090", - "created_at": "2024-11-06T21:39:03Z", - "upvotes": 1, - "comment_count": 5, - "resolved": true, - "labels": [], + "number": 3275, + "title": "Include metrics and scores in getDatasetRun / `GET /api/public/datasets/{datasetName}/runs/{runName}`", + "href": "https://github.com/orgs/langfuse/discussions/3275", + "created_at": "2024-09-09T20:48:16Z", + "upvotes": 3, + "comment_count": 0, + "resolved": false, + "labels": [ + "feat-datasets" + ], "author": { - "login": "pcoccoli", - "html_url": "https://github.com/pcoccoli" + "login": "gingerjx", + "html_url": "https://github.com/gingerjx" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4080, - "title": "Langfuse User Management with Custom Oauth", - "href": "https://github.com/orgs/langfuse/discussions/4080", - "created_at": "2024-11-06T14:21:39Z", + "number": 3273, + "title": "Custom Themes", + "href": "https://github.com/orgs/langfuse/discussions/3273", + "created_at": "2024-09-09T15:08:25Z", "upvotes": 1, - "comment_count": 3, + "comment_count": 1, "resolved": false, - "labels": [ - "feat-auth", - "self-hosting" - ], + "labels": [], "author": { - "login": "bziolkowski", - "html_url": "https://github.com/bziolkowski" + "login": "rvndbalaji", + "html_url": "https://github.com/rvndbalaji" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4079, - "title": "How to prevent strangers from creating an account on your app", - "href": "https://github.com/orgs/langfuse/discussions/4079", - "created_at": "2024-11-06T14:17:46Z", + "number": 3263, + "title": "Comment API", + "href": "https://github.com/orgs/langfuse/discussions/3263", + "created_at": "2024-09-07T05:53:31Z", "upvotes": 1, "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [ - "self-hosting" + "feat-api", + "feat-datasets" ], "author": { - "login": "shner-elmo", - "html_url": "https://github.com/shner-elmo" + "login": "darvin", + "html_url": "https://github.com/darvin" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4075, - "title": "Does it make sense to use multiple api-keys", - "href": "https://github.com/orgs/langfuse/discussions/4075", - "created_at": "2024-11-06T11:22:45Z", - "upvotes": 1, - "comment_count": 2, - "resolved": true, - "labels": [], + "number": 3256, + "title": "Integration with LangChain4j", + "href": "https://github.com/orgs/langfuse/discussions/3256", + "created_at": "2024-09-06T15:50:51Z", + "upvotes": 2, + "comment_count": 2, + "resolved": false, + "labels": [ + "integrations", + "feat-prompt-management", + "integration-langchain" + ], "author": { - "login": "shner-elmo", - "html_url": "https://github.com/shner-elmo" + "login": "ruizrube", + "html_url": "https://github.com/ruizrube" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4071, - "title": "Authentication not working?", - "href": "https://github.com/orgs/langfuse/discussions/4071", - "created_at": "2024-11-06T01:00:12Z", + "number": 3252, + "title": "Need to retain the old evaluation history results, including input and all ground truth", + "href": "https://github.com/orgs/langfuse/discussions/3252", + "created_at": "2024-09-06T03:29:17Z", "upvotes": 1, - "comment_count": 2, - "resolved": true, - "labels": [], + "comment_count": 1, + "resolved": false, + "labels": [ + "feat-datasets" + ], "author": { - "login": "shner-elmo", - "html_url": "https://github.com/shner-elmo" + "login": "serlina", + "html_url": "https://github.com/serlina" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4056, - "title": "Langfuse deployment issue on k8", - "href": "https://github.com/orgs/langfuse/discussions/4056", - "created_at": "2024-11-05T11:54:57Z", - "upvotes": 1, - "comment_count": 4, + "number": 3243, + "title": "Add organization / project / user / API key management API", + "href": "https://github.com/orgs/langfuse/discussions/3243", + "created_at": "2024-09-05T08:10:12Z", + "upvotes": 9, + "comment_count": 5, "resolved": false, "labels": [ "self-hosting" ], "author": { - "login": "hrone-dev-satyammishra", - "html_url": "https://github.com/hrone-dev-satyammishra" + "login": "EricAntidot", + "html_url": "https://github.com/EricAntidot" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4046, - "title": "Should the Langfuse classs initialization be cached (does it do any I/O on init?) ?", - "href": "https://github.com/orgs/langfuse/discussions/4046", - "created_at": "2024-11-04T16:44:27Z", - "upvotes": 1, + "number": 3240, + "title": "Ability to export all traces/sessions/scores from langfuse and import back to another langfuse instance", + "href": "https://github.com/orgs/langfuse/discussions/3240", + "created_at": "2024-09-05T07:11:48Z", + "upvotes": 5, "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [ - "integration-langchain" + "self-hosting" ], "author": { - "login": "shner-elmo", - "html_url": "https://github.com/shner-elmo" + "login": "SinghCoder", + "html_url": "https://github.com/SinghCoder" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4043, - "title": "\"Custom\" traces not creating when Next.js Vercel instrumentation is on.", - "href": "https://github.com/orgs/langfuse/discussions/4043", - "created_at": "2024-11-04T14:07:46Z", - "upvotes": 1, + "number": 3237, + "title": "Support for Selecting Specific Paths from JSON Objects in Evaluation Prompts", + "href": "https://github.com/orgs/langfuse/discussions/3237", + "created_at": "2024-09-05T05:05:48Z", + "upvotes": 2, "comment_count": 2, - "resolved": true, - "labels": [], + "resolved": false, + "labels": [ + "feat-evals" + ], "author": { - "login": "rovnyart", - "html_url": "https://github.com/rovnyart" + "login": "divyanshubhuta", + "html_url": "https://github.com/divyanshubhuta" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4041, - "title": "When running in relatively high amount of concurrent requests we start getting: \"API error occurred: Service unavailable.\" from Langfuse server", - "href": "https://github.com/orgs/langfuse/discussions/4041", - "created_at": "2024-11-04T13:55:19Z", - "upvotes": 1, - "comment_count": 2, - "resolved": true, - "labels": [], + "number": 3220, + "title": "Trace Logprobs from OpenAI models", + "href": "https://github.com/orgs/langfuse/discussions/3220", + "created_at": "2024-09-04T01:25:15Z", + "upvotes": 2, + "comment_count": 0, + "resolved": false, + "labels": [ + "integration-openai" + ], "author": { - "login": "sternr", - "html_url": "https://github.com/sternr" + "login": "yusuke-intern", + "html_url": "https://github.com/yusuke-intern" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4038, - "title": "SSL: CERTIFICATE_VERIFY_FAILED error when access the self hosted langfuse from the code", - "href": "https://github.com/orgs/langfuse/discussions/4038", - "created_at": "2024-11-04T13:14:05Z", - "upvotes": 1, + "number": 3215, + "title": "(ui) Ability to hide \"scores\" column", + "href": "https://github.com/orgs/langfuse/discussions/3215", + "created_at": "2024-09-03T15:34:14Z", + "upvotes": 2, "comment_count": 2, - "resolved": true, + "resolved": false, "labels": [], "author": { - "login": "SugumarRavichandran", - "html_url": "https://github.com/SugumarRavichandran" + "login": "marctorsoc", + "html_url": "https://github.com/marctorsoc" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4026, - "title": "Blob is not defined for Node 16", - "href": "https://github.com/orgs/langfuse/discussions/4026", - "created_at": "2024-11-04T04:58:15Z", + "number": 3212, + "title": "Dataset run description and metadata should not be fixed on the page", + "href": "https://github.com/orgs/langfuse/discussions/3212", + "created_at": "2024-09-03T12:30:34Z", "upvotes": 1, - "comment_count": 2, + "comment_count": 1, "resolved": false, - "labels": [], + "labels": [ + "feat-datasets" + ], "author": { - "login": "jamesyu", - "html_url": "https://github.com/jamesyu" + "login": "justinas-kazanavicius", + "html_url": "https://github.com/justinas-kazanavicius" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4001, - "title": "Cloudron packaging issue with Prisma client", - "href": "https://github.com/orgs/langfuse/discussions/4001", - "created_at": "2024-11-01T14:21:59Z", - "upvotes": 1, + "number": 3208, + "title": "Support for exporting traces to CSV/JSON", + "href": "https://github.com/orgs/langfuse/discussions/3208", + "created_at": "2024-09-03T08:00:36Z", + "upvotes": 4, "comment_count": 2, - "resolved": true, - "labels": [], + "resolved": false, + "labels": [ + "✅ Done" + ], "author": { - "login": "Lanhild", - "html_url": "https://github.com/Lanhild" + "login": "david1542", + "html_url": "https://github.com/david1542" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3996, - "title": "Can you use the app without OAuth?", - "href": "https://github.com/orgs/langfuse/discussions/3996", - "created_at": "2024-11-01T03:36:33Z", + "number": 3194, + "title": "Optionally set timestamp when creating a score", + "href": "https://github.com/orgs/langfuse/discussions/3194", + "created_at": "2024-09-02T15:20:20Z", "upvotes": 1, "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [ - "feat-auth", - "self-hosting" + "feat-api", + "feat-scores" ], "author": { - "login": "shner-elmo", - "html_url": "https://github.com/shner-elmo" + "login": "FlorDonnaSanders", + "html_url": "https://github.com/FlorDonnaSanders" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3985, - "title": "Pending Badge Stuck on Setup Tracing Step", - "href": "https://github.com/orgs/langfuse/discussions/3985", - "created_at": "2024-10-31T15:51:08Z", + "number": 3186, + "title": "Setting trace ID and parent observation ID with Python decorator SDK", + "href": "https://github.com/orgs/langfuse/discussions/3186", + "created_at": "2024-09-02T09:27:36Z", "upvotes": 1, - "comment_count": 2, - "resolved": true, + "comment_count": 3, + "resolved": false, + "labels": [ + "✅ Done", + "integration-python-decorator" + ], + "author": { + "login": "MrOrz", + "html_url": "https://github.com/MrOrz" + }, + "category": "Ideas" + }, + { + "number": 3181, + "title": "Log only metadata", + "href": "https://github.com/orgs/langfuse/discussions/3181", + "created_at": "2024-08-31T18:31:11Z", + "upvotes": 2, + "comment_count": 0, + "resolved": false, "labels": [], "author": { - "login": "c0pper", - "html_url": "https://github.com/c0pper" + "login": "jan-kubica", + "html_url": "https://github.com/jan-kubica" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3977, - "title": "getPromptStateless received 403 error when using `LangfuseWeb` SDK", - "href": "https://github.com/orgs/langfuse/discussions/3977", - "created_at": "2024-10-31T01:45:19Z", + "number": 3178, + "title": "The display time on the x-axis of the chart in the Dashboard shows only the date, without hours, minutes, and seconds.", + "href": "https://github.com/orgs/langfuse/discussions/3178", + "created_at": "2024-08-31T04:09:07Z", "upvotes": 1, "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [ - "feat-prompt-management" + "bug", + "✅ Done", + "feat-dashboard" ], "author": { - "login": "huangbaitu123", - "html_url": "https://github.com/huangbaitu123" + "login": "HGladiator", + "html_url": "https://github.com/HGladiator" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3976, - "title": "Missing scores after pushing scores to Langfuse", - "href": "https://github.com/orgs/langfuse/discussions/3976", - "created_at": "2024-10-31T00:02:59Z", - "upvotes": 1, - "comment_count": 3, - "resolved": true, - "labels": [], + "number": 3166, + "title": "Support Tool Calls / Functions in Playground", + "href": "https://github.com/orgs/langfuse/discussions/3166", + "created_at": "2024-08-30T20:04:34Z", + "upvotes": 14, + "comment_count": 10, + "resolved": false, + "labels": [ + "feat-playground" + ], "author": { - "login": "laisalvescw", - "html_url": "https://github.com/laisalvescw" + "login": "yuyuma", + "html_url": "https://github.com/yuyuma" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3972, - "title": "For which kinds of data is `ENCRYPTION_KEY` used?", - "href": "https://github.com/orgs/langfuse/discussions/3972", - "created_at": "2024-10-30T18:21:25Z", - "upvotes": 1, - "comment_count": 1, - "resolved": true, - "labels": [ - "self-hosting" - ], + "number": 3147, + "title": "Add the ability to search by message words in traces and scores", + "href": "https://github.com/orgs/langfuse/discussions/3147", + "created_at": "2024-08-30T08:02:32Z", + "upvotes": 4, + "comment_count": 0, + "resolved": false, + "labels": [], "author": { - "login": "felix-sanchez-unmind", - "html_url": "https://github.com/felix-sanchez-unmind" + "login": "ValentinKovalev", + "html_url": "https://github.com/ValentinKovalev" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3965, - "title": "How to set environment variables for custom oauth2.0 sso?", - "href": "https://github.com/orgs/langfuse/discussions/3965", - "created_at": "2024-10-30T06:27:15Z", - "upvotes": 1, + "number": 3131, + "title": "Diff of prompt versions", + "href": "https://github.com/orgs/langfuse/discussions/3131", + "created_at": "2024-08-29T11:43:24Z", + "upvotes": 6, "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [ - "feat-auth", - "self-hosting" + "feat-prompt-management" ], "author": { - "login": "IeohMingChan", - "html_url": "https://github.com/IeohMingChan" + "login": "dylanjcastillo", + "html_url": "https://github.com/dylanjcastillo" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3957, - "title": "Langfuse.create_prompt() got an unexpected keyword argument 'version'", - "href": "https://github.com/orgs/langfuse/discussions/3957", - "created_at": "2024-10-29T13:21:51Z", - "upvotes": 1, - "comment_count": 1, - "resolved": true, + "number": 3129, + "title": "The LangchainCallbackHandler supports statistical delay of the first token", + "href": "https://github.com/orgs/langfuse/discussions/3129", + "created_at": "2024-08-29T09:26:11Z", + "upvotes": 3, + "comment_count": 2, + "resolved": false, "labels": [ - "feat-prompt-management" + "integration-langchain", + "✅ Done" ], "author": { - "login": "silenceliang", - "html_url": "https://github.com/silenceliang" + "login": "Hacky-DH", + "html_url": "https://github.com/Hacky-DH" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3949, - "title": "Is there a way to clear trace data in batch?", - "href": "https://github.com/orgs/langfuse/discussions/3949", - "created_at": "2024-10-29T06:10:26Z", + "number": 3112, + "title": "Request Role elevation from Langfuse UI", + "href": "https://github.com/orgs/langfuse/discussions/3112", + "created_at": "2024-08-28T13:15:21Z", "upvotes": 1, - "comment_count": 2, - "resolved": true, + "comment_count": 0, + "resolved": false, "labels": [ - "self-hosting" + "feat-rbac" ], "author": { - "login": "renwei-work", - "html_url": "https://github.com/renwei-work" + "login": "thund3rbrd", + "html_url": "https://github.com/thund3rbrd" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3943, - "title": "Improvements of Langfuse-Haystack integration", - "href": "https://github.com/orgs/langfuse/discussions/3943", - "created_at": "2024-10-28T14:49:51Z", + "number": 3111, + "title": "Improve RBAC", + "href": "https://github.com/orgs/langfuse/discussions/3111", + "created_at": "2024-08-28T13:08:57Z", "upvotes": 1, - "comment_count": 2, - "resolved": true, + "comment_count": 0, + "resolved": false, "labels": [ - "integration-haystack" + "feat-rbac" ], "author": { - "login": "alex-stoica", - "html_url": "https://github.com/alex-stoica" + "login": "thund3rbrd", + "html_url": "https://github.com/thund3rbrd" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3924, - "title": "Postgres version mismatch when upgrading langfuse locally", - "href": "https://github.com/orgs/langfuse/discussions/3924", - "created_at": "2024-10-25T18:30:14Z", + "number": 3074, + "title": "Add \"image_url\" to Langfuse Prompt types.", + "href": "https://github.com/orgs/langfuse/discussions/3074", + "created_at": "2024-08-26T11:54:32Z", "upvotes": 2, "comment_count": 1, - "resolved": true, - "labels": [], + "resolved": false, + "labels": [ + "feat-prompt-management" + ], "author": { - "login": "nikcaryo-super", - "html_url": "https://github.com/nikcaryo-super" + "login": "grobruegge", + "html_url": "https://github.com/grobruegge" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3920, - "title": "Rate limit exceed using Langfuse Python SDK", - "href": "https://github.com/orgs/langfuse/discussions/3920", - "created_at": "2024-10-25T14:45:56Z", + "number": 3062, + "title": "Support for OpenAI.client.chat.completions.with_raw_response", + "href": "https://github.com/orgs/langfuse/discussions/3062", + "created_at": "2024-08-24T12:55:39Z", "upvotes": 1, "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [ - "feat-api" + "integration-openai" ], "author": { - "login": "laisalvescw", - "html_url": "https://github.com/laisalvescw" + "login": "aman-gupta-doc", + "html_url": "https://github.com/aman-gupta-doc" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3910, - "title": "If I use Anthropic Claude component in Langflow, the trace data in Langfuse is all null", - "href": "https://github.com/orgs/langfuse/discussions/3910", - "created_at": "2024-10-25T06:50:02Z", + "number": 3053, + "title": "Being able to link Prompts with Traces when using the LangChain integration", + "href": "https://github.com/orgs/langfuse/discussions/3053", + "created_at": "2024-08-23T13:14:21Z", "upvotes": 2, "comment_count": 2, - "resolved": true, - "labels": [], + "resolved": false, + "labels": [ + "✅ Done" + ], "author": { - "login": "b8heng", - "html_url": "https://github.com/b8heng" + "login": "jonnyforsterMSG", + "html_url": "https://github.com/jonnyforsterMSG" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3905, - "title": "Allow injection of generation context into evaluation prompt", - "href": "https://github.com/orgs/langfuse/discussions/3905", - "created_at": "2024-10-24T20:39:46Z", - "upvotes": 1, - "comment_count": 1, - "resolved": true, + "number": 3050, + "title": "Implement dataset removal method", + "href": "https://github.com/orgs/langfuse/discussions/3050", + "created_at": "2024-08-23T11:40:13Z", + "upvotes": 4, + "comment_count": 0, + "resolved": false, "labels": [ - "feat-evals" + "feat-datasets" ], "author": { - "login": "dveyarangi", - "html_url": "https://github.com/dveyarangi" + "login": "justinas-kazanavicius", + "html_url": "https://github.com/justinas-kazanavicius" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3902, - "title": "How to fetch the output and input tokens of a trace via API?", - "href": "https://github.com/orgs/langfuse/discussions/3902", - "created_at": "2024-10-24T16:16:56Z", - "upvotes": 0, - "comment_count": 1, - "resolved": true, + "number": 3023, + "title": "Track openai token usage from stream_options instead of tokenizing the response server-side", + "href": "https://github.com/orgs/langfuse/discussions/3023", + "created_at": "2024-08-22T17:08:08Z", + "upvotes": 3, + "comment_count": 3, + "resolved": false, "labels": [ - "feat-api", + "integration-openai", + "✅ Done", "feat-cost-tracking" ], "author": { - "login": "fdb02983rhy", - "html_url": "https://github.com/fdb02983rhy" + "login": "kilimchoi", + "html_url": "https://github.com/kilimchoi" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3900, - "title": "Sometimes traces lack metadata completely", - "href": "https://github.com/orgs/langfuse/discussions/3900", - "created_at": "2024-10-24T15:06:32Z", + "number": 3021, + "title": "Pre-defined user access", + "href": "https://github.com/orgs/langfuse/discussions/3021", + "created_at": "2024-08-22T16:08:19Z", "upvotes": 1, - "comment_count": 4, - "resolved": true, - "labels": [], + "comment_count": 0, + "resolved": false, + "labels": [ + "self-hosting" + ], "author": { - "login": "RichardSieg", - "html_url": "https://github.com/RichardSieg" + "login": "LucasMagnum", + "html_url": "https://github.com/LucasMagnum" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3890, - "title": "how to add invoked langchain tool names as tags or as metadata", - "href": "https://github.com/orgs/langfuse/discussions/3890", - "created_at": "2024-10-24T00:39:02Z", + "number": 3014, + "title": "Supports filter string using regular expression matching", + "href": "https://github.com/orgs/langfuse/discussions/3014", + "created_at": "2024-08-22T14:39:34Z", "upvotes": 1, "comment_count": 1, "resolved": false, - "labels": [ - "integration-langchain" - ], + "labels": [], "author": { - "login": "Wrashionis", - "html_url": "https://github.com/Wrashionis" + "login": "chai3", + "html_url": "https://github.com/chai3" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3886, - "title": "Azure AD auth: OAUTH_PARSE_PROFILE_ERROR", - "href": "https://github.com/orgs/langfuse/discussions/3886", - "created_at": "2024-10-23T19:40:57Z", - "upvotes": 1, - "comment_count": 2, + "number": 3004, + "title": "Support for more modalities and base64 content", + "href": "https://github.com/orgs/langfuse/discussions/3004", + "created_at": "2024-08-22T09:50:47Z", + "upvotes": 45, + "comment_count": 17, "resolved": false, - "labels": [], + "labels": [ + "✅ Done", + "feat-multimodal" + ], "author": { - "login": "kryvokhyzha", - "html_url": "https://github.com/kryvokhyzha" + "login": "marliessophie", + "html_url": "https://github.com/marliessophie" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3884, - "title": "I cant quite tell if i'm doing the parent span correctly. The trace is appearing but not associated to the Session", - "href": "https://github.com/orgs/langfuse/discussions/3884", - "created_at": "2024-10-23T16:12:44Z", - "upvotes": 1, - "comment_count": 2, + "number": 2997, + "title": "Filter Span events in dashboard", + "href": "https://github.com/orgs/langfuse/discussions/2997", + "created_at": "2024-08-21T16:25:02Z", + "upvotes": 2, + "comment_count": 0, "resolved": false, "labels": [], "author": { - "login": "PandelisZ", - "html_url": "https://github.com/PandelisZ" + "login": "tagaretiro", + "html_url": "https://github.com/tagaretiro" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3879, - "title": "No token information in observation of LLM run", - "href": "https://github.com/orgs/langfuse/discussions/3879", - "created_at": "2024-10-23T13:07:43Z", - "upvotes": 1, - "comment_count": 2, + "number": 2987, + "title": "Claude/openai/google prompt caching", + "href": "https://github.com/orgs/langfuse/discussions/2987", + "created_at": "2024-08-21T04:18:55Z", + "upvotes": 5, + "comment_count": 4, "resolved": false, "labels": [ "feat-cost-tracking" ], "author": { - "login": "noInterestIfPaidInFull", - "html_url": "https://github.com/noInterestIfPaidInFull" + "login": "mrdrprofuroboros", + "html_url": "https://github.com/mrdrprofuroboros" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3877, - "title": "Self host Langfuse not working - column `t6.cloud_config` does not exist", - "href": "https://github.com/orgs/langfuse/discussions/3877", - "created_at": "2024-10-23T11:54:13Z", + "number": 2978, + "title": "Unexpected event format when using `ibm-watsonx-ai` with LangChain extension", + "href": "https://github.com/orgs/langfuse/discussions/2978", + "created_at": "2024-08-20T11:20:28Z", "upvotes": 1, - "comment_count": 4, + "comment_count": 0, "resolved": false, "labels": [ - "self-hosting" + "integration-langchain" ], "author": { - "login": "SugumarRavichandran", - "html_url": "https://github.com/SugumarRavichandran" + "login": "barvhaim", + "html_url": "https://github.com/barvhaim" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3868, - "title": "Langfuse Tracing not showing up on UI", - "href": "https://github.com/orgs/langfuse/discussions/3868", - "created_at": "2024-10-22T21:26:13Z", + "number": 2975, + "title": "fetch all users via sdk/api", + "href": "https://github.com/orgs/langfuse/discussions/2975", + "created_at": "2024-08-20T06:52:47Z", "upvotes": 1, - "comment_count": 2, - "resolved": true, - "labels": [], + "comment_count": 3, + "resolved": false, + "labels": [ + "feat-users" + ], "author": { - "login": "nthanapaisal", - "html_url": "https://github.com/nthanapaisal" + "login": "vincent-larisma", + "html_url": "https://github.com/vincent-larisma" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3863, - "title": "Request Timeout for Dashboard", - "href": "https://github.com/orgs/langfuse/discussions/3863", - "created_at": "2024-10-22T14:18:43Z", + "number": 2967, + "title": "Tag based usage", + "href": "https://github.com/orgs/langfuse/discussions/2967", + "created_at": "2024-08-19T07:13:26Z", "upvotes": 1, - "comment_count": 2, - "resolved": true, + "comment_count": 1, + "resolved": false, "labels": [ - "self-hosting" + "feat-dashboard", + "feat-tags" ], "author": { - "login": "mritonia", - "html_url": "https://github.com/mritonia" + "login": "aakash-vwo", + "html_url": "https://github.com/aakash-vwo" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3858, - "title": "Monitoring self-hosted langfuse.", - "href": "https://github.com/orgs/langfuse/discussions/3858", - "created_at": "2024-10-22T07:04:26Z", - "upvotes": 1, - "comment_count": 2, - "resolved": true, + "number": 2949, + "title": "Auto-patching Langchain to include Langfuse callback handler", + "href": "https://github.com/orgs/langfuse/discussions/2949", + "created_at": "2024-08-15T12:17:32Z", + "upvotes": 3, + "comment_count": 1, + "resolved": false, "labels": [ - "self-hosting" + "integration-langchain" ], "author": { - "login": "SinghCoder", - "html_url": "https://github.com/SinghCoder" + "login": "kongzii", + "html_url": "https://github.com/kongzii" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3854, - "title": "Open AI Python SDK - 'OpenAI' object has no attribute 'langfuse_auth_check'", - "href": "https://github.com/orgs/langfuse/discussions/3854", - "created_at": "2024-10-21T21:41:17Z", - "upvotes": 1, - "comment_count": 4, - "resolved": true, + "number": 2923, + "title": "Feature: Add CAS (and maybe SAML) as a authentication method", + "href": "https://github.com/orgs/langfuse/discussions/2923", + "created_at": "2024-08-13T17:18:42Z", + "upvotes": 2, + "comment_count": 1, + "resolved": false, "labels": [ - "integration-openai" + "self-hosting" ], "author": { - "login": "hjensen", - "html_url": "https://github.com/hjensen" + "login": "jayteaftw", + "html_url": "https://github.com/jayteaftw" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3845, - "title": "Traces: Link a trace to multiple sessions", - "href": "https://github.com/orgs/langfuse/discussions/3845", - "created_at": "2024-10-21T11:31:54Z", + "number": 2919, + "title": "Adding access to User's sessions directly", + "href": "https://github.com/orgs/langfuse/discussions/2919", + "created_at": "2024-08-13T12:42:16Z", "upvotes": 1, - "comment_count": 2, - "resolved": true, + "comment_count": 0, + "resolved": false, "labels": [ + "feat-users", "feat-sessions" ], "author": { - "login": "nikitagupta5566", - "html_url": "https://github.com/nikitagupta5566" + "login": "Youneesz", + "html_url": "https://github.com/Youneesz" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3838, - "title": "How do I user wise \"Total Token\" counts via API or via python, As I want to track which user is consuming how much tokens", - "href": "https://github.com/orgs/langfuse/discussions/3838", - "created_at": "2024-10-21T06:51:06Z", - "upvotes": 2, - "comment_count": 3, - "resolved": true, + "number": 2883, + "title": "Compare two dataset runs side by side", + "href": "https://github.com/orgs/langfuse/discussions/2883", + "created_at": "2024-08-09T10:40:05Z", + "upvotes": 5, + "comment_count": 1, + "resolved": false, "labels": [ - "feat-cost-tracking" + "feat-datasets" ], "author": { - "login": "hrone-dev-satyammishra", - "html_url": "https://github.com/hrone-dev-satyammishra" + "login": "dmaslov", + "html_url": "https://github.com/dmaslov" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3835, - "title": "To use Gemini on playground", - "href": "https://github.com/orgs/langfuse/discussions/3835", - "created_at": "2024-10-20T12:20:22Z", + "number": 2881, + "title": "feat (ui): Collapse sidebar by default", + "href": "https://github.com/orgs/langfuse/discussions/2881", + "created_at": "2024-08-09T10:03:39Z", "upvotes": 1, - "comment_count": 3, + "comment_count": 5, "resolved": false, - "labels": [], + "labels": [ + "ui" + ], "author": { - "login": "yu-tarrrr", - "html_url": "https://github.com/yu-tarrrr" + "login": "marctorsoc", + "html_url": "https://github.com/marctorsoc" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3824, - "title": "Traces and events not going through to Langfuse server even though they're generating", - "href": "https://github.com/orgs/langfuse/discussions/3824", - "created_at": "2024-10-18T13:49:53Z", - "upvotes": 1, - "comment_count": 2, - "resolved": false, - "labels": [ - "integration-python-decorator" - ], + "number": 2877, + "title": "Make langfuse deployable to AWS Lambda", + "href": "https://github.com/orgs/langfuse/discussions/2877", + "created_at": "2024-08-09T08:24:14Z", + "upvotes": 3, + "comment_count": 2, + "resolved": false, + "labels": [], "author": { - "login": "FaresKi", - "html_url": "https://github.com/FaresKi" + "login": "MeddahAbdellah", + "html_url": "https://github.com/MeddahAbdellah" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3800, - "title": "Insert API Keys in database", - "href": "https://github.com/orgs/langfuse/discussions/3800", - "created_at": "2024-10-17T12:40:17Z", + "number": 2870, + "title": "custom base path deployments", + "href": "https://github.com/orgs/langfuse/discussions/2870", + "created_at": "2024-08-08T13:15:51Z", "upvotes": 1, - "comment_count": 3, + "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "kryvokhyzha", - "html_url": "https://github.com/kryvokhyzha" + "login": "marioweid", + "html_url": "https://github.com/marioweid" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3799, - "title": "Weird behaviour of metric values and their reasoning", - "href": "https://github.com/orgs/langfuse/discussions/3799", - "created_at": "2024-10-17T12:17:48Z", - "upvotes": 1, - "comment_count": 2, - "resolved": true, + "number": 2864, + "title": "Add Bedrock Guardrails to the LLM Security documentation", + "href": "https://github.com/orgs/langfuse/discussions/2864", + "created_at": "2024-08-07T23:56:05Z", + "upvotes": 2, + "comment_count": 0, + "resolved": false, "labels": [ - "feat-evals" + "feat-llm-security", + "integration-amazon-bedrock" ], "author": { - "login": "filipmihal", - "html_url": "https://github.com/filipmihal" + "login": "wirjo", + "html_url": "https://github.com/wirjo" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3797, - "title": "Filter Categorical Score Values", - "href": "https://github.com/orgs/langfuse/discussions/3797", - "created_at": "2024-10-17T10:15:58Z", - "upvotes": 1, - "comment_count": 3, - "resolved": true, + "number": 2863, + "title": "Add AWS as a deployment option in the documentation", + "href": "https://github.com/orgs/langfuse/discussions/2863", + "created_at": "2024-08-07T23:53:40Z", + "upvotes": 3, + "comment_count": 1, + "resolved": false, "labels": [ - "feat-scores" + "✅ Done", + "self-hosting" ], "author": { - "login": "alabrashJr", - "html_url": "https://github.com/alabrashJr" + "login": "wirjo", + "html_url": "https://github.com/wirjo" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3796, - "title": "Manually setting up Langchain Callback handler with explicit values doesn't configure langfuse client in decorator approach", - "href": "https://github.com/orgs/langfuse/discussions/3796", - "created_at": "2024-10-17T08:36:51Z", + "number": 2850, + "title": "Feat (ui): Move columns", + "href": "https://github.com/orgs/langfuse/discussions/2850", + "created_at": "2024-08-07T11:55:55Z", "upvotes": 1, - "comment_count": 2, - "resolved": true, - "labels": [ - "integration-langchain" - ], + "comment_count": 0, + "resolved": false, + "labels": [], "author": { - "login": "FaresKi", - "html_url": "https://github.com/FaresKi" + "login": "marctorsoc", + "html_url": "https://github.com/marctorsoc" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3780, - "title": "How to use prompt management with litellm's integration with langfuse?", - "href": "https://github.com/orgs/langfuse/discussions/3780", - "created_at": "2024-10-16T16:48:40Z", - "upvotes": 2, - "comment_count": 8, - "resolved": true, + "number": 2848, + "title": "Feat: Allow not sorting tags", + "href": "https://github.com/orgs/langfuse/discussions/2848", + "created_at": "2024-08-07T11:50:44Z", + "upvotes": 1, + "comment_count": 1, + "resolved": false, "labels": [ - "feat-prompt-management", - "integration-litellm" + "feat-tags" ], "author": { - "login": "GildeshAbhay", - "html_url": "https://github.com/GildeshAbhay" + "login": "marctorsoc", + "html_url": "https://github.com/marctorsoc" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3779, - "title": "Annotation Queues and Session IDs and Datasets and LLM Security", - "href": "https://github.com/orgs/langfuse/discussions/3779", - "created_at": "2024-10-16T14:55:09Z", - "upvotes": 1, - "comment_count": 3, + "number": 2823, + "title": "Need support for ChatOCIGenAI", + "href": "https://github.com/orgs/langfuse/discussions/2823", + "created_at": "2024-08-05T13:34:30Z", + "upvotes": 2, + "comment_count": 0, "resolved": false, "labels": [], "author": { - "login": "paolotamag", - "html_url": "https://github.com/paolotamag" + "login": "engchina", + "html_url": "https://github.com/engchina" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3778, - "title": "Observe decorator not working with custom langchain model & custom langfuse callback handler", - "href": "https://github.com/orgs/langfuse/discussions/3778", - "created_at": "2024-10-16T12:36:02Z", - "upvotes": 1, - "comment_count": 2, - "resolved": true, + "number": 2821, + "title": "Need API endpoints to add projects and users", + "href": "https://github.com/orgs/langfuse/discussions/2821", + "created_at": "2024-08-05T13:10:49Z", + "upvotes": 2, + "comment_count": 1, + "resolved": false, "labels": [], "author": { - "login": "FaresKi", - "html_url": "https://github.com/FaresKi" + "login": "kameshbrao", + "html_url": "https://github.com/kameshbrao" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3777, - "title": "Error when trying to upgrade my langfuse deployment", - "href": "https://github.com/orgs/langfuse/discussions/3777", - "created_at": "2024-10-16T09:25:53Z", - "upvotes": 2, - "comment_count": 2, + "number": 2812, + "title": "Could you make the Prompt label 36 char long?", + "href": "https://github.com/orgs/langfuse/discussions/2812", + "created_at": "2024-08-02T11:03:08Z", + "upvotes": 1, + "comment_count": 1, "resolved": false, "labels": [ - "self-hosting" + "feat-prompt-management", + "✅ Done" ], "author": { - "login": "nithin1995", - "html_url": "https://github.com/nithin1995" + "login": "DevSageH", + "html_url": "https://github.com/DevSageH" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3766, - "title": "Latency and total cost for runs are not computed", - "href": "https://github.com/orgs/langfuse/discussions/3766", - "created_at": "2024-10-15T21:38:15Z", - "upvotes": 1, - "comment_count": 3, - "resolved": true, - "labels": [], + "number": 2810, + "title": "Enable setting a label to an existing prompt version via the api/sdk.", + "href": "https://github.com/orgs/langfuse/discussions/2810", + "created_at": "2024-08-01T16:53:06Z", + "upvotes": 10, + "comment_count": 4, + "resolved": false, + "labels": [ + "feat-prompt-management" + ], "author": { - "login": "ldbolanos", - "html_url": "https://github.com/ldbolanos" + "login": "ClementNguyen", + "html_url": "https://github.com/ClementNguyen" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3764, - "title": "Best practices for tracing an app with history and tool usage", - "href": "https://github.com/orgs/langfuse/discussions/3764", - "created_at": "2024-10-15T21:27:34Z", - "upvotes": 2, - "comment_count": 3, - "resolved": true, + "number": 2797, + "title": "Enable list_prompts/search_prompts using client", + "href": "https://github.com/orgs/langfuse/discussions/2797", + "created_at": "2024-07-31T13:45:38Z", + "upvotes": 4, + "comment_count": 2, + "resolved": false, "labels": [ - "integration-openai" + "feat-prompt-management" ], "author": { - "login": "machulav", - "html_url": "https://github.com/machulav" + "login": "krlng", + "html_url": "https://github.com/krlng" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3756, - "title": "How to create an eval config for prompts using python api?", - "href": "https://github.com/orgs/langfuse/discussions/3756", - "created_at": "2024-10-15T09:20:06Z", + "number": 2781, + "title": "Add support for custom serialization of observation fields", + "href": "https://github.com/orgs/langfuse/discussions/2781", + "created_at": "2024-07-29T18:49:03Z", "upvotes": 1, "comment_count": 2, - "resolved": true, + "resolved": false, "labels": [ - "feat-evals" + "sdk-python" ], "author": { - "login": "GildeshAbhay", - "html_url": "https://github.com/GildeshAbhay" + "login": "ashamlian-roadway", + "html_url": "https://github.com/ashamlian-roadway" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3737, - "title": "Monitoring for multi agent systems (OpenWebUI)", - "href": "https://github.com/orgs/langfuse/discussions/3737", - "created_at": "2024-10-14T16:50:17Z", + "number": 2770, + "title": "Add clickable link to the 'release' kwargs in a Trace - this will route to the documentations/change log of that release/version", + "href": "https://github.com/orgs/langfuse/discussions/2770", + "created_at": "2024-07-28T07:08:07Z", "upvotes": 1, - "comment_count": 3, - "resolved": true, - "labels": [ - "integration-openwebui" - ], + "comment_count": 0, + "resolved": false, + "labels": [], "author": { - "login": "OM-EL", - "html_url": "https://github.com/OM-EL" + "login": "stepanogil", + "html_url": "https://github.com/stepanogil" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3735, - "title": "Is it possible to use tools calling and structured output in the Prompts UI and Playground?", - "href": "https://github.com/orgs/langfuse/discussions/3735", - "created_at": "2024-10-14T16:43:23Z", - "upvotes": 1, - "comment_count": 2, - "resolved": true, - "labels": [ - "feat-prompt-management", - "feat-playground" - ], + "number": 2766, + "title": "Support Exporting LangSmith Run Traces into Langfuse!", + "href": "https://github.com/orgs/langfuse/discussions/2766", + "created_at": "2024-07-27T02:34:44Z", + "upvotes": 3, + "comment_count": 1, + "resolved": false, + "labels": [], "author": { - "login": "mifopen", - "html_url": "https://github.com/mifopen" + "login": "p-barman", + "html_url": "https://github.com/p-barman" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3718, - "title": "How to delete a Session?", - "href": "https://github.com/orgs/langfuse/discussions/3718", - "created_at": "2024-10-11T14:51:46Z", + "number": 2747, + "title": "A new configuration env variable for custom URL prefix", + "href": "https://github.com/orgs/langfuse/discussions/2747", + "created_at": "2024-07-25T17:00:57Z", "upvotes": 1, - "comment_count": 2, - "resolved": true, - "labels": [ - "feat-sessions" - ], + "comment_count": 1, + "resolved": false, + "labels": [], "author": { - "login": "augustoolucas", - "html_url": "https://github.com/augustoolucas" + "login": "abdullah-retorio", + "html_url": "https://github.com/abdullah-retorio" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3717, - "title": "Llamaindex Workflow does't work with Instrumentation Module", - "href": "https://github.com/orgs/langfuse/discussions/3717", - "created_at": "2024-10-11T10:27:09Z", + "number": 2746, + "title": "Returning prompts from expired cache may be disabled using a boolean argument", + "href": "https://github.com/orgs/langfuse/discussions/2746", + "created_at": "2024-07-25T15:57:26Z", "upvotes": 1, - "comment_count": 3, - "resolved": true, + "comment_count": 1, + "resolved": false, "labels": [ - "integraton-llamaindex" + "feat-prompt-management" ], "author": { - "login": "ntdanhtma", - "html_url": "https://github.com/ntdanhtma" + "login": "ogunoz", + "html_url": "https://github.com/ogunoz" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3698, - "title": "Can I use Amazon Bedrock for Langfuse Evals?", - "href": "https://github.com/orgs/langfuse/discussions/3698", - "created_at": "2024-10-10T15:34:48Z", + "number": 2745, + "title": "Lazy fallback for get_prompt", + "href": "https://github.com/orgs/langfuse/discussions/2745", + "created_at": "2024-07-25T15:50:32Z", "upvotes": 1, - "comment_count": 5, - "resolved": true, + "comment_count": 1, + "resolved": false, "labels": [ - "feat-evals", - "integration-amazon-bedrock" + "feat-prompt-management" ], "author": { - "login": "j10sanders", - "html_url": "https://github.com/j10sanders" + "login": "ogunoz", + "html_url": "https://github.com/ogunoz" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3679, - "title": "Langfuse / Langflow not intergrating", - "href": "https://github.com/orgs/langfuse/discussions/3679", - "created_at": "2024-10-09T17:06:32Z", - "upvotes": 1, + "number": 2738, + "title": "Set variables in playground from dataset", + "href": "https://github.com/orgs/langfuse/discussions/2738", + "created_at": "2024-07-25T09:27:30Z", + "upvotes": 4, "comment_count": 2, "resolved": false, "labels": [ - "integration-langflow" + "feat-datasets", + "feat-playground" ], "author": { - "login": "colecal", - "html_url": "https://github.com/colecal" + "login": "hbenyamina", + "html_url": "https://github.com/hbenyamina" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3678, - "title": "Langfuse not tracing code from my VM (server)", - "href": "https://github.com/orgs/langfuse/discussions/3678", - "created_at": "2024-10-09T14:56:05Z", + "number": 2729, + "title": "Comment thread on Traces", + "href": "https://github.com/orgs/langfuse/discussions/2729", + "created_at": "2024-07-24T13:52:51Z", "upvotes": 1, - "comment_count": 1, + "comment_count": 3, "resolved": false, "labels": [ - "self-hosting" + "✅ Done", + "feat-comments" ], "author": { - "login": "akbar-mta", - "html_url": "https://github.com/akbar-mta" + "login": "guptakvgaurav", + "html_url": "https://github.com/guptakvgaurav" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3674, - "title": "Docs for K8s deployments", - "href": "https://github.com/orgs/langfuse/discussions/3674", - "created_at": "2024-10-09T09:52:05Z", - "upvotes": 1, - "comment_count": 2, - "resolved": true, + "number": 2728, + "title": "Session-level scores", + "href": "https://github.com/orgs/langfuse/discussions/2728", + "created_at": "2024-07-24T10:05:40Z", + "upvotes": 3, + "comment_count": 3, + "resolved": false, "labels": [ - "self-hosting" + "feat-scores", + "feat-sessions" ], "author": { - "login": "Brant-lzh", - "html_url": "https://github.com/Brant-lzh" + "login": "felixsg", + "html_url": "https://github.com/felixsg" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3645, - "title": "Cannot Sign In or Sign Up to Local Langfuse Instance", - "href": "https://github.com/orgs/langfuse/discussions/3645", - "created_at": "2024-10-08T11:09:48Z", - "upvotes": 1, - "comment_count": 2, - "resolved": true, - "labels": [], + "number": 2721, + "title": "Add note on each prompt version", + "href": "https://github.com/orgs/langfuse/discussions/2721", + "created_at": "2024-07-23T14:48:02Z", + "upvotes": 2, + "comment_count": 1, + "resolved": false, + "labels": [ + "feat-prompt-management" + ], "author": { - "login": "Patryk-Chlanda", - "html_url": "https://github.com/Patryk-Chlanda" + "login": "cubxxw", + "html_url": "https://github.com/cubxxw" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3641, - "title": "Sign in and Sign up button is greyed out", - "href": "https://github.com/orgs/langfuse/discussions/3641", - "created_at": "2024-10-08T09:32:16Z", + "number": 2720, + "title": "Feature request [UI]: Remember column selection PER project in Traces view", + "href": "https://github.com/orgs/langfuse/discussions/2720", + "created_at": "2024-07-23T13:53:38Z", "upvotes": 1, "comment_count": 2, - "resolved": true, + "resolved": false, "labels": [], "author": { - "login": "akbar-mta", - "html_url": "https://github.com/akbar-mta" + "login": "justingodden", + "html_url": "https://github.com/justingodden" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3637, - "title": "Sign In Button Remains Disabled When Logging in with Email/Password on Langfuse Self-Hosted", - "href": "https://github.com/orgs/langfuse/discussions/3637", - "created_at": "2024-10-08T06:40:05Z", - "upvotes": 2, - "comment_count": 2, - "resolved": true, + "number": 2710, + "title": "Support JSON messages in prompt management", + "href": "https://github.com/orgs/langfuse/discussions/2710", + "created_at": "2024-07-23T01:59:12Z", + "upvotes": 1, + "comment_count": 0, + "resolved": false, "labels": [], "author": { - "login": "tubone24", - "html_url": "https://github.com/tubone24" + "login": "jasonslyvia", + "html_url": "https://github.com/jasonslyvia" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3615, - "title": "Failing with internal server error when trying to add score to a trace", - "href": "https://github.com/orgs/langfuse/discussions/3615", - "created_at": "2024-10-07T06:15:14Z", - "upvotes": 1, + "number": 2704, + "title": "Deleting user's traces via API to be GDPR compliant", + "href": "https://github.com/orgs/langfuse/discussions/2704", + "created_at": "2024-07-22T12:03:22Z", + "upvotes": 8, "comment_count": 2, - "resolved": true, + "resolved": false, "labels": [], "author": { - "login": "nithin1995", - "html_url": "https://github.com/nithin1995" + "login": "Stormyy", + "html_url": "https://github.com/Stormyy" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3592, - "title": "Set trace_id in Langchain CallbackHandler", - "href": "https://github.com/orgs/langfuse/discussions/3592", - "created_at": "2024-10-05T11:09:30Z", + "number": 2699, + "title": "Schemad or structured configuration for prompt", + "href": "https://github.com/orgs/langfuse/discussions/2699", + "created_at": "2024-07-22T02:29:13Z", "upvotes": 1, "comment_count": 1, - "resolved": true, - "labels": [], + "resolved": false, + "labels": [ + "feat-prompt-management" + ], "author": { - "login": "michaelpoluektov", - "html_url": "https://github.com/michaelpoluektov" + "login": "jasonslyvia", + "html_url": "https://github.com/jasonslyvia" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3574, - "title": "Automated provisioning of default resources in self hosting", - "href": "https://github.com/orgs/langfuse/discussions/3574", - "created_at": "2024-10-04T06:44:45Z", + "number": 2697, + "title": "A transparent mode", + "href": "https://github.com/orgs/langfuse/discussions/2697", + "created_at": "2024-07-21T20:55:43Z", "upvotes": 1, - "comment_count": 2, - "resolved": true, + "comment_count": 1, + "resolved": false, + "labels": [], + "author": { + "login": "emsi", + "html_url": "https://github.com/emsi" + }, + "category": "Ideas" + }, + { + "number": 2684, + "title": "Langfuse batch prompts api should return prompt configs as well", + "href": "https://github.com/orgs/langfuse/discussions/2684", + "created_at": "2024-07-19T10:05:45Z", + "upvotes": 2, + "comment_count": 3, + "resolved": false, "labels": [ - "self-hosting" + "feat-prompt-management", + "✅ Done" ], "author": { - "login": "Harinisri29", - "html_url": "https://github.com/Harinisri29" + "login": "ashutoshsaboo", + "html_url": "https://github.com/ashutoshsaboo" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3569, - "title": "UnauthorizedError: No authorization header After Switching to Headless Initialization", - "href": "https://github.com/orgs/langfuse/discussions/3569", - "created_at": "2024-10-03T08:52:35Z", + "number": 2669, + "title": "Visualisation of graph execution", + "href": "https://github.com/orgs/langfuse/discussions/2669", + "created_at": "2024-07-18T08:44:03Z", "upvotes": 2, - "comment_count": 2, + "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "chandel-aman", - "html_url": "https://github.com/chandel-aman" + "login": "VMinB12", + "html_url": "https://github.com/VMinB12" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3559, - "title": "Token Cost using OpenRouter", - "href": "https://github.com/orgs/langfuse/discussions/3559", - "created_at": "2024-10-02T05:25:14Z", + "number": 2668, + "title": "I want to say something about user feedback", + "href": "https://github.com/orgs/langfuse/discussions/2668", + "created_at": "2024-07-18T07:57:50Z", "upvotes": 1, "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [], "author": { - "login": "austinm911", - "html_url": "https://github.com/austinm911" + "login": "cubxxw", + "html_url": "https://github.com/cubxxw" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3557, - "title": "Link 2 traces", - "href": "https://github.com/orgs/langfuse/discussions/3557", - "created_at": "2024-10-02T02:14:27Z", + "number": 2664, + "title": "Prompts are supported for export", + "href": "https://github.com/orgs/langfuse/discussions/2664", + "created_at": "2024-07-18T00:43:12Z", "upvotes": 1, "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [], "author": { - "login": "saiprasath21", - "html_url": "https://github.com/saiprasath21" + "login": "cubxxw", + "html_url": "https://github.com/cubxxw" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3556, - "title": "Update a trace", - "href": "https://github.com/orgs/langfuse/discussions/3556", - "created_at": "2024-10-02T02:10:15Z", + "number": 2653, + "title": "Web page request is a little slow, whether to consider using golang to reconstruct", + "href": "https://github.com/orgs/langfuse/discussions/2653", + "created_at": "2024-07-17T07:08:45Z", "upvotes": 1, "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [], "author": { - "login": "saiprasath21", - "html_url": "https://github.com/saiprasath21" + "login": "cubxxw", + "html_url": "https://github.com/cubxxw" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3553, - "title": "How to track DSPy call within Langgraph", - "href": "https://github.com/orgs/langfuse/discussions/3553", - "created_at": "2024-10-01T20:00:11Z", - "upvotes": 1, + "number": 2642, + "title": "Add ability to add name or label to a Langfuse API key", + "href": "https://github.com/orgs/langfuse/discussions/2642", + "created_at": "2024-07-16T17:08:42Z", + "upvotes": 5, "comment_count": 1, "resolved": false, - "labels": [ - "integration-langchain", - "integration-dspy" - ], + "labels": [], "author": { - "login": "marcklingen", - "html_url": "https://github.com/marcklingen" + "login": "agibralter", + "html_url": "https://github.com/agibralter" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3552, - "title": "LlamaIndex traces grouping", - "href": "https://github.com/orgs/langfuse/discussions/3552", - "created_at": "2024-10-01T18:35:11Z", - "upvotes": 1, - "comment_count": 2, - "resolved": true, + "number": 2625, + "title": "Track Openai Assistant API costs", + "href": "https://github.com/orgs/langfuse/discussions/2625", + "created_at": "2024-07-15T07:50:18Z", + "upvotes": 4, + "comment_count": 0, + "resolved": false, "labels": [ - "integraton-llamaindex" + "integration-openai" ], "author": { - "login": "ivanviragine", - "html_url": "https://github.com/ivanviragine" + "login": "christos-bsq", + "html_url": "https://github.com/christos-bsq" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3549, - "title": "create api keys pair using some method or api", - "href": "https://github.com/orgs/langfuse/discussions/3549", - "created_at": "2024-10-01T11:45:12Z", - "upvotes": 1, - "comment_count": 2, - "resolved": true, + "number": 2624, + "title": "Add tool / function calling and tool messages to Prompt Management", + "href": "https://github.com/orgs/langfuse/discussions/2624", + "created_at": "2024-07-15T06:49:50Z", + "upvotes": 3, + "comment_count": 0, + "resolved": false, "labels": [ - "self-hosting" + "feat-prompt-management" ], "author": { - "login": "ryanrib14", - "html_url": "https://github.com/ryanrib14" + "login": "eloko7", + "html_url": "https://github.com/eloko7" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3545, - "title": "How to Set Custom Trace ID with a Decorator and Include langfuse_observation_id?", - "href": "https://github.com/orgs/langfuse/discussions/3545", - "created_at": "2024-10-01T02:04:03Z", + "number": 2622, + "title": "Inbuild langfuse tracing.", + "href": "https://github.com/orgs/langfuse/discussions/2622", + "created_at": "2024-07-13T10:39:13Z", "upvotes": 1, - "comment_count": 2, - "resolved": true, - "labels": [ - "integration-python-decorator" - ], + "comment_count": 0, + "resolved": false, + "labels": [], "author": { - "login": "octadion", - "html_url": "https://github.com/octadion" + "login": "rashid-globallogic", + "html_url": "https://github.com/rashid-globallogic" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3540, - "title": "error ❌ tRPC failed on public.checkUpdate: Failed to fetch or json parse the latest releases Failed to fetch or json parse the latest releases", - "href": "https://github.com/orgs/langfuse/discussions/3540", - "created_at": "2024-09-30T20:29:22Z", - "upvotes": 1, + "number": 2605, + "title": "DSPy tracing", + "href": "https://github.com/orgs/langfuse/discussions/2605", + "created_at": "2024-07-10T12:52:35Z", + "upvotes": 2, "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [ - "self-hosting" + "integrations", + "✅ Done", + "integration-dspy" ], "author": { - "login": "FaresKi", - "html_url": "https://github.com/FaresKi" + "login": "paolotamag", + "html_url": "https://github.com/paolotamag" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3531, - "title": "is it possible to assign a label to an existing prompt via API/SDK ?", - "href": "https://github.com/orgs/langfuse/discussions/3531", - "created_at": "2024-09-30T07:49:28Z", - "upvotes": 1, - "comment_count": 2, - "resolved": true, + "number": 2586, + "title": "Feat: Ability to change curreny for model usage costs.", + "href": "https://github.com/orgs/langfuse/discussions/2586", + "created_at": "2024-07-09T15:40:22Z", + "upvotes": 2, + "comment_count": 1, + "resolved": false, "labels": [ - "feat-prompt-management" + "feat-cost-tracking" ], "author": { - "login": "simicvm", - "html_url": "https://github.com/simicvm" + "login": "jannikstdl", + "html_url": "https://github.com/jannikstdl" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3525, - "title": "Applying database migrations failed. This is mostly caused by the database being unavailable", - "href": "https://github.com/orgs/langfuse/discussions/3525", - "created_at": "2024-09-29T11:14:04Z", - "upvotes": 1, - "comment_count": 3, + "number": 2578, + "title": "Conditional Trace Content/Message submission", + "href": "https://github.com/orgs/langfuse/discussions/2578", + "created_at": "2024-07-09T09:57:26Z", + "upvotes": 3, + "comment_count": 1, "resolved": false, - "labels": [ - "self-hosting" - ], + "labels": [], "author": { - "login": "NanthagopalEswaran", - "html_url": "https://github.com/NanthagopalEswaran" + "login": "simonwh", + "html_url": "https://github.com/simonwh" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3521, - "title": "is it open source or not?", - "href": "https://github.com/orgs/langfuse/discussions/3521", - "created_at": "2024-09-27T22:07:52Z", + "number": 2577, + "title": "Detailed and Interactive Plot Visualization like WandB", + "href": "https://github.com/orgs/langfuse/discussions/2577", + "created_at": "2024-07-09T09:19:38Z", "upvotes": 1, - "comment_count": 1, - "resolved": true, + "comment_count": 3, + "resolved": false, "labels": [], "author": { - "login": "severfire", - "html_url": "https://github.com/severfire" + "login": "yusuke-intern", + "html_url": "https://github.com/yusuke-intern" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3520, - "title": "Langfuse not logging costs on Vertex AI gemini-1.5-flash-002.", - "href": "https://github.com/orgs/langfuse/discussions/3520", - "created_at": "2024-09-27T18:51:08Z", + "number": 2576, + "title": "Log prob on Langfuse", + "href": "https://github.com/orgs/langfuse/discussions/2576", + "created_at": "2024-07-09T09:16:23Z", "upvotes": 1, "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [ - "integraton-llamaindex" + "integration-openai" ], "author": { - "login": "arthurbrenno", - "html_url": "https://github.com/arthurbrenno" + "login": "yusuke-intern", + "html_url": "https://github.com/yusuke-intern" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3503, - "title": "Not possible to delete prompts programmatically, (langfuse python library or api)", - "href": "https://github.com/orgs/langfuse/discussions/3503", - "created_at": "2024-09-27T12:33:52Z", - "upvotes": 2, - "comment_count": 2, - "resolved": true, + "number": 2573, + "title": "Prompt Cataloguing and prompt github", + "href": "https://github.com/orgs/langfuse/discussions/2573", + "created_at": "2024-07-08T20:05:23Z", + "upvotes": 1, + "comment_count": 1, + "resolved": false, "labels": [ "feat-prompt-management" ], "author": { - "login": "RealGammaNL", - "html_url": "https://github.com/RealGammaNL" + "login": "kunal2002", + "html_url": "https://github.com/kunal2002" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3496, - "title": "Unable to fetch prompts without production label", - "href": "https://github.com/orgs/langfuse/discussions/3496", - "created_at": "2024-09-27T03:27:52Z", + "number": 2571, + "title": "If Data/Metadata given to Langfuse SDK that exceeds Langfuse's limit, log/throw/emit Stack Trace", + "href": "https://github.com/orgs/langfuse/discussions/2571", + "created_at": "2024-07-08T15:17:52Z", "upvotes": 1, "comment_count": 1, - "resolved": true, - "labels": [ - "feat-prompt-management" - ], + "resolved": false, + "labels": [], "author": { - "login": "chandel-aman", - "html_url": "https://github.com/chandel-aman" + "login": "josiahbryan", + "html_url": "https://github.com/josiahbryan" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3489, - "title": "Missing input/output on trace when using openai js integration", - "href": "https://github.com/orgs/langfuse/discussions/3489", - "created_at": "2024-09-26T15:36:06Z", - "upvotes": 1, - "comment_count": 2, + "number": 2539, + "title": "Include request's `tools` configuration in OpenAI LLM calls", + "href": "https://github.com/orgs/langfuse/discussions/2539", + "created_at": "2024-07-04T11:39:43Z", + "upvotes": 2, + "comment_count": 1, "resolved": false, "labels": [ "integration-openai" ], "author": { - "login": "dimitrydesilias", - "html_url": "https://github.com/dimitrydesilias" + "login": "ricwo", + "html_url": "https://github.com/ricwo" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3486, - "title": "Bind all multiple hierarchical call against session-id instead of opening multiple threads", - "href": "https://github.com/orgs/langfuse/discussions/3486", - "created_at": "2024-09-26T06:31:20Z", + "number": 2534, + "title": "Simple graphs and metrics for scores and evaluations", + "href": "https://github.com/orgs/langfuse/discussions/2534", + "created_at": "2024-07-03T17:14:42Z", + "upvotes": 2, + "comment_count": 1, + "resolved": false, + "labels": [], + "author": { + "login": "justinwiley", + "html_url": "https://github.com/justinwiley" + }, + "category": "Ideas" + }, + { + "number": 2529, + "title": "feat: Track Exceptions while using Decorators", + "href": "https://github.com/orgs/langfuse/discussions/2529", + "created_at": "2024-07-03T11:40:19Z", "upvotes": 1, - "comment_count": 3, - "resolved": true, + "comment_count": 1, + "resolved": false, "labels": [ "integration-python-decorator" ], "author": { - "login": "ajeet6261", - "html_url": "https://github.com/ajeet6261" + "login": "Manonandan", + "html_url": "https://github.com/Manonandan" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3485, - "title": "How to avoid memory leaks due to LangchainCallbackHandler while using userId and sessionId", - "href": "https://github.com/orgs/langfuse/discussions/3485", - "created_at": "2024-09-26T00:07:14Z", + "number": 2523, + "title": "Feature Request: Sidebar Display for Trace Details in Dataset Runs", + "href": "https://github.com/orgs/langfuse/discussions/2523", + "created_at": "2024-07-02T15:00:47Z", "upvotes": 1, - "comment_count": 6, - "resolved": true, + "comment_count": 3, + "resolved": false, "labels": [ - "integration-langchain", - "feat-users", - "feat-sessions" + "feat-datasets" ], "author": { - "login": "Chengdyc", - "html_url": "https://github.com/Chengdyc" + "login": "tuan3w", + "html_url": "https://github.com/tuan3w" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3480, - "title": "How to provide a TLS Cert for PGSQL cloud connection in Langfuse docker container?", - "href": "https://github.com/orgs/langfuse/discussions/3480", - "created_at": "2024-09-25T20:44:17Z", - "upvotes": 1, - "comment_count": 2, - "resolved": true, + "number": 2511, + "title": "Scoring dataset runs, e.g. precision, recall, f-value", + "href": "https://github.com/orgs/langfuse/discussions/2511", + "created_at": "2024-07-02T08:10:21Z", + "upvotes": 8, + "comment_count": 1, + "resolved": false, "labels": [ - "self-hosting" + "feat-datasets", + "feat-scores" ], "author": { - "login": "barvhaim", - "html_url": "https://github.com/barvhaim" + "login": "yusuke-intern", + "html_url": "https://github.com/yusuke-intern" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3477, - "title": "LangFuse Low Level SDK does not render images by passing the link", - "href": "https://github.com/orgs/langfuse/discussions/3477", - "created_at": "2024-09-25T15:15:54Z", - "upvotes": 1, - "comment_count": 1, + "number": 2510, + "title": "How can we see traces of MULTIMODAL llms over langfuse ?", + "href": "https://github.com/orgs/langfuse/discussions/2510", + "created_at": "2024-07-02T05:15:59Z", + "upvotes": 4, + "comment_count": 3, "resolved": false, "labels": [ + "✅ Done", "feat-multimodal" ], "author": { - "login": "VikramShenoy97", - "html_url": "https://github.com/VikramShenoy97" + "login": "Aaryaveerkrishna23", + "html_url": "https://github.com/Aaryaveerkrishna23" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3469, - "title": "raise exception when handle_span_events", - "href": "https://github.com/orgs/langfuse/discussions/3469", - "created_at": "2024-09-25T00:56:32Z", - "upvotes": 1, - "comment_count": 2, + "number": 2509, + "title": "Support OpenTelemetry-based instrumentation (traceloop openllmetry and others)", + "href": "https://github.com/orgs/langfuse/discussions/2509", + "created_at": "2024-07-02T02:29:14Z", + "upvotes": 8, + "comment_count": 7, + "resolved": false, + "labels": [ + "integrations" + ], + "author": { + "login": "gyliu513", + "html_url": "https://github.com/gyliu513" + }, + "category": "Ideas" + }, + { + "number": 2508, + "title": "Enable Langfuse can expose metrics in Prometheus format", + "href": "https://github.com/orgs/langfuse/discussions/2508", + "created_at": "2024-07-02T02:25:24Z", + "upvotes": 7, + "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "nightosong", - "html_url": "https://github.com/nightosong" + "login": "gyliu513", + "html_url": "https://github.com/gyliu513" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3466, - "title": "How to get costs associated with an API call / user?", - "href": "https://github.com/orgs/langfuse/discussions/3466", - "created_at": "2024-09-24T19:33:56Z", - "upvotes": 1, + "number": 2501, + "title": "Use Langchain LCEL + Langserve + run time user_id/session_id", + "href": "https://github.com/orgs/langfuse/discussions/2501", + "created_at": "2024-07-01T15:51:47Z", + "upvotes": 4, "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [ + "integration-langchain", "feat-users", - "feat-cost-tracking" + "feat-sessions" ], "author": { - "login": "punkpeye", - "html_url": "https://github.com/punkpeye" + "login": "ravediamond", + "html_url": "https://github.com/ravediamond" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3465, - "title": "How to run langfuse locally while using a hosted database", - "href": "https://github.com/orgs/langfuse/discussions/3465", - "created_at": "2024-09-24T14:24:29Z", + "number": 2493, + "title": "Easy token price estimates for 400+ LLMs", + "href": "https://github.com/orgs/langfuse/discussions/2493", + "created_at": "2024-07-01T06:55:56Z", "upvotes": 1, "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [ - "self-hosting" + "feat-cost-tracking" ], "author": { - "login": "wil0u", - "html_url": "https://github.com/wil0u" + "login": "derevyan", + "html_url": "https://github.com/derevyan" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3462, - "title": "how to set user_id or session_id in trace?", - "href": "https://github.com/orgs/langfuse/discussions/3462", - "created_at": "2024-09-24T08:34:59Z", - "upvotes": 1, + "number": 2488, + "title": "Add contextmanager support to python decorator", + "href": "https://github.com/orgs/langfuse/discussions/2488", + "created_at": "2024-06-29T20:43:50Z", + "upvotes": 6, "comment_count": 2, - "resolved": true, + "resolved": false, "labels": [ - "integration-python-decorator", - "feat-users", - "feat-sessions" + "integration-python-decorator" ], "author": { - "login": "yumc2573", - "html_url": "https://github.com/yumc2573" + "login": "yaniv-aknin", + "html_url": "https://github.com/yaniv-aknin" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3460, - "title": "Langfuse observation for openai embeddings method", - "href": "https://github.com/orgs/langfuse/discussions/3460", - "created_at": "2024-09-24T06:01:06Z", - "upvotes": 2, - "comment_count": 2, - "resolved": true, + "number": 2469, + "title": "Adding userId / author to score (custom metadata)", + "href": "https://github.com/orgs/langfuse/discussions/2469", + "created_at": "2024-06-27T19:02:17Z", + "upvotes": 4, + "comment_count": 3, + "resolved": false, "labels": [ - "integration-openai", - "integration-python-decorator", - "feat-cost-tracking" + "feat-scores", + "feat-users" ], "author": { - "login": "simrangulati-jktech", - "html_url": "https://github.com/simrangulati-jktech" + "login": "ivanviragine", + "html_url": "https://github.com/ivanviragine" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3446, - "title": "Right way to migrate langfuse deployed on K8s within an AWS account", - "href": "https://github.com/orgs/langfuse/discussions/3446", - "created_at": "2024-09-23T06:32:02Z", + "number": 2456, + "title": "Export to CSV feature in the Traces", + "href": "https://github.com/orgs/langfuse/discussions/2456", + "created_at": "2024-06-27T11:02:47Z", "upvotes": 1, "comment_count": 1, - "resolved": true, - "labels": [ - "self-hosting" - ], + "resolved": false, + "labels": [], "author": { - "login": "nithin1995", - "html_url": "https://github.com/nithin1995" + "login": "Aniket3007", + "html_url": "https://github.com/Aniket3007" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3435, - "title": "Langfuse is inconsistently generating span latencies table in traces greater than 36K entiries", - "href": "https://github.com/orgs/langfuse/discussions/3435", - "created_at": "2024-09-20T18:54:28Z", + "number": 2454, + "title": "Expand all json-views of Dataset items etc.", + "href": "https://github.com/orgs/langfuse/discussions/2454", + "created_at": "2024-06-27T08:18:23Z", "upvotes": 1, - "comment_count": 3, - "resolved": true, - "labels": [], + "comment_count": 1, + "resolved": false, + "labels": [ + "✅ Done", + "feat-datasets" + ], "author": { - "login": "databloom", - "html_url": "https://github.com/databloom" + "login": "tkreuder", + "html_url": "https://github.com/tkreuder" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3429, - "title": "Async version of Langfuse.get_prompt", - "href": "https://github.com/orgs/langfuse/discussions/3429", - "created_at": "2024-09-20T14:26:51Z", + "number": 2438, + "title": "Bedrock provider when using llamaindex", + "href": "https://github.com/orgs/langfuse/discussions/2438", + "created_at": "2024-06-26T11:00:54Z", "upvotes": 1, "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [ - "feat-prompt-management" + "integraton-llamaindex", + "integration-amazon-bedrock" ], "author": { - "login": "antoniomdk", - "html_url": "https://github.com/antoniomdk" + "login": "mdciri", + "html_url": "https://github.com/mdciri" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3420, - "title": "Help setting up GCP host (cloudbuild or console)", - "href": "https://github.com/orgs/langfuse/discussions/3420", - "created_at": "2024-09-20T04:34:35Z", - "upvotes": 1, - "comment_count": 3, + "number": 2437, + "title": "Project members management via public API", + "href": "https://github.com/orgs/langfuse/discussions/2437", + "created_at": "2024-06-26T10:03:50Z", + "upvotes": 3, + "comment_count": 1, "resolved": false, "labels": [ - "self-hosting" + "feat-rbac" ], "author": { - "login": "elliottower", - "html_url": "https://github.com/elliottower" + "login": "tmarenko", + "html_url": "https://github.com/tmarenko" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3410, - "title": "Configuring Evaluation with \"Correctness\" Template & Python Code Invocation", - "href": "https://github.com/orgs/langfuse/discussions/3410", - "created_at": "2024-09-19T09:44:42Z", + "number": 2402, + "title": "Add string data type in score config", + "href": "https://github.com/orgs/langfuse/discussions/2402", + "created_at": "2024-06-24T11:12:54Z", "upvotes": 1, - "comment_count": 3, - "resolved": true, + "comment_count": 1, + "resolved": false, "labels": [ "feat-scores" ], "author": { - "login": "zoulou00", - "html_url": "https://github.com/zoulou00" + "login": "emfhal", + "html_url": "https://github.com/emfhal" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3406, - "title": "Module not found: Can't resolve '@langfuse'", - "href": "https://github.com/orgs/langfuse/discussions/3406", - "created_at": "2024-09-19T05:57:04Z", - "upvotes": 1, - "comment_count": 1, - "resolved": true, + "number": 2400, + "title": "Support for Custom Base URL Prefix in Langfuse (nextjs basepath)", + "href": "https://github.com/orgs/langfuse/discussions/2400", + "created_at": "2024-06-24T09:57:57Z", + "upvotes": 21, + "comment_count": 9, + "resolved": false, "labels": [ + "✅ Done", "self-hosting" ], "author": { - "login": "christosuster", - "html_url": "https://github.com/christosuster" + "login": "databill86", + "html_url": "https://github.com/databill86" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3397, - "title": "tokens and usage cost", - "href": "https://github.com/orgs/langfuse/discussions/3397", - "created_at": "2024-09-18T13:05:07Z", + "number": 2397, + "title": "Add ARM64 docker image", + "href": "https://github.com/orgs/langfuse/discussions/2397", + "created_at": "2024-06-21T13:35:24Z", "upvotes": 1, "comment_count": 2, - "resolved": true, + "resolved": false, "labels": [ - "feat-cost-tracking" + "✅ Done", + "self-hosting" ], "author": { - "login": "Karanaiinfox", - "html_url": "https://github.com/Karanaiinfox" + "login": "lucasiscovici", + "html_url": "https://github.com/lucasiscovici" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3393, - "title": "Self-Host evaluation feature", - "href": "https://github.com/orgs/langfuse/discussions/3393", - "created_at": "2024-09-18T07:55:30Z", + "number": 2390, + "title": "Implement Duplication Check for Prompt Versions in Langfuse", + "href": "https://github.com/orgs/langfuse/discussions/2390", + "created_at": "2024-06-21T08:03:39Z", "upvotes": 1, - "comment_count": 2, - "resolved": true, + "comment_count": 1, + "resolved": false, "labels": [ - "feat-evals" + "feat-prompt-management" ], "author": { - "login": "MayankBitcot", - "html_url": "https://github.com/MayankBitcot" + "login": "sapipoZZZ", + "html_url": "https://github.com/sapipoZZZ" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3392, - "title": "not able to track entire request end to end in langchain + langfuse", - "href": "https://github.com/orgs/langfuse/discussions/3392", - "created_at": "2024-09-18T07:08:49Z", - "upvotes": 1, - "comment_count": 2, + "number": 2378, + "title": "Number of times a prompt was fetched", + "href": "https://github.com/orgs/langfuse/discussions/2378", + "created_at": "2024-06-20T07:37:12Z", + "upvotes": 3, + "comment_count": 0, "resolved": false, "labels": [ - "integration-langchain" + "feat-prompt-management" ], "author": { - "login": "jaiswalvineet", - "html_url": "https://github.com/jaiswalvineet" + "login": "subhampasari", + "html_url": "https://github.com/subhampasari" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3379, - "title": "Feedback for “Langfuse Documentation”", - "href": "https://github.com/orgs/langfuse/discussions/3379", - "created_at": "2024-09-17T07:44:56Z", + "number": 2376, + "title": "Allow for custom OAuth scopes when self-hosing", + "href": "https://github.com/orgs/langfuse/discussions/2376", + "created_at": "2024-06-19T22:23:59Z", "upvotes": 1, - "comment_count": 3, + "comment_count": 1, "resolved": false, - "labels": [], + "labels": [ + "feat-auth" + ], "author": { - "login": "Preet1234-ux", - "html_url": "https://github.com/Preet1234-ux" + "login": "0x77dev", + "html_url": "https://github.com/0x77dev" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3364, - "title": "Hey want to change the Eval Templates name, can we do it from UI", - "href": "https://github.com/orgs/langfuse/discussions/3364", - "created_at": "2024-09-16T08:07:30Z", + "number": 2371, + "title": "SBS Markdown mode for dataset runs", + "href": "https://github.com/orgs/langfuse/discussions/2371", + "created_at": "2024-06-19T14:57:32Z", "upvotes": 1, - "comment_count": 3, - "resolved": true, + "comment_count": 1, + "resolved": false, "labels": [ - "feat-evals" + "feat-datasets" ], "author": { - "login": "divyanshubhuta", - "html_url": "https://github.com/divyanshubhuta" + "login": "pfurovYnP", + "html_url": "https://github.com/pfurovYnP" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3344, - "title": "How to use langfuse with LangGraph Studio", - "href": "https://github.com/orgs/langfuse/discussions/3344", - "created_at": "2024-09-13T11:35:53Z", + "number": 2358, + "title": "Add view mode to Settings", + "href": "https://github.com/orgs/langfuse/discussions/2358", + "created_at": "2024-06-17T12:48:04Z", "upvotes": 1, - "comment_count": 2, + "comment_count": 1, "resolved": false, - "labels": [ - "integration-langchain" - ], + "labels": [], "author": { - "login": "debkanchan", - "html_url": "https://github.com/debkanchan" + "login": "emfhal", + "html_url": "https://github.com/emfhal" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3321, - "title": "Session ids for Langserve", - "href": "https://github.com/orgs/langfuse/discussions/3321", - "created_at": "2024-09-11T22:40:01Z", - "upvotes": 1, + "number": 2352, + "title": "Support SAML login protocol", + "href": "https://github.com/orgs/langfuse/discussions/2352", + "created_at": "2024-06-17T07:14:14Z", + "upvotes": 4, "comment_count": 1, "resolved": false, "labels": [ - "integration-langchain", - "feat-sessions" + "self-hosting" ], "author": { - "login": "YaphetKG", - "html_url": "https://github.com/YaphetKG" + "login": "emfhal", + "html_url": "https://github.com/emfhal" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3313, - "title": "how to pass custom user managed model name to calculate the cost via langchain", - "href": "https://github.com/orgs/langfuse/discussions/3313", - "created_at": "2024-09-11T13:25:48Z", - "upvotes": 1, - "comment_count": 3, - "resolved": true, + "number": 2343, + "title": "Bring Langfuse to Cloud Marketplaces", + "href": "https://github.com/orgs/langfuse/discussions/2343", + "created_at": "2024-06-14T06:41:18Z", + "upvotes": 2, + "comment_count": 2, + "resolved": false, "labels": [ - "integration-langchain", - "feat-cost-tracking" + "self-hosting" ], "author": { - "login": "jaiswalvineet", - "html_url": "https://github.com/jaiswalvineet" + "login": "aiakubovich", + "html_url": "https://github.com/aiakubovich" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3308, - "title": "Automated Prompt Management across Environments", - "href": "https://github.com/orgs/langfuse/discussions/3308", - "created_at": "2024-09-11T09:31:26Z", + "number": 2336, + "title": "Saving a filter", + "href": "https://github.com/orgs/langfuse/discussions/2336", + "created_at": "2024-06-13T09:15:59Z", + "upvotes": 1, + "comment_count": 0, + "resolved": false, + "labels": [], + "author": { + "login": "avinash361-devrev", + "html_url": "https://github.com/avinash361-devrev" + }, + "category": "Ideas" + }, + { + "number": 2331, + "title": "Pendo integration", + "href": "https://github.com/orgs/langfuse/discussions/2331", + "created_at": "2024-06-12T18:22:32Z", "upvotes": 1, "comment_count": 1, - "resolved": true, - "labels": [ - "feat-prompt-management" - ], + "resolved": false, + "labels": [], "author": { - "login": "jonnyforsterMSG", - "html_url": "https://github.com/jonnyforsterMSG" + "login": "mrunaaaaaal", + "html_url": "https://github.com/mrunaaaaaal" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3307, - "title": "DataSet Scores are not being displayed", - "href": "https://github.com/orgs/langfuse/discussions/3307", - "created_at": "2024-09-11T08:46:31Z", + "number": 2282, + "title": "[Dashboard] Update Scores Chart to include number of scores on secondary y axis", + "href": "https://github.com/orgs/langfuse/discussions/2282", + "created_at": "2024-06-10T08:41:41Z", "upvotes": 1, - "comment_count": 3, - "resolved": true, + "comment_count": 1, + "resolved": false, "labels": [ - "feat-datasets" + "feat-dashboard" ], "author": { - "login": "MaxYaz", - "html_url": "https://github.com/MaxYaz" + "login": "charlieviettq", + "html_url": "https://github.com/charlieviettq" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3305, - "title": "bug: cost usage are not getting captured automatically from llm response", - "href": "https://github.com/orgs/langfuse/discussions/3305", - "created_at": "2024-09-11T05:02:03Z", - "upvotes": 1, - "comment_count": 2, + "number": 2278, + "title": "Type of input and output of each span visible in the UI", + "href": "https://github.com/orgs/langfuse/discussions/2278", + "created_at": "2024-06-08T21:17:48Z", + "upvotes": 3, + "comment_count": 1, "resolved": false, - "labels": [], + "labels": [ + "ui" + ], "author": { - "login": "ajeet6261", - "html_url": "https://github.com/ajeet6261" + "login": "arthurGrigo", + "html_url": "https://github.com/arthurGrigo" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3271, - "title": "Understanding pricing model (self-hosting vs cloud serving) from security perspective", - "href": "https://github.com/orgs/langfuse/discussions/3271", - "created_at": "2024-09-09T14:07:32Z", - "upvotes": 1, - "comment_count": 2, + "number": 2268, + "title": "Langfuse retention settings", + "href": "https://github.com/orgs/langfuse/discussions/2268", + "created_at": "2024-06-07T12:27:32Z", + "upvotes": 8, + "comment_count": 6, "resolved": false, "labels": [], "author": { - "login": "uahmad235", - "html_url": "https://github.com/uahmad235" + "login": "sudhanshu746", + "html_url": "https://github.com/sudhanshu746" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3267, - "title": "python decorator grouping in trace when using FastAPI Server Sent Events and Langraph + custom function", - "href": "https://github.com/orgs/langfuse/discussions/3267", - "created_at": "2024-09-09T11:10:00Z", - "upvotes": 1, - "comment_count": 4, + "number": 2241, + "title": "Tracing integration with unify.ai", + "href": "https://github.com/orgs/langfuse/discussions/2241", + "created_at": "2024-06-05T15:17:00Z", + "upvotes": 5, + "comment_count": 3, "resolved": false, "labels": [ - "integration-langchain", - "integration-python-decorator" + "integrations" ], "author": { - "login": "lixxvsky", - "html_url": "https://github.com/lixxvsky" + "login": "marcklingen", + "html_url": "https://github.com/marcklingen" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3254, - "title": "Vercel AI SDK and Svelte. How to push traces intermittently back to langfuse", - "href": "https://github.com/orgs/langfuse/discussions/3254", - "created_at": "2024-09-06T13:37:17Z", - "upvotes": 1, - "comment_count": 1, + "number": 2237, + "title": "Add Langchain Support to Prompt Management", + "href": "https://github.com/orgs/langfuse/discussions/2237", + "created_at": "2024-06-05T10:05:13Z", + "upvotes": 34, + "comment_count": 5, "resolved": false, "labels": [ - "integration-vercel-ai-sdk" + "feat-prompt-management", + "integration-langchain", + "✅ Done" ], "author": { - "login": "oghaAI", - "html_url": "https://github.com/oghaAI" + "login": "guidev", + "html_url": "https://github.com/guidev" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3210, - "title": "When using callbacks, the langfuse_context.update_current_trace method does not function properly.", - "href": "https://github.com/orgs/langfuse/discussions/3210", - "created_at": "2024-09-03T10:29:29Z", - "upvotes": 1, - "comment_count": 4, + "number": 2226, + "title": "Monitoring Costs and Traces generated by RAGAS", + "href": "https://github.com/orgs/langfuse/discussions/2226", + "created_at": "2024-06-04T09:35:25Z", + "upvotes": 4, + "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "hgliyuhao", - "html_url": "https://github.com/hgliyuhao" + "login": "paolotamag", + "html_url": "https://github.com/paolotamag" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3207, - "title": "change of data region", - "href": "https://github.com/orgs/langfuse/discussions/3207", - "created_at": "2024-09-03T06:06:48Z", + "number": 2215, + "title": "new chart in dashboard for booleans metrics", + "href": "https://github.com/orgs/langfuse/discussions/2215", + "created_at": "2024-06-03T12:48:37Z", "upvotes": 1, "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [], "author": { - "login": "divyanshubhuta", - "html_url": "https://github.com/divyanshubhuta" + "login": "paolotamag", + "html_url": "https://github.com/paolotamag" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3191, - "title": "Evaluation config setup related query", - "href": "https://github.com/orgs/langfuse/discussions/3191", - "created_at": "2024-09-02T14:48:01Z", - "upvotes": 1, + "number": 2210, + "title": "MessagesPlaceholder in \"Create New Prompt\" panel", + "href": "https://github.com/orgs/langfuse/discussions/2210", + "created_at": "2024-06-03T06:58:45Z", + "upvotes": 6, "comment_count": 2, "resolved": false, - "labels": [], + "labels": [ + "feat-prompt-management" + ], "author": { - "login": "divyanshubhuta", - "html_url": "https://github.com/divyanshubhuta" + "login": "NIKsun", + "html_url": "https://github.com/NIKsun" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3182, - "title": "What does `version` means when ingesting trace?", - "href": "https://github.com/orgs/langfuse/discussions/3182", - "created_at": "2024-08-31T20:44:26Z", + "number": 2209, + "title": "Enhance data in daily metrics api endpoint", + "href": "https://github.com/orgs/langfuse/discussions/2209", + "created_at": "2024-06-02T14:38:15Z", "upvotes": 1, - "comment_count": 2, - "resolved": true, - "labels": [], + "comment_count": 1, + "resolved": false, + "labels": [ + "✅ Done", + "feat-api" + ], "author": { - "login": "STRRL", - "html_url": "https://github.com/STRRL" + "login": "matthiaslau", + "html_url": "https://github.com/matthiaslau" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3176, - "title": "Get all the generations, events, etc. under Trace", - "href": "https://github.com/orgs/langfuse/discussions/3176", - "created_at": "2024-08-31T02:10:28Z", - "upvotes": 1, - "comment_count": 1, - "resolved": true, - "labels": [], + "number": 2203, + "title": "Ability to add comments to versions of prompts (\"commit message\")", + "href": "https://github.com/orgs/langfuse/discussions/2203", + "created_at": "2024-06-01T13:13:27Z", + "upvotes": 4, + "comment_count": 4, + "resolved": false, + "labels": [ + "feat-prompt-management" + ], "author": { - "login": "bytecod3r", - "html_url": "https://github.com/bytecod3r" + "login": "ajram23", + "html_url": "https://github.com/ajram23" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3168, - "title": "usage pattern for new llamaindex integration", - "href": "https://github.com/orgs/langfuse/discussions/3168", - "created_at": "2024-08-30T20:23:17Z", - "upvotes": 1, - "comment_count": 2, - "resolved": true, + "number": 2195, + "title": "Timeline/graph visualization for traces", + "href": "https://github.com/orgs/langfuse/discussions/2195", + "created_at": "2024-05-31T08:18:11Z", + "upvotes": 7, + "comment_count": 4, + "resolved": false, "labels": [ - "integraton-llamaindex" + "✅ Done" ], "author": { - "login": "erik-squared", - "html_url": "https://github.com/erik-squared" + "login": "david1542", + "html_url": "https://github.com/david1542" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3132, - "title": "Tracing ChatGoogleGenerativeAI calls in langchain doesn't return usage metadata", - "href": "https://github.com/orgs/langfuse/discussions/3132", - "created_at": "2024-08-29T13:09:13Z", - "upvotes": 1, + "number": 2194, + "title": "Terraform Provider for internal Langfuse configuration", + "href": "https://github.com/orgs/langfuse/discussions/2194", + "created_at": "2024-05-31T06:23:11Z", + "upvotes": 2, "comment_count": 1, "resolved": false, "labels": [ - "integration-langchain" + "self-hosting" ], "author": { - "login": "NeerajG03", - "html_url": "https://github.com/NeerajG03" + "login": "mroedder-d7", + "html_url": "https://github.com/mroedder-d7" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3124, - "title": "Generation does not come under @observe trace", - "href": "https://github.com/orgs/langfuse/discussions/3124", - "created_at": "2024-08-29T00:28:14Z", + "number": 2184, + "title": "support query prompt via prompt id", + "href": "https://github.com/orgs/langfuse/discussions/2184", + "created_at": "2024-05-30T02:55:59Z", "upvotes": 1, - "comment_count": 2, - "resolved": true, + "comment_count": 1, + "resolved": false, "labels": [], "author": { - "login": "SatheeshJM", - "html_url": "https://github.com/SatheeshJM" + "login": "hu9029", + "html_url": "https://github.com/hu9029" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3120, - "title": "Langfuse 2.74.0 integration with Flowise 2.0.5", - "href": "https://github.com/orgs/langfuse/discussions/3120", - "created_at": "2024-08-28T20:18:19Z", + "number": 2181, + "title": "Support for SDK entry-point wrapper around async REST API client", + "href": "https://github.com/orgs/langfuse/discussions/2181", + "created_at": "2024-05-29T17:50:22Z", "upvotes": 1, - "comment_count": 2, + "comment_count": 0, "resolved": false, "labels": [], "author": { - "login": "harshad-c1", - "html_url": "https://github.com/harshad-c1" + "login": "blazing-gig", + "html_url": "https://github.com/blazing-gig" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3110, - "title": "How to set SMTP_CONNECTION_URL and reset password?", - "href": "https://github.com/orgs/langfuse/discussions/3110", - "created_at": "2024-08-28T10:05:06Z", - "upvotes": 1, - "comment_count": 2, - "resolved": true, - "labels": [], + "number": 2176, + "title": "Support querying Users (GET) to support analytics pipeline solutions", + "href": "https://github.com/orgs/langfuse/discussions/2176", + "created_at": "2024-05-29T02:42:13Z", + "upvotes": 2, + "comment_count": 1, + "resolved": false, + "labels": [ + "feat-users" + ], "author": { - "login": "zs856", - "html_url": "https://github.com/zs856" + "login": "Tjmstudios", + "html_url": "https://github.com/Tjmstudios" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3105, - "title": "Dockerfile of langfuse/langfuse:2 image", - "href": "https://github.com/orgs/langfuse/discussions/3105", - "created_at": "2024-08-28T00:13:57Z", - "upvotes": 1, + "number": 2161, + "title": "Prompt version only create when different", + "href": "https://github.com/orgs/langfuse/discussions/2161", + "created_at": "2024-05-27T23:47:21Z", + "upvotes": 4, "comment_count": 2, - "resolved": true, + "resolved": false, "labels": [ - "self-hosting" + "feat-prompt-management" ], "author": { - "login": "pparreira", - "html_url": "https://github.com/pparreira" + "login": "brightsparc", + "html_url": "https://github.com/brightsparc" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3100, - "title": "Time to first token is not populating in trace detail or generations view", - "href": "https://github.com/orgs/langfuse/discussions/3100", - "created_at": "2024-08-27T20:12:14Z", - "upvotes": 1, - "comment_count": 2, - "resolved": true, - "labels": [], + "number": 2140, + "title": "clickhouse support", + "href": "https://github.com/orgs/langfuse/discussions/2140", + "created_at": "2024-05-24T15:21:14Z", + "upvotes": 2, + "comment_count": 1, + "resolved": false, + "labels": [ + "work-in-progress", + "performance" + ], "author": { - "login": "databloom", - "html_url": "https://github.com/databloom" + "login": "newcworld", + "html_url": "https://github.com/newcworld" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3099, - "title": "Pulling prompts by tag?", - "href": "https://github.com/orgs/langfuse/discussions/3099", - "created_at": "2024-08-27T20:01:45Z", - "upvotes": 1, + "number": 2131, + "title": "Export to data warehouses (BigQuery etc)", + "href": "https://github.com/orgs/langfuse/discussions/2131", + "created_at": "2024-05-23T15:52:18Z", + "upvotes": 18, "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "mayajosifo", - "html_url": "https://github.com/mayajosifo" + "login": "rohan-mehta", + "html_url": "https://github.com/rohan-mehta" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3092, - "title": "Deployment into Azure", - "href": "https://github.com/orgs/langfuse/discussions/3092", - "created_at": "2024-08-27T10:05:32Z", - "upvotes": 1, - "comment_count": 2, - "resolved": true, + "number": 2124, + "title": "Proposal: Add Support for Uploading Dataset Items via UI", + "href": "https://github.com/orgs/langfuse/discussions/2124", + "created_at": "2024-05-22T10:58:04Z", + "upvotes": 5, + "comment_count": 1, + "resolved": false, "labels": [ - "self-hosting" + "feat-datasets" ], "author": { - "login": "GaryFail", - "html_url": "https://github.com/GaryFail" + "login": "vaddenz", + "html_url": "https://github.com/vaddenz" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3079, - "title": "How to change the Level to ERROR when there is an error in SPAN?", - "href": "https://github.com/orgs/langfuse/discussions/3079", - "created_at": "2024-08-26T15:46:23Z", - "upvotes": 3, - "comment_count": 2, - "resolved": true, - "labels": [ - "feat-log-levels" - ], - "author": { - "login": "kftam1994", - "html_url": "https://github.com/kftam1994" - }, - "category": "Support" - }, - { - "number": 3056, - "title": "Support for configuring SMTP email at project level", - "href": "https://github.com/orgs/langfuse/discussions/3056", - "created_at": "2024-08-23T14:41:45Z", + "number": 2119, + "title": "Phidata support", + "href": "https://github.com/orgs/langfuse/discussions/2119", + "created_at": "2024-05-21T14:20:09Z", "upvotes": 1, "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [ - "self-hosting" + "integrations" ], "author": { - "login": "rvndbalaji", - "html_url": "https://github.com/rvndbalaji" + "login": "michaelpoluektov", + "html_url": "https://github.com/michaelpoluektov" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3003, - "title": "Example GenAI bot with guardrails", - "href": "https://github.com/orgs/langfuse/discussions/3003", - "created_at": "2024-08-22T06:37:29Z", - "upvotes": 1, + "number": 2104, + "title": "Feature Request: Tracing Sampling Rate Configuration for Langfuse", + "href": "https://github.com/orgs/langfuse/discussions/2104", + "created_at": "2024-05-20T16:23:05Z", + "upvotes": 2, "comment_count": 1, "resolved": false, - "labels": [], - "author": { - "login": "wangxj03", - "html_url": "https://github.com/wangxj03" - }, - "category": "Support" - }, - { - "number": 2990, - "title": "[Question] using langfuse with llama_index", - "href": "https://github.com/orgs/langfuse/discussions/2990", - "created_at": "2024-08-21T08:00:59Z", - "upvotes": 1, - "comment_count": 2, - "resolved": true, "labels": [ - "integraton-llamaindex" + "✅ Done" ], "author": { - "login": "nightosong", - "html_url": "https://github.com/nightosong" + "login": "himansrivastava", + "html_url": "https://github.com/himansrivastava" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2988, - "title": "Non-langchain generation nested within LangGraph execution", - "href": "https://github.com/orgs/langfuse/discussions/2988", - "created_at": "2024-08-21T05:13:51Z", + "number": 2101, + "title": "feat: Adding AWS Cognito Authentication", + "href": "https://github.com/orgs/langfuse/discussions/2101", + "created_at": "2024-05-20T14:30:32Z", "upvotes": 1, "comment_count": 2, - "resolved": true, + "resolved": false, "labels": [ - "integration-langchain" + "✅ Done", + "feat-auth" ], "author": { - "login": "mrdrprofuroboros", - "html_url": "https://github.com/mrdrprofuroboros" + "login": "Shekswess", + "html_url": "https://github.com/Shekswess" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2983, - "title": "Tracing directly to queue instead of http api", - "href": "https://github.com/orgs/langfuse/discussions/2983", - "created_at": "2024-08-20T14:33:17Z", - "upvotes": 0, - "comment_count": 1, - "resolved": true, + "number": 2097, + "title": "Markdown Rendering Option", + "href": "https://github.com/orgs/langfuse/discussions/2097", + "created_at": "2024-05-18T16:58:37Z", + "upvotes": 4, + "comment_count": 4, + "resolved": false, "labels": [ - "self-hosting" + "✅ Done" ], "author": { - "login": "exotikh3", - "html_url": "https://github.com/exotikh3" + "login": "hburrichter", + "html_url": "https://github.com/hburrichter" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3901, - "title": "How to resolve memory leak when integrating Langfuse with LangChain", - "href": "https://github.com/orgs/langfuse/discussions/3901", - "created_at": "2024-08-20T03:14:45Z", + "number": 2081, + "title": "feat: inject langfuse info into langchain metadata", + "href": "https://github.com/orgs/langfuse/discussions/2081", + "created_at": "2024-05-16T20:43:41Z", "upvotes": 1, - "comment_count": 6, - "resolved": true, + "comment_count": 0, + "resolved": false, "labels": [ "integration-langchain" ], "author": { - "login": "ivan-94", - "html_url": "https://github.com/ivan-94" + "login": "benobytes", + "html_url": "https://github.com/benobytes" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2959, - "title": "Duplicate usage data in observation api endpoint response", - "href": "https://github.com/orgs/langfuse/discussions/2959", - "created_at": "2024-08-16T10:57:00Z", - "upvotes": 1, + "number": 2072, + "title": "Adding prompt tags via Python SDK (or other code based interactions)", + "href": "https://github.com/orgs/langfuse/discussions/2072", + "created_at": "2024-05-16T09:46:20Z", + "upvotes": 5, "comment_count": 2, - "resolved": true, + "resolved": false, "labels": [], "author": { - "login": "jonnyforsterMSG", - "html_url": "https://github.com/jonnyforsterMSG" + "login": "simon-hiel", + "html_url": "https://github.com/simon-hiel" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2958, - "title": "Time to first token query", - "href": "https://github.com/orgs/langfuse/discussions/2958", - "created_at": "2024-08-16T10:08:42Z", - "upvotes": 1, - "comment_count": 2, + "number": 2071, + "title": "Save playground conversation to a dataset", + "href": "https://github.com/orgs/langfuse/discussions/2071", + "created_at": "2024-05-16T09:24:29Z", + "upvotes": 3, + "comment_count": 0, "resolved": false, - "labels": [], + "labels": [ + "feat-datasets", + "feat-playground" + ], "author": { - "login": "GaryFail", - "html_url": "https://github.com/GaryFail" + "login": "bderenzi", + "html_url": "https://github.com/bderenzi" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2952, - "title": "Locally hosted PrivateGPT + pgpt_python + Langfuse", - "href": "https://github.com/orgs/langfuse/discussions/2952", - "created_at": "2024-08-15T15:12:16Z", - "upvotes": 1, + "number": 2065, + "title": "Support multiple prompts attached to a generation.", + "href": "https://github.com/orgs/langfuse/discussions/2065", + "created_at": "2024-05-15T22:16:35Z", + "upvotes": 3, "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "qdingle404", - "html_url": "https://github.com/qdingle404" + "login": "jansenderr", + "html_url": "https://github.com/jansenderr" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2945, - "title": "Unit of token count for cost analysis", - "href": "https://github.com/orgs/langfuse/discussions/2945", - "created_at": "2024-08-15T09:33:59Z", + "number": 2064, + "title": "Show explicit error when viewing a project that doesn't exist", + "href": "https://github.com/orgs/langfuse/discussions/2064", + "created_at": "2024-05-15T16:49:32Z", "upvotes": 1, - "comment_count": 1, - "resolved": true, + "comment_count": 0, + "resolved": false, "labels": [], "author": { - "login": "thomasjv799", - "html_url": "https://github.com/thomasjv799" + "login": "backmask", + "html_url": "https://github.com/backmask" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2933, - "title": "how to return trace_id in openai completion response when using langfuse as a proxy in litellm?", - "href": "https://github.com/orgs/langfuse/discussions/2933", - "created_at": "2024-08-14T07:52:30Z", - "upvotes": 1, - "comment_count": 2, - "resolved": true, + "number": 2045, + "title": "Requesting official support OpenAI's new gpt-4o model", + "href": "https://github.com/orgs/langfuse/discussions/2045", + "created_at": "2024-05-13T21:37:38Z", + "upvotes": 3, + "comment_count": 5, + "resolved": false, "labels": [ - "integration-litellm" + "integration-openai", + "✅ Done", + "feat-cost-tracking" ], "author": { - "login": "octadion", - "html_url": "https://github.com/octadion" + "login": "varenc", + "html_url": "https://github.com/varenc" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2927, - "title": "Span created with Langchain not showing up in traces.", - "href": "https://github.com/orgs/langfuse/discussions/2927", - "created_at": "2024-08-13T20:32:35Z", - "upvotes": 1, - "comment_count": 2, - "resolved": true, - "labels": [ - "integration-langchain" - ], + "number": 2043, + "title": "Support instrumentation through openllmetry", + "href": "https://github.com/orgs/langfuse/discussions/2043", + "created_at": "2024-05-13T19:27:59Z", + "upvotes": 8, + "comment_count": 1, + "resolved": false, + "labels": [], "author": { - "login": "HardKothari", - "html_url": "https://github.com/HardKothari" + "login": "baggiponte", + "html_url": "https://github.com/baggiponte" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2909, - "title": "Change port database in file docker-compose.yml", - "href": "https://github.com/orgs/langfuse/discussions/2909", - "created_at": "2024-08-13T08:05:37Z", - "upvotes": 1, - "comment_count": 2, - "resolved": true, - "labels": [ - "self-hosting" - ], - "author": { - "login": "hungvipqt15", - "html_url": "https://github.com/hungvipqt15" - }, - "category": "Support" + "number": 2039, + "title": "Introduce the concept of \"sub-prompt\" to improve prompt reusability", + "href": "https://github.com/orgs/langfuse/discussions/2039", + "created_at": "2024-05-13T10:14:44Z", + "upvotes": 3, + "comment_count": 1, + "resolved": false, + "labels": [], + "author": { + "login": "khaelys", + "html_url": "https://github.com/khaelys" + }, + "category": "Ideas" }, { - "number": 2907, - "title": "Change port connection in docker compose", - "href": "https://github.com/orgs/langfuse/discussions/2907", - "created_at": "2024-08-13T06:40:30Z", + "number": 2030, + "title": "Add number of 'successful request' to traces list view", + "href": "https://github.com/orgs/langfuse/discussions/2030", + "created_at": "2024-05-09T23:25:27Z", "upvotes": 1, "comment_count": 1, "resolved": false, - "labels": [ - "self-hosting" - ], + "labels": [], "author": { - "login": "hungvipqt15", - "html_url": "https://github.com/hungvipqt15" + "login": "arthurGrigo", + "html_url": "https://github.com/arthurGrigo" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2904, - "title": "How to append current trace when calling function second time?", - "href": "https://github.com/orgs/langfuse/discussions/2904", - "created_at": "2024-08-12T15:12:22Z", - "upvotes": 2, + "number": 2021, + "title": "Ask for a import/export on prompt management page", + "href": "https://github.com/orgs/langfuse/discussions/2021", + "created_at": "2024-05-09T03:17:50Z", + "upvotes": 1, "comment_count": 2, - "resolved": true, - "labels": [ - "integration-python-decorator" - ], + "resolved": false, + "labels": [], "author": { - "login": "nathan-vo810", - "html_url": "https://github.com/nathan-vo810" + "login": "ShaunDeng", + "html_url": "https://github.com/ShaunDeng" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2895, - "title": "How to update an event", - "href": "https://github.com/orgs/langfuse/discussions/2895", - "created_at": "2024-08-11T16:51:18Z", + "number": 2006, + "title": "Gitlab Auth Provider", + "href": "https://github.com/orgs/langfuse/discussions/2006", + "created_at": "2024-05-08T10:12:51Z", "upvotes": 1, "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [], "author": { - "login": "bytecod3r", - "html_url": "https://github.com/bytecod3r" + "login": "jsirex", + "html_url": "https://github.com/jsirex" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2888, - "title": "How to change the level of a trace?", - "href": "https://github.com/orgs/langfuse/discussions/2888", - "created_at": "2024-08-09T14:35:34Z", + "number": 1990, + "title": "Add batch actions to traces", + "href": "https://github.com/orgs/langfuse/discussions/1990", + "created_at": "2024-05-07T09:37:42Z", "upvotes": 3, - "comment_count": 2, - "resolved": true, + "comment_count": 0, + "resolved": false, + "labels": [], + "author": { + "login": "nimbusaeta", + "html_url": "https://github.com/nimbusaeta" + }, + "category": "Ideas" + }, + { + "number": 1988, + "title": "Upload datasets via UI", + "href": "https://github.com/orgs/langfuse/discussions/1988", + "created_at": "2024-05-06T20:25:20Z", + "upvotes": 9, + "comment_count": 1, + "resolved": false, "labels": [ - "feat-log-levels" + "feat-datasets" ], "author": { - "login": "ldbolanos", - "html_url": "https://github.com/ldbolanos" + "login": "assafweinberg", + "html_url": "https://github.com/assafweinberg" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2879, - "title": "ERROR:langfuse:status_code: 404, body: {'message': 'Trace not found within authorized project', 'error': 'LangfuseNotFoundError'}", - "href": "https://github.com/orgs/langfuse/discussions/2879", - "created_at": "2024-08-09T09:31:33Z", - "upvotes": 1, - "comment_count": 3, + "number": 1987, + "title": "API/UI to delete dataset items and runs", + "href": "https://github.com/orgs/langfuse/discussions/1987", + "created_at": "2024-05-06T17:13:16Z", + "upvotes": 24, + "comment_count": 2, "resolved": false, - "labels": [], + "labels": [ + "feat-datasets" + ], "author": { - "login": "nithin1995", - "html_url": "https://github.com/nithin1995" + "login": "tomek82", + "html_url": "https://github.com/tomek82" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2874, - "title": "Does langfuse trace parallel api calls? I tried a sample with parallel call but it didn't traced.", - "href": "https://github.com/orgs/langfuse/discussions/2874", - "created_at": "2024-08-09T05:09:26Z", + "number": 1963, + "title": "Is it possible integrate Langfuse with Microsoft Copilot Studio?", + "href": "https://github.com/orgs/langfuse/discussions/1963", + "created_at": "2024-05-03T03:33:22Z", "upvotes": 1, - "comment_count": 4, + "comment_count": 0, "resolved": false, "labels": [], "author": { - "login": "ksundarraj-c-rpx", - "html_url": "https://github.com/ksundarraj-c-rpx" + "login": "aiakubovich", + "html_url": "https://github.com/aiakubovich" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2871, - "title": "Self-hosted Langfuse running as a Google cloud service not showing traces", - "href": "https://github.com/orgs/langfuse/discussions/2871", - "created_at": "2024-08-08T13:40:34Z", - "upvotes": 1, - "comment_count": 2, - "resolved": true, + "number": 2055, + "title": "Openai: Support IO capture when streaming function / tool call", + "href": "https://github.com/orgs/langfuse/discussions/2055", + "created_at": "2024-05-01T15:25:15Z", + "upvotes": 16, + "comment_count": 7, + "resolved": false, "labels": [ - "🐞❔ unconfirmed bug" + "sdk-python", + "integration-openai", + "✅ Done" ], "author": { - "login": "SectumPsempra", - "html_url": "https://github.com/SectumPsempra" + "login": "DanrForetellix", + "html_url": "https://github.com/DanrForetellix" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2867, - "title": "Using the API to record traces from multiple platforms?", - "href": "https://github.com/orgs/langfuse/discussions/2867", - "created_at": "2024-08-08T13:15:49Z", + "number": 1941, + "title": "Looking into allowing more customization of the table", + "href": "https://github.com/orgs/langfuse/discussions/1941", + "created_at": "2024-05-01T14:47:32Z", "upvotes": 1, "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "appliraz", - "html_url": "https://github.com/appliraz" + "login": "Mohamed-Ayaan358", + "html_url": "https://github.com/Mohamed-Ayaan358" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2858, - "title": "Langfuse observeOpenAI not logging generations using new zodResponseFormat.", - "href": "https://github.com/orgs/langfuse/discussions/2858", - "created_at": "2024-08-07T21:45:41Z", - "upvotes": 1, - "comment_count": 3, - "resolved": true, - "labels": [], + "number": 1916, + "title": "Langchain integration Improvements", + "href": "https://github.com/orgs/langfuse/discussions/1916", + "created_at": "2024-04-30T13:23:19Z", + "upvotes": 2, + "comment_count": 2, + "resolved": false, + "labels": [ + "integration-langchain", + "✅ Done" + ], "author": { - "login": "fabstu", - "html_url": "https://github.com/fabstu" + "login": "ajram23", + "html_url": "https://github.com/ajram23" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2852, - "title": "How run Langfuse evaluations over specifics spans?", - "href": "https://github.com/orgs/langfuse/discussions/2852", - "created_at": "2024-08-07T13:40:02Z", + "number": 1904, + "title": "Retrieve prompts based on versioning rather than times for caching", + "href": "https://github.com/orgs/langfuse/discussions/1904", + "created_at": "2024-04-29T14:04:27Z", "upvotes": 1, "comment_count": 2, - "resolved": true, + "resolved": false, "labels": [ - "integration-langchain", - "feat-evals" + "feat-prompt-management" ], "author": { - "login": "joaoCrulhas", - "html_url": "https://github.com/joaoCrulhas" + "login": "ajram23", + "html_url": "https://github.com/ajram23" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2844, - "title": "LangFuse not logging LlamaIndex events", - "href": "https://github.com/orgs/langfuse/discussions/2844", - "created_at": "2024-08-07T10:46:19Z", - "upvotes": 2, - "comment_count": 3, + "number": 1896, + "title": "Delete Session", + "href": "https://github.com/orgs/langfuse/discussions/1896", + "created_at": "2024-04-29T08:01:05Z", + "upvotes": 15, + "comment_count": 0, "resolved": false, "labels": [ - "integraton-llamaindex" + "feat-sessions" ], "author": { - "login": "adieyal", - "html_url": "https://github.com/adieyal" + "login": "rohan-gt", + "html_url": "https://github.com/rohan-gt" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2830, - "title": "UpdateRoot in the callback handler seems not work", - "href": "https://github.com/orgs/langfuse/discussions/2830", - "created_at": "2024-08-06T08:58:25Z", - "upvotes": 1, - "comment_count": 1, - "resolved": true, - "labels": [], - "author": { - "login": "joaoCrulhas", - "html_url": "https://github.com/joaoCrulhas" - }, - "category": "Support" - }, - { - "number": 2828, - "title": "Issue: Integration of Langfuse with DSPy Framework - Zero Values for Cost and Token Usage", - "href": "https://github.com/orgs/langfuse/discussions/2828", - "created_at": "2024-08-06T05:55:30Z", - "upvotes": 1, + "number": 1895, + "title": "linking prompts with tracing in langchain integration", + "href": "https://github.com/orgs/langfuse/discussions/1895", + "created_at": "2024-04-28T13:13:08Z", + "upvotes": 10, "comment_count": 3, - "resolved": true, + "resolved": false, "labels": [ - "integration-dspy" + "feat-prompt-management", + "integration-langchain", + "✅ Done" ], "author": { - "login": "mahitha-29", - "html_url": "https://github.com/mahitha-29" + "login": "SatheeshJM", + "html_url": "https://github.com/SatheeshJM" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2817, - "title": "Praise for the Langfuse library! 🚀", - "href": "https://github.com/orgs/langfuse/discussions/2817", - "created_at": "2024-08-03T10:53:41Z", - "upvotes": 2, + "number": 1867, + "title": "Add integration with evaluation frameworks", + "href": "https://github.com/orgs/langfuse/discussions/1867", + "created_at": "2024-04-25T23:09:03Z", + "upvotes": 1, "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [], "author": { - "login": "ttamg", - "html_url": "https://github.com/ttamg" + "login": "johnnydevriese", + "html_url": "https://github.com/johnnydevriese" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2809, - "title": "No space left on device db error", - "href": "https://github.com/orgs/langfuse/discussions/2809", - "created_at": "2024-08-01T15:10:52Z", + "number": 1862, + "title": "Support Linking Execution Trace to DatasetItem without Fetching Entire Dataset", + "href": "https://github.com/orgs/langfuse/discussions/1862", + "created_at": "2024-04-25T18:57:08Z", "upvotes": 1, - "comment_count": 2, - "resolved": true, + "comment_count": 1, + "resolved": false, "labels": [ - "self-hosting" + "feat-datasets" ], "author": { - "login": "nithin1995", - "html_url": "https://github.com/nithin1995" + "login": "sfarthin", + "html_url": "https://github.com/sfarthin" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2808, - "title": "Dynamic prompt generation", - "href": "https://github.com/orgs/langfuse/discussions/2808", - "created_at": "2024-08-01T14:41:48Z", + "number": 1858, + "title": "Platform User roles to allow or disable project creation", + "href": "https://github.com/orgs/langfuse/discussions/1858", + "created_at": "2024-04-25T16:00:12Z", "upvotes": 1, "comment_count": 2, - "resolved": true, + "resolved": false, "labels": [ - "feat-prompt-management" + "✅ Done", + "feat-rbac" ], "author": { - "login": "LLazzar", - "html_url": "https://github.com/LLazzar" + "login": "JMcGenn", + "html_url": "https://github.com/JMcGenn" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2801, - "title": "Unable to update generation span after LLM invocation", - "href": "https://github.com/orgs/langfuse/discussions/2801", - "created_at": "2024-08-01T03:23:15Z", - "upvotes": 1, - "comment_count": 2, - "resolved": true, + "number": 1851, + "title": "[oauth] Keycloak provider support", + "href": "https://github.com/orgs/langfuse/discussions/1851", + "created_at": "2024-04-25T12:39:26Z", + "upvotes": 7, + "comment_count": 1, + "resolved": false, "labels": [ - "integration-langchain" + "self-hosting" ], "author": { - "login": "Heucles", - "html_url": "https://github.com/Heucles" + "login": "9teen90nine", + "html_url": "https://github.com/9teen90nine" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2787, - "title": "Self-hosted (Railway) Authorization error (401) while connecting to host", - "href": "https://github.com/orgs/langfuse/discussions/2787", - "created_at": "2024-07-30T19:23:59Z", + "number": 1843, + "title": "Support GigaChat model from LangChain", + "href": "https://github.com/orgs/langfuse/discussions/1843", + "created_at": "2024-04-25T09:24:07Z", "upvotes": 1, - "comment_count": 3, + "comment_count": 0, "resolved": false, - "labels": [], + "labels": [ + "integration-langchain" + ], "author": { - "login": "vishnumallela", - "html_url": "https://github.com/vishnumallela" + "login": "Rai220", + "html_url": "https://github.com/Rai220" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2769, - "title": "Continue trace on Celery worker with observe decorator", - "href": "https://github.com/orgs/langfuse/discussions/2769", - "created_at": "2024-07-27T18:23:13Z", + "number": 1830, + "title": "Decorator should also be able to return JSON or Dictionary object", + "href": "https://github.com/orgs/langfuse/discussions/1830", + "created_at": "2024-04-24T09:41:39Z", "upvotes": 1, "comment_count": 2, - "resolved": true, - "labels": [ - "integration-python-decorator" - ], + "resolved": false, + "labels": [], "author": { - "login": "artefactop", - "html_url": "https://github.com/artefactop" + "login": "nathan-vo810", + "html_url": "https://github.com/nathan-vo810" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2768, - "title": "How do i register the token count and cost for observe decorator", - "href": "https://github.com/orgs/langfuse/discussions/2768", - "created_at": "2024-07-27T14:47:58Z", + "number": 1826, + "title": "Having a session_with_user client", + "href": "https://github.com/orgs/langfuse/discussions/1826", + "created_at": "2024-04-24T08:31:05Z", "upvotes": 1, - "comment_count": 2, - "resolved": true, - "labels": [ - "integration-python-decorator", - "feat-cost-tracking" - ], + "comment_count": 0, + "resolved": false, + "labels": [], "author": { - "login": "yevkim", - "html_url": "https://github.com/yevkim" + "login": "rtzy7", + "html_url": "https://github.com/rtzy7" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2767, - "title": "Missing evaluation metrics", - "href": "https://github.com/orgs/langfuse/discussions/2767", - "created_at": "2024-07-27T05:07:56Z", + "number": 1823, + "title": "Change `/api/chatCompletion` to be a standard OpenAI proxy on `/api/v1/chat/completions`?", + "href": "https://github.com/orgs/langfuse/discussions/1823", + "created_at": "2024-04-23T19:48:34Z", "upvotes": 1, - "comment_count": 2, - "resolved": true, + "comment_count": 1, + "resolved": false, "labels": [], "author": { - "login": "MayankBitcot", - "html_url": "https://github.com/MayankBitcot" + "login": "Manouchehri", + "html_url": "https://github.com/Manouchehri" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2736, - "title": "Ability to upload Cost and Usage metrics in Langfuse for Gemini Models from LlamaIndex", - "href": "https://github.com/orgs/langfuse/discussions/2736", - "created_at": "2024-07-25T06:17:14Z", - "upvotes": 2, - "comment_count": 1, + "number": 1820, + "title": "Auth using Microsoft Entra ID", + "href": "https://github.com/orgs/langfuse/discussions/1820", + "created_at": "2024-04-23T18:32:42Z", + "upvotes": 1, + "comment_count": 2, "resolved": false, "labels": [ - "integraton-llamaindex", - "feat-cost-tracking" + "✅ Done", + "self-hosting" ], "author": { - "login": "ansu86d", - "html_url": "https://github.com/ansu86d" + "login": "Stadly", + "html_url": "https://github.com/Stadly" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2735, - "title": "Deployment on K8s", - "href": "https://github.com/orgs/langfuse/discussions/2735", - "created_at": "2024-07-25T04:38:19Z", - "upvotes": 1, + "number": 1816, + "title": "Add a metrics endpoint for Prometheus", + "href": "https://github.com/orgs/langfuse/discussions/1816", + "created_at": "2024-04-23T14:33:38Z", + "upvotes": 5, "comment_count": 2, - "resolved": true, + "resolved": false, "labels": [], "author": { - "login": "nithin1995", - "html_url": "https://github.com/nithin1995" + "login": "nolwennz", + "html_url": "https://github.com/nolwennz" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2718, - "title": "How to ignore inputs when using LangChain?", - "href": "https://github.com/orgs/langfuse/discussions/2718", - "created_at": "2024-07-23T10:58:07Z", - "upvotes": 2, - "comment_count": 3, + "number": 1813, + "title": "Provide an integration with Matomo Analytics so as for Posthog", + "href": "https://github.com/orgs/langfuse/discussions/1813", + "created_at": "2024-04-23T12:24:41Z", + "upvotes": 12, + "comment_count": 4, "resolved": false, "labels": [ - "integration-langchain" + "integrations" ], "author": { - "login": "justingodden", - "html_url": "https://github.com/justingodden" + "login": "Chardonneaur", + "html_url": "https://github.com/Chardonneaur" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2716, - "title": "Langgraph with langfuse", - "href": "https://github.com/orgs/langfuse/discussions/2716", - "created_at": "2024-07-23T09:12:20Z", - "upvotes": 1, - "comment_count": 4, - "resolved": true, - "labels": [ - "integration-langchain" - ], - "author": { - "login": "MayankBitcot", - "html_url": "https://github.com/MayankBitcot" - }, - "category": "Support" - }, - { - "number": 2714, - "title": "Using langfuse without saving promps", - "href": "https://github.com/orgs/langfuse/discussions/2714", - "created_at": "2024-07-23T08:44:44Z", - "upvotes": 1, + "number": 1800, + "title": "Add command r/command r plus via Azure Marketplace", + "href": "https://github.com/orgs/langfuse/discussions/1800", + "created_at": "2024-04-22T16:11:38Z", + "upvotes": 2, "comment_count": 2, - "resolved": true, - "labels": [], + "resolved": false, + "labels": [ + "bug", + "integration-langchain" + ], "author": { - "login": "molntamas", - "html_url": "https://github.com/molntamas" + "login": "jayfk", + "html_url": "https://github.com/jayfk" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2712, - "title": "cannot execute INSERT in a read-only transaction", - "href": "https://github.com/orgs/langfuse/discussions/2712", - "created_at": "2024-07-23T07:49:30Z", + "number": 1794, + "title": "User-level dashboard", + "href": "https://github.com/orgs/langfuse/discussions/1794", + "created_at": "2024-04-22T01:56:15Z", "upvotes": 1, - "comment_count": 2, + "comment_count": 1, "resolved": false, "labels": [ - "self-hosting" + "feat-users" ], "author": { - "login": "damianradowiecki", - "html_url": "https://github.com/damianradowiecki" + "login": "secsilm", + "html_url": "https://github.com/secsilm" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2706, - "title": "Disable tracing of input and output for nested elements with in a chain.", - "href": "https://github.com/orgs/langfuse/discussions/2706", - "created_at": "2024-07-22T16:17:53Z", + "number": 1793, + "title": "Request chart of min/avg/max input/output tokens", + "href": "https://github.com/orgs/langfuse/discussions/1793", + "created_at": "2024-04-21T13:33:39Z", "upvotes": 2, "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "jaitd", - "html_url": "https://github.com/jaitd" + "login": "secsilm", + "html_url": "https://github.com/secsilm" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2705, - "title": "Support for adding traces/observations/sessions/events/spans/generations related logging to LF via API", - "href": "https://github.com/orgs/langfuse/discussions/2705", - "created_at": "2024-07-22T12:57:05Z", + "number": 1783, + "title": "Limit new user registration", + "href": "https://github.com/orgs/langfuse/discussions/1783", + "created_at": "2024-04-19T09:34:55Z", "upvotes": 1, "comment_count": 1, - "resolved": true, - "labels": [], + "resolved": false, + "labels": [ + "self-hosting" + ], "author": { - "login": "ashutoshsaboo", - "html_url": "https://github.com/ashutoshsaboo" + "login": "secsilm", + "html_url": "https://github.com/secsilm" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2671, - "title": "Cannot connect prompt to trace when using Langchain AzureChatOpenai", - "href": "https://github.com/orgs/langfuse/discussions/2671", - "created_at": "2024-07-18T13:30:14Z", + "number": 1781, + "title": "feature for python client:get traces by score", + "href": "https://github.com/orgs/langfuse/discussions/1781", + "created_at": "2024-04-19T09:12:48Z", "upvotes": 1, - "comment_count": 2, + "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "nihadazimli", - "html_url": "https://github.com/nihadazimli" + "login": "StarsSparkle", + "html_url": "https://github.com/StarsSparkle" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2658, - "title": "how to customize trace id when using callback handler in langchain integration", - "href": "https://github.com/orgs/langfuse/discussions/2658", - "created_at": "2024-07-17T13:38:18Z", - "upvotes": 3, - "comment_count": 2, - "resolved": true, + "number": 1780, + "title": "Log for Function Calling", + "href": "https://github.com/orgs/langfuse/discussions/1780", + "created_at": "2024-04-19T06:40:55Z", + "upvotes": 6, + "comment_count": 1, + "resolved": false, "labels": [ - "integration-langchain" + "integration-openai" ], "author": { - "login": "shawnzhu", - "html_url": "https://github.com/shawnzhu" + "login": "jaindees", + "html_url": "https://github.com/jaindees" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2640, - "title": "Adding Scores to langfuse with dify", - "href": "https://github.com/orgs/langfuse/discussions/2640", - "created_at": "2024-07-16T16:00:11Z", - "upvotes": 2, - "comment_count": 1, - "resolved": true, + "number": 1776, + "title": "SSO: Cognito", + "href": "https://github.com/orgs/langfuse/discussions/1776", + "created_at": "2024-04-18T20:40:43Z", + "upvotes": 1, + "comment_count": 2, + "resolved": false, "labels": [ - "integration-dify" + "✅ Done", + "self-hosting" ], "author": { - "login": "shaquelsamir", - "html_url": "https://github.com/shaquelsamir" + "login": "theluk", + "html_url": "https://github.com/theluk" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2619, - "title": "How to add a function to current trace instead of seperate since it's outside lcel chain?", - "href": "https://github.com/orgs/langfuse/discussions/2619", - "created_at": "2024-07-12T07:08:47Z", + "number": 1774, + "title": "PromptClient: Support mustache type export to langchain", + "href": "https://github.com/orgs/langfuse/discussions/1774", + "created_at": "2024-04-18T18:52:40Z", "upvotes": 1, "comment_count": 1, - "resolved": true, - "labels": [ - "integration-langchain" - ], + "resolved": false, + "labels": [], "author": { - "login": "sarim2000", - "html_url": "https://github.com/sarim2000" + "login": "maxjacu", + "html_url": "https://github.com/maxjacu" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2616, - "title": "Weird Output for scores when using fetch_traces()", - "href": "https://github.com/orgs/langfuse/discussions/2616", - "created_at": "2024-07-11T12:46:23Z", + "number": 1770, + "title": "New REST API endpoint to get all prompts", + "href": "https://github.com/orgs/langfuse/discussions/1770", + "created_at": "2024-04-18T02:40:14Z", "upvotes": 1, "comment_count": 2, "resolved": false, "labels": [], "author": { - "login": "kevinpkaria", - "html_url": "https://github.com/kevinpkaria" + "login": "zoltan-fedor", + "html_url": "https://github.com/zoltan-fedor" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2600, - "title": "Add input Price and Output price for gemini-1.5-pro and gemini-1.5-flash in Models", - "href": "https://github.com/orgs/langfuse/discussions/2600", - "created_at": "2024-07-10T09:52:23Z", - "upvotes": 4, + "number": 1769, + "title": "Request chart of the generation speed of tokens (tokens/s)", + "href": "https://github.com/orgs/langfuse/discussions/1769", + "created_at": "2024-04-18T02:14:37Z", + "upvotes": 1, "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "fjeanchar", - "html_url": "https://github.com/fjeanchar" + "login": "secsilm", + "html_url": "https://github.com/secsilm" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2599, - "title": "Overall projects dashboard?", - "href": "https://github.com/orgs/langfuse/discussions/2599", - "created_at": "2024-07-10T09:09:02Z", - "upvotes": 1, - "comment_count": 1, - "resolved": true, + "number": 1760, + "title": "annotation of traces in langfuse console?", + "href": "https://github.com/orgs/langfuse/discussions/1760", + "created_at": "2024-04-17T17:51:47Z", + "upvotes": 3, + "comment_count": 2, + "resolved": false, "labels": [ - "feat-dashboard" + "✅ Done", + "feat-annotation" ], "author": { - "login": "justingodden", - "html_url": "https://github.com/justingodden" + "login": "erik-squared", + "html_url": "https://github.com/erik-squared" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2597, - "title": "[Errno 111] Connection refused when connecting to langfuse within docker compose", - "href": "https://github.com/orgs/langfuse/discussions/2597", - "created_at": "2024-07-10T09:00:34Z", - "upvotes": 1, - "comment_count": 1, - "resolved": true, + "number": 1755, + "title": "feat: Prompt API Search (by tags)", + "href": "https://github.com/orgs/langfuse/discussions/1755", + "created_at": "2024-04-17T09:37:50Z", + "upvotes": 2, + "comment_count": 2, + "resolved": false, "labels": [ - "self-hosting" + "✅ Done" ], "author": { - "login": "bspetrov", - "html_url": "https://github.com/bspetrov" + "login": "bryan-agicap", + "html_url": "https://github.com/bryan-agicap" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2595, - "title": "Migrate a local deployment of langfuse from one computer to another", - "href": "https://github.com/orgs/langfuse/discussions/2595", - "created_at": "2024-07-10T07:46:04Z", - "upvotes": 1, + "number": 1744, + "title": "Is it possible to support Dify?", + "href": "https://github.com/orgs/langfuse/discussions/1744", + "created_at": "2024-04-16T20:55:11Z", + "upvotes": 2, "comment_count": 2, - "resolved": true, + "resolved": false, "labels": [ - "self-hosting" + "integrations", + "✅ Done", + "integration-dify" ], "author": { - "login": "nithin1995", - "html_url": "https://github.com/nithin1995" - }, - "category": "Support" + "login": "jtsang4", + "html_url": "https://github.com/jtsang4" + }, + "category": "Ideas" }, { - "number": 2590, - "title": "Experiments running but inputs and outputs of LLM are not linked to dashboard", - "href": "https://github.com/orgs/langfuse/discussions/2590", - "created_at": "2024-07-09T18:29:22Z", + "number": 1716, + "title": "feat: Add `TRACE_EVENTS` flag", + "href": "https://github.com/orgs/langfuse/discussions/1716", + "created_at": "2024-04-15T12:29:30Z", "upvotes": 1, - "comment_count": 1, + "comment_count": 2, "resolved": false, - "labels": [], + "labels": [ + "✅ Done" + ], "author": { - "login": "IbrahimAhmed03", - "html_url": "https://github.com/IbrahimAhmed03" + "login": "JorisAndrade", + "html_url": "https://github.com/JorisAndrade" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2574, - "title": "how to embed langfuse dashboard in other tool", - "href": "https://github.com/orgs/langfuse/discussions/2574", - "created_at": "2024-07-08T21:24:13Z", + "number": 1715, + "title": "Add support for ZITADEL OIDC", + "href": "https://github.com/orgs/langfuse/discussions/1715", + "created_at": "2024-04-15T12:27:54Z", "upvotes": 1, "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [ - "feat-dashboard" + "self-hosting" ], "author": { - "login": "deepakdeore2004", - "html_url": "https://github.com/deepakdeore2004" + "login": "bitfactory-sem-denbroeder", + "html_url": "https://github.com/bitfactory-sem-denbroeder" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2567, - "title": "How to use prompt management with openai JS?", - "href": "https://github.com/orgs/langfuse/discussions/2567", - "created_at": "2024-07-08T08:22:49Z", - "upvotes": 1, - "comment_count": 2, + "number": 1711, + "title": "Webhook to trigger CI/CD pipeline when new prompt version is created", + "href": "https://github.com/orgs/langfuse/discussions/1711", + "created_at": "2024-04-14T13:46:30Z", + "upvotes": 5, + "comment_count": 1, "resolved": false, "labels": [ - "feat-prompt-management" + "feat-prompt-management", + "feat-api" ], "author": { - "login": "oscarmorrison", - "html_url": "https://github.com/oscarmorrison" + "login": "tamdoEH", + "html_url": "https://github.com/tamdoEH" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2564, - "title": "Update metadata when using OpenAI JS Integration", - "href": "https://github.com/orgs/langfuse/discussions/2564", - "created_at": "2024-07-08T07:37:38Z", - "upvotes": 1, + "number": 1710, + "title": "Review feature for prompt deployment", + "href": "https://github.com/orgs/langfuse/discussions/1710", + "created_at": "2024-04-14T13:39:50Z", + "upvotes": 3, "comment_count": 3, "resolved": false, - "labels": [], + "labels": [ + "feat-prompt-management" + ], "author": { - "login": "oscarmorrison", - "html_url": "https://github.com/oscarmorrison" + "login": "tamdoEH", + "html_url": "https://github.com/tamdoEH" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2527, - "title": "Can't set trace params e.g session_id when using with llhama_index", - "href": "https://github.com/orgs/langfuse/discussions/2527", - "created_at": "2024-07-02T20:41:53Z", - "upvotes": 2, + "number": 1707, + "title": "API for custom model <> token usage pricing", + "href": "https://github.com/orgs/langfuse/discussions/1707", + "created_at": "2024-04-13T22:37:38Z", + "upvotes": 3, "comment_count": 2, "resolved": false, "labels": [ - "integraton-llamaindex" + "✅ Done", + "feat-api" ], "author": { - "login": "famoraes", - "html_url": "https://github.com/famoraes" + "login": "rydamckinney", + "html_url": "https://github.com/rydamckinney" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2498, - "title": "Method to update prompt template for Langserve use case", - "href": "https://github.com/orgs/langfuse/discussions/2498", - "created_at": "2024-07-01T11:20:08Z", - "upvotes": 2, - "comment_count": 1, - "resolved": true, + "number": 1696, + "title": "Export & import for prompts, copy between projects", + "href": "https://github.com/orgs/langfuse/discussions/1696", + "created_at": "2024-04-12T20:28:47Z", + "upvotes": 16, + "comment_count": 7, + "resolved": false, "labels": [ - "integration-langchain" + "feat-prompt-management" ], "author": { - "login": "quadcube", - "html_url": "https://github.com/quadcube" + "login": "zoltan-fedor", + "html_url": "https://github.com/zoltan-fedor" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2486, - "title": "Cost of embedding in langfuse", - "href": "https://github.com/orgs/langfuse/discussions/2486", - "created_at": "2024-06-29T07:50:06Z", - "upvotes": 1, + "number": 1692, + "title": "Read-only prompt keys?", + "href": "https://github.com/orgs/langfuse/discussions/1692", + "created_at": "2024-04-12T00:57:44Z", + "upvotes": 2, "comment_count": 2, - "resolved": true, + "resolved": false, "labels": [], "author": { - "login": "Amitt1412", - "html_url": "https://github.com/Amitt1412" + "login": "Manouchehri", + "html_url": "https://github.com/Manouchehri" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2481, - "title": "Getting all traces logged in a timerange for custom scoring", - "href": "https://github.com/orgs/langfuse/discussions/2481", - "created_at": "2024-06-28T12:09:14Z", + "number": 1671, + "title": "Ability to run langfuse in tests automatically without manual involvement", + "href": "https://github.com/orgs/langfuse/discussions/1671", + "created_at": "2024-04-11T05:29:44Z", "upvotes": 1, - "comment_count": 1, - "resolved": true, + "comment_count": 2, + "resolved": false, "labels": [ - "feat-scores" + "✅ Done", + "self-hosting" ], "author": { - "login": "sanandnarayan", - "html_url": "https://github.com/sanandnarayan" + "login": "SinghCoder", + "html_url": "https://github.com/SinghCoder" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2479, - "title": "Cost of embedding", - "href": "https://github.com/orgs/langfuse/discussions/2479", - "created_at": "2024-06-28T06:58:16Z", - "upvotes": 1, - "comment_count": 3, - "resolved": true, + "number": 1664, + "title": "\"Task\" and \"Bot\" core abstractions", + "href": "https://github.com/orgs/langfuse/discussions/1664", + "created_at": "2024-04-10T20:24:53Z", + "upvotes": 2, + "comment_count": 1, + "resolved": false, "labels": [], "author": { - "login": "Amitt1412", - "html_url": "https://github.com/Amitt1412" + "login": "sfarthin", + "html_url": "https://github.com/sfarthin" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2455, - "title": "Getting issue with local setup", - "href": "https://github.com/orgs/langfuse/discussions/2455", - "created_at": "2024-06-27T10:23:02Z", - "upvotes": 1, - "comment_count": 1, - "resolved": true, + "number": 1660, + "title": "Prompt Composability", + "href": "https://github.com/orgs/langfuse/discussions/1660", + "created_at": "2024-04-10T15:25:05Z", + "upvotes": 10, + "comment_count": 5, + "resolved": false, "labels": [ - "self-hosting" + "feat-prompt-management" ], "author": { - "login": "kiranraut7709", - "html_url": "https://github.com/kiranraut7709" + "login": "meissnereric", + "html_url": "https://github.com/meissnereric" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2447, - "title": "Access observation id in langchain runnable", - "href": "https://github.com/orgs/langfuse/discussions/2447", - "created_at": "2024-06-26T21:03:07Z", - "upvotes": 4, + "number": 1633, + "title": "feat: Function Calling Under OpenAI Format", + "href": "https://github.com/orgs/langfuse/discussions/1633", + "created_at": "2024-04-09T08:49:58Z", + "upvotes": 2, "comment_count": 1, "resolved": false, "labels": [ - "integration-langchain" + "feat-playground" ], "author": { - "login": "snikch", - "html_url": "https://github.com/snikch" + "login": "anhphong22", + "html_url": "https://github.com/anhphong22" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2431, - "title": "Trying to work with llama3 in Azure using AzureMLChatOnlineEndpoint but no cost showing up", - "href": "https://github.com/orgs/langfuse/discussions/2431", - "created_at": "2024-06-25T21:20:25Z", + "number": 1630, + "title": "Groq - Mixtral", + "href": "https://github.com/orgs/langfuse/discussions/1630", + "created_at": "2024-04-09T05:11:12Z", "upvotes": 1, - "comment_count": 2, + "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "spacepirate0001", - "html_url": "https://github.com/spacepirate0001" + "login": "mike4lyf", + "html_url": "https://github.com/mike4lyf" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2416, - "title": "some tests failed for langfuse-js", - "href": "https://github.com/orgs/langfuse/discussions/2416", - "created_at": "2024-06-25T04:31:35Z", - "upvotes": 1, - "comment_count": 3, + "number": 1627, + "title": "VertexAI support", + "href": "https://github.com/orgs/langfuse/discussions/1627", + "created_at": "2024-04-08T22:43:38Z", + "upvotes": 3, + "comment_count": 1, "resolved": false, - "labels": [], + "labels": [ + "integration-langchain" + ], "author": { - "login": "4t8dd", - "html_url": "https://github.com/4t8dd" + "login": "eles13", + "html_url": "https://github.com/eles13" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2415, - "title": "AUTH AZURE AD returns AADSTS9002325: Proof Key for Code Exchange is required for cross-origin authorization code redemption.", - "href": "https://github.com/orgs/langfuse/discussions/2415", - "created_at": "2024-06-24T18:00:45Z", + "number": 1613, + "title": "[Feature] Add a score value filter", + "href": "https://github.com/orgs/langfuse/discussions/1613", + "created_at": "2024-04-08T07:58:58Z", "upvotes": 1, - "comment_count": 1, - "resolved": true, + "comment_count": 0, + "resolved": false, "labels": [], "author": { - "login": "spacepirate0001", - "html_url": "https://github.com/spacepirate0001" + "login": "Hacky-DH", + "html_url": "https://github.com/Hacky-DH" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2401, - "title": "Trying to understand why in Langfuse Trace under Stream Completion I get this output:", - "href": "https://github.com/orgs/langfuse/discussions/2401", - "created_at": "2024-06-21T12:22:38Z", + "number": 1612, + "title": "DSPY integration", + "href": "https://github.com/orgs/langfuse/discussions/1612", + "created_at": "2024-04-07T18:54:32Z", "upvotes": 1, "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "howtodoml", - "html_url": "https://github.com/howtodoml" + "login": "wdhitchc", + "html_url": "https://github.com/wdhitchc" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2385, - "title": "Modify trace after getting response from OpenAI", - "href": "https://github.com/orgs/langfuse/discussions/2385", - "created_at": "2024-06-20T18:00:09Z", + "number": 1566, + "title": "LangchainCallbackHandler httpx_client not accessible", + "href": "https://github.com/orgs/langfuse/discussions/1566", + "created_at": "2024-04-03T09:18:12Z", "upvotes": 2, - "comment_count": 3, + "comment_count": 1, "resolved": false, - "labels": [], + "labels": [ + "integration-langchain" + ], "author": { - "login": "tylerlittlefield", - "html_url": "https://github.com/tylerlittlefield" + "login": "dlmatt", + "html_url": "https://github.com/dlmatt" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2381, - "title": "LangFuse UI doesn't show all traces despite debug logging saying that all are sent to the server", - "href": "https://github.com/orgs/langfuse/discussions/2381", - "created_at": "2024-06-20T14:02:12Z", - "upvotes": 3, - "comment_count": 1, + "number": 1541, + "title": "Disable events logging", + "href": "https://github.com/orgs/langfuse/discussions/1541", + "created_at": "2024-03-29T18:08:13Z", + "upvotes": 8, + "comment_count": 3, "resolved": false, - "labels": [], + "labels": [ + "✅ Done" + ], "author": { - "login": "stokedout", - "html_url": "https://github.com/stokedout" + "login": "omgovich", + "html_url": "https://github.com/omgovich" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2379, - "title": "Langfuse was not able to parse the LLM model", - "href": "https://github.com/orgs/langfuse/discussions/2379", - "created_at": "2024-06-20T08:56:57Z", - "upvotes": 1, + "number": 1535, + "title": "Request for Integration of Mistral Models into Langfuse", + "href": "https://github.com/orgs/langfuse/discussions/1535", + "created_at": "2024-03-28T16:10:25Z", + "upvotes": 5, "comment_count": 2, - "resolved": true, + "resolved": false, "labels": [ - "integration-langchain", - "integration-amazon-bedrock" + "integrations", + "✅ Done" ], "author": { - "login": "fdbvega", - "html_url": "https://github.com/fdbvega" + "login": "Zherdev1996", + "html_url": "https://github.com/Zherdev1996" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2377, - "title": "Can't see any traces or logs when running Langfuse locally.", - "href": "https://github.com/orgs/langfuse/discussions/2377", - "created_at": "2024-06-19T23:51:46Z", + "number": 1533, + "title": "Managing Embeddings", + "href": "https://github.com/orgs/langfuse/discussions/1533", + "created_at": "2024-03-28T15:36:21Z", "upvotes": 1, - "comment_count": 6, - "resolved": true, - "labels": [ - "self-hosting" - ], + "comment_count": 0, + "resolved": false, + "labels": [], "author": { - "login": "ibdafna", - "html_url": "https://github.com/ibdafna" + "login": "Botman-Hotman", + "html_url": "https://github.com/Botman-Hotman" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2373, - "title": "Not recording llamaindex response. Please help", - "href": "https://github.com/orgs/langfuse/discussions/2373", - "created_at": "2024-06-19T19:26:30Z", - "upvotes": 1, - "comment_count": 1, + "number": 1513, + "title": "Langfuse Trace with OpenAI Assistants", + "href": "https://github.com/orgs/langfuse/discussions/1513", + "created_at": "2024-03-27T11:47:19Z", + "upvotes": 10, + "comment_count": 5, "resolved": false, "labels": [ - "integraton-llamaindex" + "integration-openai" ], "author": { - "login": "mraguth", - "html_url": "https://github.com/mraguth" + "login": "marco-introvigne", + "html_url": "https://github.com/marco-introvigne" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2366, - "title": "Add label to prompt from Langfuse UI", - "href": "https://github.com/orgs/langfuse/discussions/2366", - "created_at": "2024-06-18T14:26:14Z", + "number": 1500, + "title": "Comment column can have any name the user chooses, there could be multiple comment columns per metric", + "href": "https://github.com/orgs/langfuse/discussions/1500", + "created_at": "2024-03-26T08:42:45Z", "upvotes": 1, "comment_count": 1, - "resolved": true, - "labels": [ - "feat-prompt-management" - ], + "resolved": false, + "labels": [], "author": { - "login": "charlieviettq", - "html_url": "https://github.com/charlieviettq" + "login": "emailic", + "html_url": "https://github.com/emailic" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2354, - "title": "Link Prompt & Trace with langchain CallbackHandler", - "href": "https://github.com/orgs/langfuse/discussions/2354", - "created_at": "2024-06-17T08:21:56Z", + "number": 1488, + "title": "Make Langfuse switchable", + "href": "https://github.com/orgs/langfuse/discussions/1488", + "created_at": "2024-03-25T21:05:17Z", "upvotes": 2, - "comment_count": 2, - "resolved": true, + "comment_count": 1, + "resolved": false, "labels": [], "author": { - "login": "derevyan", - "html_url": "https://github.com/derevyan" + "login": "MrMojoR", + "html_url": "https://github.com/MrMojoR" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2353, - "title": "[Migration] Auto-migration DB error when upgrade langfuse version", - "href": "https://github.com/orgs/langfuse/discussions/2353", - "created_at": "2024-06-17T08:02:03Z", + "number": 1479, + "title": "Add total filtered Generations to UI", + "href": "https://github.com/orgs/langfuse/discussions/1479", + "created_at": "2024-03-24T17:19:51Z", "upvotes": 1, - "comment_count": 1, - "resolved": true, - "labels": [ - "self-hosting" - ], + "comment_count": 0, + "resolved": false, + "labels": [], "author": { - "login": "charlieviettq", - "html_url": "https://github.com/charlieviettq" + "login": "PhiBrandon", + "html_url": "https://github.com/PhiBrandon" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2351, - "title": "Customize Langchain callback handler to add spans to existing traces created by separate thread/process", - "href": "https://github.com/orgs/langfuse/discussions/2351", - "created_at": "2024-06-17T03:41:57Z", + "number": 1461, + "title": "Loose prisma datasource db provider.", + "href": "https://github.com/orgs/langfuse/discussions/1461", + "created_at": "2024-03-21T13:09:15Z", "upvotes": 1, - "comment_count": 2, + "comment_count": 1, "resolved": false, "labels": [ - "integration-langchain" + "self-hosting" ], "author": { - "login": "Chengdyc", - "html_url": "https://github.com/Chengdyc" + "login": "muazhari", + "html_url": "https://github.com/muazhari" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2348, - "title": "not serializable object of type: LangfuseResponseGeneratorSync", - "href": "https://github.com/orgs/langfuse/discussions/2348", - "created_at": "2024-06-14T22:33:09Z", + "number": 1460, + "title": "Langfuse images for arm64 (mac silicon, some cloud vms)", + "href": "https://github.com/orgs/langfuse/discussions/1460", + "created_at": "2024-03-21T05:48:56Z", "upvotes": 1, "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "howtodoml", - "html_url": "https://github.com/howtodoml" + "login": "verdverm", + "html_url": "https://github.com/verdverm" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2346, - "title": "Chain two prompts", - "href": "https://github.com/orgs/langfuse/discussions/2346", - "created_at": "2024-06-14T08:20:48Z", - "upvotes": 1, - "comment_count": 1, + "number": 1454, + "title": "Add a time based filter option", + "href": "https://github.com/orgs/langfuse/discussions/1454", + "created_at": "2024-03-20T16:06:15Z", + "upvotes": 4, + "comment_count": 2, "resolved": false, "labels": [ - "feat-prompt-management", - "integration-langchain" + "✅ Done" ], "author": { - "login": "darkostanimirovic", - "html_url": "https://github.com/darkostanimirovic" + "login": "Kurumindla-Kranthivardhan", + "html_url": "https://github.com/Kurumindla-Kranthivardhan" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2344, - "title": "Can you use internal Kubernetes DNS to receive traffic from other Kubernetes workloads?", - "href": "https://github.com/orgs/langfuse/discussions/2344", - "created_at": "2024-06-14T08:15:36Z", + "number": 1431, + "title": "Integration with Langserve", + "href": "https://github.com/orgs/langfuse/discussions/1431", + "created_at": "2024-03-18T08:40:32Z", "upvotes": 1, - "comment_count": 1, - "resolved": true, + "comment_count": 2, + "resolved": false, "labels": [], "author": { - "login": "smeasures", - "html_url": "https://github.com/smeasures" + "login": "Haxeebraja", + "html_url": "https://github.com/Haxeebraja" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2342, - "title": "Getting trace id out of a langchain runnable", - "href": "https://github.com/orgs/langfuse/discussions/2342", - "created_at": "2024-06-14T01:15:26Z", + "number": 1428, + "title": "allow to delete sessions", + "href": "https://github.com/orgs/langfuse/discussions/1428", + "created_at": "2024-03-16T15:56:35Z", + "upvotes": 4, + "comment_count": 2, + "resolved": false, + "labels": [ + "feat-sessions" + ], + "author": { + "login": "morganveyret", + "html_url": "https://github.com/morganveyret" + }, + "category": "Ideas" + }, + { + "number": 1427, + "title": "Toggle collection of traces on a per-trace basis", + "href": "https://github.com/orgs/langfuse/discussions/1427", + "created_at": "2024-03-16T15:19:07Z", "upvotes": 1, "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [], "author": { - "login": "salmanmashayekh", - "html_url": "https://github.com/salmanmashayekh" + "login": "foragerr", + "html_url": "https://github.com/foragerr" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2338, - "title": "Can RBAC Role Assignment be done using Azure AD SSO token?", - "href": "https://github.com/orgs/langfuse/discussions/2338", - "created_at": "2024-06-13T11:29:59Z", - "upvotes": 4, + "number": 1415, + "title": "Add a \"correction\" field on the user feedback info", + "href": "https://github.com/orgs/langfuse/discussions/1415", + "created_at": "2024-03-14T14:18:30Z", + "upvotes": 3, "comment_count": 2, "resolved": false, - "labels": [ - "feat-rbac", - "self-hosting" - ], + "labels": [], "author": { - "login": "joshwright10", - "html_url": "https://github.com/joshwright10" + "login": "almirb", + "html_url": "https://github.com/almirb" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2298, - "title": "llamaindex: function_call does not generate subspans for a custom AsyncBaseTool class", - "href": "https://github.com/orgs/langfuse/discussions/2298", - "created_at": "2024-06-11T09:28:33Z", - "upvotes": 1, - "comment_count": 3, + "number": 1408, + "title": "Trace Latencies line chart please", + "href": "https://github.com/orgs/langfuse/discussions/1408", + "created_at": "2024-03-13T15:00:35Z", + "upvotes": 2, + "comment_count": 0, "resolved": false, - "labels": [ - "integraton-llamaindex" - ], + "labels": [], "author": { - "login": "ootkin", - "html_url": "https://github.com/ootkin" + "login": "Huarong", + "html_url": "https://github.com/Huarong" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2290, - "title": "There are no evaluation component in the 2.50 version", - "href": "https://github.com/orgs/langfuse/discussions/2290", - "created_at": "2024-06-10T19:36:30Z", - "upvotes": 1, - "comment_count": 1, - "resolved": true, - "labels": [], + "number": 1398, + "title": "What standardized dataset formats are people using?", + "href": "https://github.com/orgs/langfuse/discussions/1398", + "created_at": "2024-03-12T15:47:53Z", + "upvotes": 2, + "comment_count": 0, + "resolved": false, + "labels": [ + "feat-datasets" + ], "author": { - "login": "yanlinchn", - "html_url": "https://github.com/yanlinchn" + "login": "norton120", + "html_url": "https://github.com/norton120" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2254, - "title": "Unable to get hello world program working due to incorrect public key / host", - "href": "https://github.com/orgs/langfuse/discussions/2254", - "created_at": "2024-06-06T09:13:53Z", + "number": 1397, + "title": "Reorder columns in tables", + "href": "https://github.com/orgs/langfuse/discussions/1397", + "created_at": "2024-03-12T14:45:37Z", "upvotes": 3, - "comment_count": 1, - "resolved": true, + "comment_count": 2, + "resolved": false, "labels": [ - "self-hosting" + "✅ Done" ], "author": { - "login": "mr-nano", - "html_url": "https://github.com/mr-nano" + "login": "marcklingen", + "html_url": "https://github.com/marcklingen" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2244, - "title": "2 traces generated instead of 1", - "href": "https://github.com/orgs/langfuse/discussions/2244", - "created_at": "2024-06-05T17:06:52Z", - "upvotes": 1, + "number": 1394, + "title": "Adding a \"Select all\" button to tables", + "href": "https://github.com/orgs/langfuse/discussions/1394", + "created_at": "2024-03-12T10:37:23Z", + "upvotes": 2, "comment_count": 1, - "resolved": true, - "labels": [ - "integration-langchain", - "feat-datasets" - ], + "resolved": false, + "labels": [], "author": { - "login": "nithin1995", - "html_url": "https://github.com/nithin1995" + "login": "samyxdev", + "html_url": "https://github.com/samyxdev" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2211, - "title": "How to clean the langfuse cache data periodically?", - "href": "https://github.com/orgs/langfuse/discussions/2211", - "created_at": "2024-06-03T07:40:22Z", - "upvotes": 1, + "number": 1392, + "title": "Hide prompts/completions (privacy)", + "href": "https://github.com/orgs/langfuse/discussions/1392", + "created_at": "2024-03-12T07:48:22Z", + "upvotes": 10, "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [], "author": { - "login": "He-Huang", - "html_url": "https://github.com/He-Huang" + "login": "ziodave", + "html_url": "https://github.com/ziodave" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2207, - "title": "Model Cost does not show up", - "href": "https://github.com/orgs/langfuse/discussions/2207", - "created_at": "2024-06-02T11:08:58Z", - "upvotes": 1, - "comment_count": 1, - "resolved": true, + "number": 1391, + "title": "Enhancements for Langfuse User Sign-Up Control", + "href": "https://github.com/orgs/langfuse/discussions/1391", + "created_at": "2024-03-11T23:38:18Z", + "upvotes": 7, + "comment_count": 0, + "resolved": false, "labels": [ - "feat-cost-tracking" + "self-hosting" ], "author": { - "login": "jannikstdl", - "html_url": "https://github.com/jannikstdl" + "login": "udit-001", + "html_url": "https://github.com/udit-001" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2206, - "title": "Possibilities for auth", - "href": "https://github.com/orgs/langfuse/discussions/2206", - "created_at": "2024-06-01T23:38:39Z", - "upvotes": 1, - "comment_count": 1, - "resolved": true, + "number": 1385, + "title": "bug: Not allowing to limit Azure AD authentication for selected users in same tenent", + "href": "https://github.com/orgs/langfuse/discussions/1385", + "created_at": "2024-03-11T17:42:05Z", + "upvotes": 2, + "comment_count": 2, + "resolved": false, "labels": [ "self-hosting" ], "author": { - "login": "Getty", - "html_url": "https://github.com/Getty" + "login": "SathinduGA", + "html_url": "https://github.com/SathinduGA" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2200, - "title": "How does one replace values for a ChatPromptTemplate for Langchain", - "href": "https://github.com/orgs/langfuse/discussions/2200", - "created_at": "2024-05-31T19:39:14Z", - "upvotes": 0, - "comment_count": 2, + "number": 1378, + "title": "Aggregate cost per span", + "href": "https://github.com/orgs/langfuse/discussions/1378", + "created_at": "2024-03-08T16:06:04Z", + "upvotes": 2, + "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "ajram23", - "html_url": "https://github.com/ajram23" + "login": "ladislasdellinger", + "html_url": "https://github.com/ladislasdellinger" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2188, - "title": "Time to first token?", - "href": "https://github.com/orgs/langfuse/discussions/2188", - "created_at": "2024-05-30T12:45:37Z", + "number": 1376, + "title": "Support parsing LLM model for ChatOllama", + "href": "https://github.com/orgs/langfuse/discussions/1376", + "created_at": "2024-03-08T14:13:58Z", "upvotes": 1, "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "jrcapicua", - "html_url": "https://github.com/jrcapicua" + "login": "kleebaum", + "html_url": "https://github.com/kleebaum" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2172, - "title": "How to reuse callback handler in langchain integration?", - "href": "https://github.com/orgs/langfuse/discussions/2172", - "created_at": "2024-05-28T15:25:39Z", + "number": 1374, + "title": "Add LLamaIndexTS example", + "href": "https://github.com/orgs/langfuse/discussions/1374", + "created_at": "2024-03-08T00:42:30Z", "upvotes": 1, - "comment_count": 2, + "comment_count": 1, "resolved": false, - "labels": [ - "integration-langchain" - ], + "labels": [], "author": { - "login": "SebastianStehle", - "html_url": "https://github.com/SebastianStehle" + "login": "luandro", + "html_url": "https://github.com/luandro" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2165, - "title": "Auth0 not working", - "href": "https://github.com/orgs/langfuse/discussions/2165", - "created_at": "2024-05-28T11:38:43Z", - "upvotes": 2, - "comment_count": 3, + "number": 1361, + "title": "Add a retention window for unnecessary data", + "href": "https://github.com/orgs/langfuse/discussions/1361", + "created_at": "2024-03-07T14:42:07Z", + "upvotes": 1, + "comment_count": 1, "resolved": false, - "labels": [ - "self-hosting" - ], + "labels": [], "author": { - "login": "mforell", - "html_url": "https://github.com/mforell" + "login": "albertoforcato", + "html_url": "https://github.com/albertoforcato" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2162, - "title": "Connect Prompt ID to GENERATIONS when integrate Langfuse in LangChain.", - "href": "https://github.com/orgs/langfuse/discussions/2162", - "created_at": "2024-05-28T00:56:34Z", - "upvotes": 8, + "number": 1337, + "title": "Support for Langchain ChatAnthropic", + "href": "https://github.com/orgs/langfuse/discussions/1337", + "created_at": "2024-03-06T10:42:36Z", + "upvotes": 2, "comment_count": 1, - "resolved": true, - "labels": [], + "resolved": false, + "labels": [ + "integration-langchain" + ], "author": { - "login": "hdp173", - "html_url": "https://github.com/hdp173" + "login": "dotrunghieu96", + "html_url": "https://github.com/dotrunghieu96" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2154, - "title": "__root__ -> items -> 0 -> datasetName field required (type=value_error.missing)", - "href": "https://github.com/orgs/langfuse/discussions/2154", - "created_at": "2024-05-27T11:26:24Z", + "number": 1331, + "title": "Adding cost to the datasets tables", + "href": "https://github.com/orgs/langfuse/discussions/1331", + "created_at": "2024-03-05T18:53:25Z", "upvotes": 1, - "comment_count": 2, + "comment_count": 1, "resolved": false, - "labels": [], + "labels": [ + "✅ Done" + ], "author": { - "login": "emailic", - "html_url": "https://github.com/emailic" + "login": "ladislasdellinger", + "html_url": "https://github.com/ladislasdellinger" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2152, - "title": "get_langchain_handler() alwasy start from trace root.", - "href": "https://github.com/orgs/langfuse/discussions/2152", - "created_at": "2024-05-27T10:47:42Z", - "upvotes": 1, - "comment_count": 1, + "number": 1321, + "title": "More prompt environments/tags instead of just `active`", + "href": "https://github.com/orgs/langfuse/discussions/1321", + "created_at": "2024-03-05T11:05:17Z", + "upvotes": 3, + "comment_count": 2, "resolved": false, "labels": [ - "integration-langchain" + "feat-prompt-management", + "✅ Done" ], "author": { - "login": "hdp173", - "html_url": "https://github.com/hdp173" + "login": "ladislasdellinger", + "html_url": "https://github.com/ladislasdellinger" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2146, - "title": "Customize LangChain Integration.", - "href": "https://github.com/orgs/langfuse/discussions/2146", - "created_at": "2024-05-27T06:12:41Z", - "upvotes": 1, - "comment_count": 1, - "resolved": true, + "number": 1309, + "title": "Log used prompt on generations when using Langchain", + "href": "https://github.com/orgs/langfuse/discussions/1309", + "created_at": "2024-03-04T09:03:35Z", + "upvotes": 5, + "comment_count": 2, + "resolved": false, "labels": [ - "integration-langchain" + "integration-langchain", + "✅ Done" ], "author": { - "login": "hdp173", - "html_url": "https://github.com/hdp173" + "login": "TobinShaw", + "html_url": "https://github.com/TobinShaw" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2145, - "title": "Need help on syntax for editing project roles", - "href": "https://github.com/orgs/langfuse/discussions/2145", - "created_at": "2024-05-26T18:50:59Z", + "number": 1306, + "title": "[TS] Generating through OpenAI SDK directly", + "href": "https://github.com/orgs/langfuse/discussions/1306", + "created_at": "2024-03-02T10:56:07Z", "upvotes": 1, "comment_count": 2, "resolved": false, - "labels": [], + "labels": [ + "integrations", + "integration-openai", + "✅ Done" + ], "author": { - "login": "hrithik062", - "html_url": "https://github.com/hrithik062" + "login": "louis030195", + "html_url": "https://github.com/louis030195" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2142, - "title": "Unable to login with SSO", - "href": "https://github.com/orgs/langfuse/discussions/2142", - "created_at": "2024-05-24T18:40:35Z", + "number": 1305, + "title": "Allow Project-Specific Default Time Ranges", + "href": "https://github.com/orgs/langfuse/discussions/1305", + "created_at": "2024-03-02T03:42:42Z", "upvotes": 1, "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [], "author": { - "login": "alecor191", - "html_url": "https://github.com/alecor191" + "login": "dkindlund", + "html_url": "https://github.com/dkindlund" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2137, - "title": "Latency (Avg) showing 0 for dataset runs", - "href": "https://github.com/orgs/langfuse/discussions/2137", - "created_at": "2024-05-24T07:33:51Z", - "upvotes": 4, - "comment_count": 1, - "resolved": true, + "number": 1300, + "title": "Consider adding support for DSPy", + "href": "https://github.com/orgs/langfuse/discussions/1300", + "created_at": "2024-03-01T15:42:23Z", + "upvotes": 1, + "comment_count": 2, + "resolved": false, "labels": [], "author": { - "login": "karthik-TLIT", - "html_url": "https://github.com/karthik-TLIT" + "login": "sutyum", + "html_url": "https://github.com/sutyum" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2130, - "title": "Evaluations Not Available in Self-Hosted Version?", - "href": "https://github.com/orgs/langfuse/discussions/2130", - "created_at": "2024-05-23T14:31:16Z", - "upvotes": 3, - "comment_count": 1, - "resolved": true, + "number": 1295, + "title": "Support DSPy", + "href": "https://github.com/orgs/langfuse/discussions/1295", + "created_at": "2024-03-01T11:34:05Z", + "upvotes": 19, + "comment_count": 9, + "resolved": false, "labels": [ - "feat-evals" + "integrations", + "✅ Done", + "integration-dspy" ], "author": { - "login": "c0pper", - "html_url": "https://github.com/c0pper" + "login": "sandangel", + "html_url": "https://github.com/sandangel" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2114, - "title": "Careers link on HN is broken", - "href": "https://github.com/orgs/langfuse/discussions/2114", - "created_at": "2024-05-21T07:28:26Z", - "upvotes": 1, - "comment_count": 1, - "resolved": true, - "labels": [], + "number": 1291, + "title": "Integration: LlamaIndex JS/TS", + "href": "https://github.com/orgs/langfuse/discussions/1291", + "created_at": "2024-02-29T11:56:42Z", + "upvotes": 33, + "comment_count": 3, + "resolved": false, + "labels": [ + "sdk-js", + "integrations", + "integraton-llamaindex" + ], "author": { - "login": "davherrmann", - "html_url": "https://github.com/davherrmann" + "login": "marcklingen", + "html_url": "https://github.com/marcklingen" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2111, - "title": "Token cost is counted even if langchains LLM cache is utilized", - "href": "https://github.com/orgs/langfuse/discussions/2111", - "created_at": "2024-05-20T23:23:44Z", - "upvotes": 5, - "comment_count": 1, - "resolved": true, + "number": 1287, + "title": "Add filtering by errors", + "href": "https://github.com/orgs/langfuse/discussions/1287", + "created_at": "2024-02-28T22:52:59Z", + "upvotes": 3, + "comment_count": 2, + "resolved": false, "labels": [ - "integration-langchain" + "ui" ], "author": { - "login": "arthurGrigo", - "html_url": "https://github.com/arthurGrigo" + "login": "ankerbachryhl", + "html_url": "https://github.com/ankerbachryhl" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2106, - "title": "Hability to store pre defined initial message", - "href": "https://github.com/orgs/langfuse/discussions/2106", - "created_at": "2024-05-20T20:40:23Z", + "number": 1277, + "title": "Add Audit Logging System to Worker Tasks", + "href": "https://github.com/orgs/langfuse/discussions/1277", + "created_at": "2024-02-28T11:53:15Z", "upvotes": 1, - "comment_count": 1, - "resolved": true, + "comment_count": 3, + "resolved": false, "labels": [], "author": { - "login": "Lunik", - "html_url": "https://github.com/Lunik" + "login": "khareyash05", + "html_url": "https://github.com/khareyash05" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2099, - "title": "Deleting Duplicate Items in a Dataset", - "href": "https://github.com/orgs/langfuse/discussions/2099", - "created_at": "2024-05-20T09:48:58Z", + "number": 1268, + "title": "Possible with different units for input and output", + "href": "https://github.com/orgs/langfuse/discussions/1268", + "created_at": "2024-02-27T13:45:21Z", "upvotes": 1, "comment_count": 1, - "resolved": true, - "labels": [ - "feat-datasets" - ], + "resolved": false, + "labels": [], "author": { - "login": "emailic", - "html_url": "https://github.com/emailic" + "login": "Stadly", + "html_url": "https://github.com/Stadly" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2098, - "title": "Wrong model for billing", - "href": "https://github.com/orgs/langfuse/discussions/2098", - "created_at": "2024-05-20T09:29:33Z", - "upvotes": 2, - "comment_count": 1, - "resolved": true, - "labels": [], + "number": 1264, + "title": "ChatML/ChatMessage Prompt Templates", + "href": "https://github.com/orgs/langfuse/discussions/1264", + "created_at": "2024-02-27T01:59:05Z", + "upvotes": 4, + "comment_count": 3, + "resolved": false, + "labels": [ + "feat-prompt-management", + "✅ Done" + ], "author": { - "login": "wdxwj", - "html_url": "https://github.com/wdxwj" + "login": "tuan3w", + "html_url": "https://github.com/tuan3w" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2077, - "title": "Error Encountered During Migration for Applying Newly Supported Models to Existing Data", - "href": "https://github.com/orgs/langfuse/discussions/2077", - "created_at": "2024-05-16T15:30:33Z", - "upvotes": 1, - "comment_count": 1, + "number": 1258, + "title": "Dashboard for all projects of an organization", + "href": "https://github.com/orgs/langfuse/discussions/1258", + "created_at": "2024-02-26T20:12:22Z", + "upvotes": 11, + "comment_count": 2, "resolved": false, - "labels": [], + "labels": [ + "feat-dashboard" + ], "author": { - "login": "Zherdev1996", - "html_url": "https://github.com/Zherdev1996" + "login": "aiakubovich", + "html_url": "https://github.com/aiakubovich" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2073, - "title": "Will Playground be available for self-hosted?", - "href": "https://github.com/orgs/langfuse/discussions/2073", - "created_at": "2024-05-16T12:40:30Z", - "upvotes": 5, + "number": 1221, + "title": "Add Haystack integration", + "href": "https://github.com/orgs/langfuse/discussions/1221", + "created_at": "2024-02-21T13:06:06Z", + "upvotes": 9, "comment_count": 2, - "resolved": true, + "resolved": false, "labels": [ - "feat-playground" + "integrations", + "✅ Done", + "integration-haystack" ], "author": { - "login": "sabatesduran", - "html_url": "https://github.com/sabatesduran" + "login": "marcklingen", + "html_url": "https://github.com/marcklingen" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2070, - "title": "Error on Local Deployment: \"Evals available in cloud only\" when Adding LLM API Key", - "href": "https://github.com/orgs/langfuse/discussions/2070", - "created_at": "2024-05-16T09:02:43Z", + "number": 1220, + "title": "Export to S3", + "href": "https://github.com/orgs/langfuse/discussions/1220", + "created_at": "2024-02-21T12:46:58Z", "upvotes": 1, - "comment_count": 1, + "comment_count": 0, "resolved": false, - "labels": [], + "labels": [ + "integrations" + ], "author": { - "login": "youngsj951104", - "html_url": "https://github.com/youngsj951104" + "login": "marcklingen", + "html_url": "https://github.com/marcklingen" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2069, - "title": "Does langfuse uses any Postgres-only features?", - "href": "https://github.com/orgs/langfuse/discussions/2069", - "created_at": "2024-05-16T06:36:16Z", - "upvotes": 2, - "comment_count": 1, - "resolved": true, - "labels": [], + "number": 1219, + "title": "Export to BigQuery", + "href": "https://github.com/orgs/langfuse/discussions/1219", + "created_at": "2024-02-21T12:46:26Z", + "upvotes": 4, + "comment_count": 0, + "resolved": false, + "labels": [ + "integrations" + ], "author": { - "login": "rohts-patil", - "html_url": "https://github.com/rohts-patil" + "login": "marcklingen", + "html_url": "https://github.com/marcklingen" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2063, - "title": "Exception(\"parent run not found\")", - "href": "https://github.com/orgs/langfuse/discussions/2063", - "created_at": "2024-05-15T14:45:00Z", - "upvotes": 1, - "comment_count": 1, + "number": 1212, + "title": "Adding support for async Langchain methods", + "href": "https://github.com/orgs/langfuse/discussions/1212", + "created_at": "2024-02-20T13:09:19Z", + "upvotes": 24, + "comment_count": 5, "resolved": false, - "labels": [], + "labels": [ + "integration-langchain", + "✅ Done" + ], "author": { - "login": "emailic", - "html_url": "https://github.com/emailic" + "login": "marcklingen", + "html_url": "https://github.com/marcklingen" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2042, - "title": "Availability of evals when self-hosting", - "href": "https://github.com/orgs/langfuse/discussions/2042", - "created_at": "2024-05-13T14:06:11Z", - "upvotes": 2, - "comment_count": 1, - "resolved": true, + "number": 1208, + "title": "Add Images in Tracing", + "href": "https://github.com/orgs/langfuse/discussions/1208", + "created_at": "2024-02-20T00:41:41Z", + "upvotes": 11, + "comment_count": 2, + "resolved": false, "labels": [ - "feat-evals" + "✅ Done", + "feat-multimodal" ], "author": { - "login": "derevyan", - "html_url": "https://github.com/derevyan" + "login": "aiakubovich", + "html_url": "https://github.com/aiakubovich" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2031, - "title": "Starting a demo from JS SDK and local running Langfuse, but cannot create init trace currently", - "href": "https://github.com/orgs/langfuse/discussions/2031", - "created_at": "2024-05-10T08:49:40Z", + "number": 1190, + "title": "Request to add 75 percentile under Model latency section as shown in image below", + "href": "https://github.com/orgs/langfuse/discussions/1190", + "created_at": "2024-02-16T21:41:29Z", "upvotes": 1, "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "JamieLee0510", - "html_url": "https://github.com/JamieLee0510" + "login": "ssubburaj85", + "html_url": "https://github.com/ssubburaj85" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2009, - "title": "Custom name of Span when using Langchain handler instead of RunnableSequence", - "href": "https://github.com/orgs/langfuse/discussions/2009", - "created_at": "2024-05-08T12:23:08Z", - "upvotes": 1, - "comment_count": 1, - "resolved": true, + "number": 1170, + "title": "LLM Playground", + "href": "https://github.com/orgs/langfuse/discussions/1170", + "created_at": "2024-02-15T17:44:42Z", + "upvotes": 7, + "comment_count": 6, + "resolved": false, "labels": [ - "integration-langchain" + "feat-prompt-management", + "✅ Done", + "feat-playground" ], "author": { - "login": "nathan-vo810", - "html_url": "https://github.com/nathan-vo810" + "login": "reza-mohideen", + "html_url": "https://github.com/reza-mohideen" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2008, - "title": "Not able to add dataset item", - "href": "https://github.com/orgs/langfuse/discussions/2008", - "created_at": "2024-05-08T12:11:04Z", - "upvotes": 1, + "number": 1159, + "title": "Looking for users (that are migrating off of something) to co-build Langfuse integration with", + "href": "https://github.com/orgs/langfuse/discussions/1159", + "created_at": "2024-02-14T19:05:27Z", + "upvotes": 2, "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "nithin1995", - "html_url": "https://github.com/nithin1995" + "login": "skrawcz", + "html_url": "https://github.com/skrawcz" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2007, - "title": "Langfuse in PHP. Which are the minimum functions needed to implement?", - "href": "https://github.com/orgs/langfuse/discussions/2007", - "created_at": "2024-05-08T10:55:07Z", - "upvotes": 1, - "comment_count": 1, - "resolved": false, - "labels": [], - "author": { - "login": "phpia", - "html_url": "https://github.com/phpia" - }, - "category": "Support" - }, - { - "number": 2005, - "title": "How to get trace data with langfuse-langchain in JS/TS?", - "href": "https://github.com/orgs/langfuse/discussions/2005", - "created_at": "2024-05-08T08:08:42Z", + "number": 1156, + "title": "Possible to set timestamp when creating trace", + "href": "https://github.com/orgs/langfuse/discussions/1156", + "created_at": "2024-02-14T14:26:22Z", "upvotes": 1, - "comment_count": 2, - "resolved": true, + "comment_count": 1, + "resolved": false, "labels": [ - "integration-langchain" + "sdk-js" ], "author": { - "login": "AdiletBekmuratov", - "html_url": "https://github.com/AdiletBekmuratov" + "login": "Stadly", + "html_url": "https://github.com/Stadly" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1982, - "title": "trace doesn't work with .batch handler on langserve", - "href": "https://github.com/orgs/langfuse/discussions/1982", - "created_at": "2024-05-06T02:32:30Z", - "upvotes": 2, - "comment_count": 0, + "number": 1154, + "title": "Dedicated user object which can include groups/teams and other attributes", + "href": "https://github.com/orgs/langfuse/discussions/1154", + "created_at": "2024-02-14T09:45:40Z", + "upvotes": 6, + "comment_count": 5, "resolved": false, - "labels": [], + "labels": [ + "feat-users" + ], "author": { - "login": "restuprajna", - "html_url": "https://github.com/restuprajna" + "login": "bryan-agicap", + "html_url": "https://github.com/bryan-agicap" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1979, - "title": "get_prompt function failed in langfuse-python 2.28.3", - "href": "https://github.com/orgs/langfuse/discussions/1979", - "created_at": "2024-05-05T19:57:40Z", - "upvotes": 1, + "number": 1133, + "title": "API to delete scores", + "href": "https://github.com/orgs/langfuse/discussions/1133", + "created_at": "2024-02-12T11:19:59Z", + "upvotes": 2, "comment_count": 1, - "resolved": true, - "labels": [], - "author": { - "login": "nathan-vo810", - "html_url": "https://github.com/nathan-vo810" - }, - "category": "Support" - }, - { - "number": 1969, - "title": "How to utilize a dataset w/ typescript and langchain integration", - "href": "https://github.com/orgs/langfuse/discussions/1969", - "created_at": "2024-05-03T15:22:21Z", - "upvotes": 1, - "comment_count": 2, "resolved": false, "labels": [ - "✅ Done", - "feat-datasets" + "feat-api", + "feat-scores" ], "author": { - "login": "sahellebusch", - "html_url": "https://github.com/sahellebusch" + "login": "Jason-CKY", + "html_url": "https://github.com/Jason-CKY" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1957, - "title": "DevOps: What is the best way to create separate Langfuse instances in different environments: Dev, Test, QA, Prod?", - "href": "https://github.com/orgs/langfuse/discussions/1957", - "created_at": "2024-05-02T21:28:07Z", + "number": 1128, + "title": "Display all traces within a session", + "href": "https://github.com/orgs/langfuse/discussions/1128", + "created_at": "2024-02-10T17:36:48Z", "upvotes": 2, - "comment_count": 2, - "resolved": true, + "comment_count": 1, + "resolved": false, "labels": [ - "self-hosting" + "ui", + "feat-sessions" ], "author": { - "login": "aiakubovich", - "html_url": "https://github.com/aiakubovich" + "login": "benm5678", + "html_url": "https://github.com/benm5678" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1952, - "title": "How to communicate trace-id between backend and frontend ? (langchain+langserve integration)", - "href": "https://github.com/orgs/langfuse/discussions/1952", - "created_at": "2024-05-02T13:48:20Z", - "upvotes": 1, - "comment_count": 3, + "number": 1118, + "title": "[Simple Feature/WebUI] Adding a button to hide the sidebar", + "href": "https://github.com/orgs/langfuse/discussions/1118", + "created_at": "2024-02-09T09:43:34Z", + "upvotes": 3, + "comment_count": 1, "resolved": false, "labels": [ - "integration-langchain" + "ui" ], "author": { - "login": "Sinnaeve", - "html_url": "https://github.com/Sinnaeve" + "login": "samyxdev", + "html_url": "https://github.com/samyxdev" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1946, - "title": "Not able to build docker image from web/Dockerfile", - "href": "https://github.com/orgs/langfuse/discussions/1946", - "created_at": "2024-05-02T09:41:18Z", - "upvotes": 2, - "comment_count": 1, - "resolved": true, + "number": 1115, + "title": "Prioritize traces captured from LangGraph by relevance", + "href": "https://github.com/orgs/langfuse/discussions/1115", + "created_at": "2024-02-08T06:44:34Z", + "upvotes": 8, + "comment_count": 3, + "resolved": false, "labels": [ - "self-hosting" + "ui", + "integration-langchain" ], "author": { - "login": "Subham0793", - "html_url": "https://github.com/Subham0793" + "login": "litagent", + "html_url": "https://github.com/litagent" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1940, - "title": "Simple Prompt -> LLM error with Usage Object?", - "href": "https://github.com/orgs/langfuse/discussions/1940", - "created_at": "2024-05-01T13:47:14Z", - "upvotes": 2, + "number": 1114, + "title": "Pulling prompt/completions via API", + "href": "https://github.com/orgs/langfuse/discussions/1114", + "created_at": "2024-02-08T00:52:10Z", + "upvotes": 1, "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [], "author": { - "login": "tzilkha", - "html_url": "https://github.com/tzilkha" + "login": "mukundt", + "html_url": "https://github.com/mukundt" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1864, - "title": "Can't see traces in the webUI if callback_handler passed to LLM init constructor", - "href": "https://github.com/orgs/langfuse/discussions/1864", - "created_at": "2024-04-25T21:01:54Z", - "upvotes": 2, - "comment_count": 1, + "number": 1106, + "title": "Prompt version comments", + "href": "https://github.com/orgs/langfuse/discussions/1106", + "created_at": "2024-02-07T15:38:07Z", + "upvotes": 5, + "comment_count": 2, "resolved": false, - "labels": [], + "labels": [ + "ui", + "feat-prompt-management", + "✅ Done" + ], "author": { - "login": "gabrielfior", - "html_url": "https://github.com/gabrielfior" + "login": "mukundt", + "html_url": "https://github.com/mukundt" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1860, - "title": "Alter generation names with LangChain integration", - "href": "https://github.com/orgs/langfuse/discussions/1860", - "created_at": "2024-04-25T18:12:35Z", - "upvotes": 1, + "number": 1105, + "title": "\"Git diff\" view between two prompt versions", + "href": "https://github.com/orgs/langfuse/discussions/1105", + "created_at": "2024-02-07T15:37:18Z", + "upvotes": 13, "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [ - "integration-langchain" + "ui", + "feat-prompt-management" ], "author": { - "login": "nic-asnes-klaviyo", - "html_url": "https://github.com/nic-asnes-klaviyo" + "login": "mukundt", + "html_url": "https://github.com/mukundt" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1831, - "title": "how to check only output tokens and models costs related to only output tokens?", - "href": "https://github.com/orgs/langfuse/discussions/1831", - "created_at": "2024-04-24T12:27:17Z", + "number": 1097, + "title": "Ability to post-process generation data", + "href": "https://github.com/orgs/langfuse/discussions/1097", + "created_at": "2024-02-06T17:45:58Z", "upvotes": 2, "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "manishiitg", - "html_url": "https://github.com/manishiitg" + "login": "denisergashbaev", + "html_url": "https://github.com/denisergashbaev" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1814, - "title": "Deploy to heroku", - "href": "https://github.com/orgs/langfuse/discussions/1814", - "created_at": "2024-04-23T13:56:27Z", - "upvotes": 1, + "number": 1096, + "title": "[Python SDK] Link prompt to OpenAI Chat Completion directly", + "href": "https://github.com/orgs/langfuse/discussions/1096", + "created_at": "2024-02-06T17:19:29Z", + "upvotes": 2, "comment_count": 2, - "resolved": true, + "resolved": false, "labels": [ - "self-hosting" + "sdk-python", + "feat-prompt-management", + "integration-openai" ], "author": { - "login": "MarcoSteinke", - "html_url": "https://github.com/MarcoSteinke" + "login": "fancyweb", + "html_url": "https://github.com/fancyweb" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1788, - "title": "Need help with resolving long runtimes when Langfuse tracing is enabled", - "href": "https://github.com/orgs/langfuse/discussions/1788", - "created_at": "2024-04-19T17:46:05Z", - "upvotes": 2, - "comment_count": 1, - "resolved": false, - "labels": [], + "number": 1089, + "title": "Use JWTs for API private key", + "href": "https://github.com/orgs/langfuse/discussions/1089", + "created_at": "2024-02-06T02:11:39Z", + "upvotes": 1, + "comment_count": 2, + "resolved": false, + "labels": [], "author": { - "login": "pooja1423", - "html_url": "https://github.com/pooja1423" + "login": "Manouchehri", + "html_url": "https://github.com/Manouchehri" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1785, - "title": "How to limit the number of traces", - "href": "https://github.com/orgs/langfuse/discussions/1785", - "created_at": "2024-04-19T10:29:17Z", + "number": 1082, + "title": "Add LLM call duration on session and trace table", + "href": "https://github.com/orgs/langfuse/discussions/1082", + "created_at": "2024-02-05T20:52:23Z", "upvotes": 1, "comment_count": 1, "resolved": false, - "labels": [], + "labels": [ + "ui" + ], "author": { - "login": "secsilm", - "html_url": "https://github.com/secsilm" + "login": "Manouchehri", + "html_url": "https://github.com/Manouchehri" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1773, - "title": "Flowise 1.6.5 can not Trace", - "href": "https://github.com/orgs/langfuse/discussions/1773", - "created_at": "2024-04-18T11:55:32Z", - "upvotes": 1, - "comment_count": 1, + "number": 1077, + "title": "Flowise: Allow adding metadata in API call to populate Langfuse trace metadata", + "href": "https://github.com/orgs/langfuse/discussions/1077", + "created_at": "2024-02-05T15:55:07Z", + "upvotes": 2, + "comment_count": 0, "resolved": false, - "labels": [], + "labels": [ + "integration-flowise" + ], "author": { - "login": "lknbv5", - "html_url": "https://github.com/lknbv5" + "login": "jpmin7", + "html_url": "https://github.com/jpmin7" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1759, - "title": "How to get generations and scores in the same trace when using OpenAI sdk or other tools", - "href": "https://github.com/orgs/langfuse/discussions/1759", - "created_at": "2024-04-17T15:56:51Z", + "number": 1076, + "title": "Flowise: Allow Langfuse traceId to be set or passed on with API response", + "href": "https://github.com/orgs/langfuse/discussions/1076", + "created_at": "2024-02-05T14:58:23Z", "upvotes": 1, "comment_count": 1, "resolved": false, - "labels": [], + "labels": [ + "sdk-js", + "integration-flowise" + ], "author": { - "login": "databill86", - "html_url": "https://github.com/databill86" + "login": "jpmin7", + "html_url": "https://github.com/jpmin7" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1712, - "title": "Invalid public key", - "href": "https://github.com/orgs/langfuse/discussions/1712", - "created_at": "2024-04-14T18:11:51Z", + "number": 1074, + "title": "Model costs in terms of energy for self hosted models (or cloud hosted)", + "href": "https://github.com/orgs/langfuse/discussions/1074", + "created_at": "2024-02-05T10:15:27Z", "upvotes": 1, "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "taaha3244", - "html_url": "https://github.com/taaha3244" + "login": "vquilon", + "html_url": "https://github.com/vquilon" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1672, - "title": "Cookies not allowed", - "href": "https://github.com/orgs/langfuse/discussions/1672", - "created_at": "2024-04-11T07:43:53Z", - "upvotes": 1, - "comment_count": 3, + "number": 1073, + "title": "Use proper logger for backend API to make it configurable", + "href": "https://github.com/orgs/langfuse/discussions/1073", + "created_at": "2024-02-05T09:19:01Z", + "upvotes": 3, + "comment_count": 5, "resolved": false, - "labels": [], + "labels": [ + "✅ Done", + "self-hosting" + ], "author": { - "login": "danielpirs", - "html_url": "https://github.com/danielpirs" + "login": "code-haven", + "html_url": "https://github.com/code-haven" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1649, - "title": "Run Langchain Evaluations on data in Langfuse , Why is the prompt not considered, and could this lead to evaluation flaws?", - "href": "https://github.com/orgs/langfuse/discussions/1649", - "created_at": "2024-04-10T05:25:28Z", - "upvotes": 1, + "number": 1049, + "title": "API Examples for Generations", + "href": "https://github.com/orgs/langfuse/discussions/1049", + "created_at": "2024-02-02T07:02:08Z", + "upvotes": 2, "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "pengpengIlove", - "html_url": "https://github.com/pengpengIlove" + "login": "Manouchehri", + "html_url": "https://github.com/Manouchehri" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1610, - "title": "Scoring a trace after the LLM chain returns", - "href": "https://github.com/orgs/langfuse/discussions/1610", - "created_at": "2024-04-07T15:12:34Z", - "upvotes": 1, - "comment_count": 1, - "resolved": true, - "labels": [ - "feat-scores" - ], + "number": 1048, + "title": "Allow sharing traces as a self contained HTML file via presigned S3 URL", + "href": "https://github.com/orgs/langfuse/discussions/1048", + "created_at": "2024-02-02T06:05:47Z", + "upvotes": 2, + "comment_count": 0, + "resolved": false, + "labels": [], "author": { - "login": "pooja1423", - "html_url": "https://github.com/pooja1423" + "login": "Manouchehri", + "html_url": "https://github.com/Manouchehri" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1601, - "title": "Okta auth got `read ECONNRESET`", - "href": "https://github.com/orgs/langfuse/discussions/1601", - "created_at": "2024-04-04T03:46:08Z", - "upvotes": 1, + "number": 1043, + "title": "Ability to query entities from SDK", + "href": "https://github.com/orgs/langfuse/discussions/1043", + "created_at": "2024-02-01T23:51:00Z", + "upvotes": 4, "comment_count": 2, "resolved": false, - "labels": [], + "labels": [ + "feat-api" + ], "author": { - "login": "tmwatchanan", - "html_url": "https://github.com/tmwatchanan" + "login": "Pranov1", + "html_url": "https://github.com/Pranov1" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1538, - "title": "Trace input is null when passing in nodes, or Documents with transformations to VectorStoreIndex constructor", - "href": "https://github.com/orgs/langfuse/discussions/1538", - "created_at": "2024-03-29T00:30:49Z", - "upvotes": 1, - "comment_count": 1, + "number": 1033, + "title": "Subscribe to Langfuse Events via Webhooks", + "href": "https://github.com/orgs/langfuse/discussions/1033", + "created_at": "2024-02-01T18:59:56Z", + "upvotes": 34, + "comment_count": 6, "resolved": false, "labels": [], "author": { - "login": "mwertheim-zco", - "html_url": "https://github.com/mwertheim-zco" + "login": "marcklingen", + "html_url": "https://github.com/marcklingen" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1536, - "title": "Tracing and Session support on Integrations like LiteLLM Proxy and others and Is LangFuse logging a background process?", - "href": "https://github.com/orgs/langfuse/discussions/1536", - "created_at": "2024-03-28T20:22:49Z", - "upvotes": 1, + "number": 1032, + "title": "Periodic reports (email or slack)", + "href": "https://github.com/orgs/langfuse/discussions/1032", + "created_at": "2024-02-01T18:57:42Z", + "upvotes": 12, "comment_count": 1, - "resolved": true, - "labels": [ - "integration-litellm", - "feat-sessions" - ], + "resolved": false, + "labels": [], "author": { - "login": "Harryalways317", - "html_url": "https://github.com/Harryalways317" + "login": "marcklingen", + "html_url": "https://github.com/marcklingen" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1528, - "title": "Aggregated project from multiple langfuse servers", - "href": "https://github.com/orgs/langfuse/discussions/1528", - "created_at": "2024-03-28T09:01:37Z", - "upvotes": 3, - "comment_count": 1, + "number": 1021, + "title": "Add `Embedding` observation type", + "href": "https://github.com/orgs/langfuse/discussions/1021", + "created_at": "2024-02-01T03:15:17Z", + "upvotes": 55, + "comment_count": 2, "resolved": false, "labels": [], "author": { - "login": "juan-abia", - "html_url": "https://github.com/juan-abia" + "login": "marcklingen", + "html_url": "https://github.com/marcklingen" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1524, - "title": "How to add default user and project to self-hosted docker?", - "href": "https://github.com/orgs/langfuse/discussions/1524", - "created_at": "2024-03-28T08:00:07Z", + "number": 1020, + "title": "Leveraging Azure OpenAI Diagnostic Settings?", + "href": "https://github.com/orgs/langfuse/discussions/1020", + "created_at": "2024-02-01T02:58:54Z", "upvotes": 1, - "comment_count": 2, - "resolved": true, + "comment_count": 0, + "resolved": false, "labels": [ - "self-hosting" + "integration-openai", + "integration-litellm" ], "author": { - "login": "tzsombor95", - "html_url": "https://github.com/tzsombor95" + "login": "Manouchehri", + "html_url": "https://github.com/Manouchehri" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1512, - "title": "[Alerts] Connect to Slack", - "href": "https://github.com/orgs/langfuse/discussions/1512", - "created_at": "2024-03-27T08:04:49Z", - "upvotes": 4, - "comment_count": 1, - "resolved": true, - "labels": [], + "number": 1011, + "title": "Configurable dashboards", + "href": "https://github.com/orgs/langfuse/discussions/1011", + "created_at": "2024-01-31T13:40:59Z", + "upvotes": 17, + "comment_count": 2, + "resolved": false, + "labels": [ + "ui", + "feat-dashboard" + ], "author": { - "login": "hypernovas", - "html_url": "https://github.com/hypernovas" + "login": "marcklingen", + "html_url": "https://github.com/marcklingen" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1486, - "title": "Update/delete score using python sdk", - "href": "https://github.com/orgs/langfuse/discussions/1486", - "created_at": "2024-03-25T20:13:55Z", - "upvotes": 5, + "number": 1010, + "title": "Add new integration: LLM Proxy", + "href": "https://github.com/orgs/langfuse/discussions/1010", + "created_at": "2024-01-31T12:40:35Z", + "upvotes": 2, "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [ - "feat-scores" + "integrations" ], "author": { - "login": "msanand", - "html_url": "https://github.com/msanand" + "login": "marcklingen", + "html_url": "https://github.com/marcklingen" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1481, - "title": "502-Bad Request", - "href": "https://github.com/orgs/langfuse/discussions/1481", - "created_at": "2024-03-22T13:06:18Z", - "upvotes": 1, + "number": 1009, + "title": "Decorator-based integration with Langfuse", + "href": "https://github.com/orgs/langfuse/discussions/1009", + "created_at": "2024-01-31T12:19:26Z", + "upvotes": 7, "comment_count": 3, - "resolved": true, + "resolved": false, "labels": [ - "self-hosting" + "sdk-python", + "integrations", + "✅ Done", + "integration-python-decorator" ], "author": { - "login": "tbarbito", - "html_url": "https://github.com/tbarbito" + "login": "marcklingen", + "html_url": "https://github.com/marcklingen" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1466, - "title": "bug: Potential bug with AzureAD auth setup", - "href": "https://github.com/orgs/langfuse/discussions/1466", - "created_at": "2024-03-22T07:12:43Z", - "upvotes": 1, - "comment_count": 1, + "number": 1004, + "title": "should work with OpenAI-compatible self-hosted endpoints", + "href": "https://github.com/orgs/langfuse/discussions/1004", + "created_at": "2024-01-31T09:04:28Z", + "upvotes": 2, + "comment_count": 2, "resolved": false, "labels": [ - "self-hosting" + "sdk-python", + "integration-openai" ], "author": { - "login": "mprudra", - "html_url": "https://github.com/mprudra" + "login": "7flash", + "html_url": "https://github.com/7flash" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1449, - "title": "Langfuse session ID when using Chainlit", - "href": "https://github.com/orgs/langfuse/discussions/1449", - "created_at": "2024-03-20T00:57:09Z", - "upvotes": 1, - "comment_count": 2, + "number": 999, + "title": "Users should be able to pass metadata and tags via `overrideConfig` when using the Flowise integration", + "href": "https://github.com/orgs/langfuse/discussions/999", + "created_at": "2024-01-30T19:52:41Z", + "upvotes": 2, + "comment_count": 1, "resolved": false, - "labels": [], + "labels": [ + "sdk-js", + "integration-flowise", + "✅ Done" + ], "author": { - "login": "tituslhy", - "html_url": "https://github.com/tituslhy" + "login": "giorgosera", + "html_url": "https://github.com/giorgosera" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1445, - "title": "Linking dataset run items with existing callback handler", - "href": "https://github.com/orgs/langfuse/discussions/1445", - "created_at": "2024-03-19T16:54:54Z", + "number": 991, + "title": "Inferring cost of trace from metadata field if optionally provided", + "href": "https://github.com/orgs/langfuse/discussions/991", + "created_at": "2024-01-30T07:38:56Z", "upvotes": 1, - "comment_count": 1, + "comment_count": 2, "resolved": false, - "labels": [ - "feat-datasets" - ], + "labels": [], "author": { - "login": "subandwho", - "html_url": "https://github.com/subandwho" + "login": "sumba101", + "html_url": "https://github.com/sumba101" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1434, - "title": "Add UserID and Feedback when using LlamaIndex Integration", - "href": "https://github.com/orgs/langfuse/discussions/1434", - "created_at": "2024-03-18T20:24:29Z", - "upvotes": 1, - "comment_count": 1, - "resolved": true, + "number": 990, + "title": "filtering sessions with metadata", + "href": "https://github.com/orgs/langfuse/discussions/990", + "created_at": "2024-01-30T06:21:42Z", + "upvotes": 7, + "comment_count": 2, + "resolved": false, "labels": [ - "integraton-llamaindex" + "ui", + "feat-sessions", + "feat-metadata" ], "author": { - "login": "skelleex", - "html_url": "https://github.com/skelleex" + "login": "litagent", + "html_url": "https://github.com/litagent" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1432, - "title": "langfuse.api.resources.commons.errors.not_found_error.NotFoundError: status_code: 404, body: {'message': 'Observation not found'}", - "href": "https://github.com/orgs/langfuse/discussions/1432", - "created_at": "2024-03-18T13:29:05Z", + "number": 989, + "title": "Enable Collaboration Platforms for Project Members", + "href": "https://github.com/orgs/langfuse/discussions/989", + "created_at": "2024-01-30T04:00:26Z", "upvotes": 1, "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "emailic", - "html_url": "https://github.com/emailic" + "login": "khareyash05", + "html_url": "https://github.com/khareyash05" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1429, - "title": "Hybrid usage Langfuse among OpenAI calls as well Langchain", - "href": "https://github.com/orgs/langfuse/discussions/1429", - "created_at": "2024-03-17T14:09:57Z", - "upvotes": 1, - "comment_count": 1, - "resolved": true, - "labels": [], + "number": 982, + "title": "Supporting OpenAI Vision", + "href": "https://github.com/orgs/langfuse/discussions/982", + "created_at": "2024-01-29T19:06:44Z", + "upvotes": 7, + "comment_count": 2, + "resolved": false, + "labels": [ + "integration-openai", + "✅ Done", + "feat-multimodal" + ], "author": { - "login": "mikeon", - "html_url": "https://github.com/mikeon" + "login": "pj747", + "html_url": "https://github.com/pj747" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1420, - "title": "Datasets list / by id", - "href": "https://github.com/orgs/langfuse/discussions/1420", - "created_at": "2024-03-15T02:22:27Z", - "upvotes": 2, - "comment_count": 2, - "resolved": true, + "number": 980, + "title": "Comments on objects across the Langfuse UI", + "href": "https://github.com/orgs/langfuse/discussions/980", + "created_at": "2024-01-29T18:21:03Z", + "upvotes": 3, + "comment_count": 3, + "resolved": false, "labels": [ - "feat-datasets" + "ui", + "✅ Done" ], "author": { - "login": "norton120", - "html_url": "https://github.com/norton120" + "login": "marcklingen", + "html_url": "https://github.com/marcklingen" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1417, - "title": "Running Langfuse in Kubernetes", - "href": "https://github.com/orgs/langfuse/discussions/1417", - "created_at": "2024-03-14T19:59:42Z", - "upvotes": 1, - "comment_count": 2, - "resolved": true, - "labels": [], + "number": 976, + "title": "Support alternative databases next to Postgres, e.g. MySQL", + "href": "https://github.com/orgs/langfuse/discussions/976", + "created_at": "2024-01-28T21:44:11Z", + "upvotes": 3, + "comment_count": 6, + "resolved": false, + "labels": [ + "self-hosting" + ], "author": { - "login": "mikeon", - "html_url": "https://github.com/mikeon" + "login": "zoltan-fedor", + "html_url": "https://github.com/zoltan-fedor" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1382, - "title": "Match LLMs from AWS Bedrock to added model definition", - "href": "https://github.com/orgs/langfuse/discussions/1382", - "created_at": "2024-03-09T08:28:53Z", + "number": 969, + "title": "Flowise - OpenAI Assistant cost tracking", + "href": "https://github.com/orgs/langfuse/discussions/969", + "created_at": "2024-01-26T18:04:07Z", "upvotes": 2, "comment_count": 0, "resolved": false, - "labels": [], + "labels": [ + "integration-flowise" + ], "author": { - "login": "DominikNeumaier", - "html_url": "https://github.com/DominikNeumaier" + "login": "jozsef-gereby", + "html_url": "https://github.com/jozsef-gereby" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1380, - "title": "Langfuse flush() taking a long time and hangs", - "href": "https://github.com/orgs/langfuse/discussions/1380", - "created_at": "2024-03-09T00:09:55Z", - "upvotes": 1, - "comment_count": 2, - "resolved": true, - "labels": [], + "number": 964, + "title": "Latency metrics - Time to first token, Tokens per second", + "href": "https://github.com/orgs/langfuse/discussions/964", + "created_at": "2024-01-26T15:37:01Z", + "upvotes": 8, + "comment_count": 3, + "resolved": false, + "labels": [ + "✅ Done" + ], "author": { - "login": "venu-shapley", - "html_url": "https://github.com/venu-shapley" + "login": "nikcaryo-super", + "html_url": "https://github.com/nikcaryo-super" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1373, - "title": "How to fix error when running docs app demo chat", - "href": "https://github.com/orgs/langfuse/discussions/1373", - "created_at": "2024-03-08T00:08:46Z", - "upvotes": 1, - "comment_count": 1, - "resolved": true, + "number": 958, + "title": "LLM calls captured via Langchain integration should match what’s sent to the LLM", + "href": "https://github.com/orgs/langfuse/discussions/958", + "created_at": "2024-01-25T16:45:38Z", + "upvotes": 3, + "comment_count": 2, + "resolved": false, "labels": [], "author": { - "login": "luandro", - "html_url": "https://github.com/luandro" + "login": "benm5678", + "html_url": "https://github.com/benm5678" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1357, - "title": "Run items not appearing when linking to a trace and not a span or a generation", - "href": "https://github.com/orgs/langfuse/discussions/1357", - "created_at": "2024-03-07T10:17:34Z", + "number": 953, + "title": "Improve integration with flowise", + "href": "https://github.com/orgs/langfuse/discussions/953", + "created_at": "2024-01-24T19:57:06Z", "upvotes": 1, "comment_count": 2, - "resolved": true, + "resolved": false, "labels": [ - "feat-datasets" + "sdk-js", + "integration-flowise" ], "author": { - "login": "ladislasdellinger", - "html_url": "https://github.com/ladislasdellinger" + "login": "tsiougkosn", + "html_url": "https://github.com/tsiougkosn" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1353, - "title": "How do I add custom LLM APIs to the Langfuse UI?", - "href": "https://github.com/orgs/langfuse/discussions/1353", - "created_at": "2024-03-07T06:33:23Z", - "upvotes": 0, - "comment_count": 1, + "number": 941, + "title": "Dark mode", + "href": "https://github.com/orgs/langfuse/discussions/941", + "created_at": "2024-01-24T05:52:30Z", + "upvotes": 9, + "comment_count": 5, "resolved": false, - "labels": [], + "labels": [ + "✅ Done" + ], "author": { - "login": "yudhiesh", - "html_url": "https://github.com/yudhiesh" + "login": "archywillhe", + "html_url": "https://github.com/archywillhe" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1336, - "title": "Applying database migrations failed. This is mostly caused by the database being unavailable.", - "href": "https://github.com/orgs/langfuse/discussions/1336", - "created_at": "2024-03-06T09:10:19Z", - "upvotes": 1, - "comment_count": 2, + "number": 939, + "title": "Full-text search on trace/observation/generation input/output", + "href": "https://github.com/orgs/langfuse/discussions/939", + "created_at": "2024-01-23T23:47:11Z", + "upvotes": 28, + "comment_count": 10, "resolved": false, - "labels": [], + "labels": [ + "ui" + ], "author": { - "login": "everyfin-in", - "html_url": "https://github.com/everyfin-in" + "login": "marcklingen", + "html_url": "https://github.com/marcklingen" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1335, - "title": "Openai and null traces for input/output/metadata", - "href": "https://github.com/orgs/langfuse/discussions/1335", - "created_at": "2024-03-06T02:02:46Z", - "upvotes": 2, - "comment_count": 0, + "number": 917, + "title": "Download dashboard details", + "href": "https://github.com/orgs/langfuse/discussions/917", + "created_at": "2024-01-21T16:35:24Z", + "upvotes": 8, + "comment_count": 3, "resolved": false, "labels": [], "author": { - "login": "aiakubovich", - "html_url": "https://github.com/aiakubovich" + "login": "kerenaba", + "html_url": "https://github.com/kerenaba" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1328, - "title": "Incompatibility between openllmetry and langfuse OpenAI wrapper", - "href": "https://github.com/orgs/langfuse/discussions/1328", - "created_at": "2024-03-05T17:03:34Z", - "upvotes": 1, + "number": 902, + "title": "Support secret in docker compose", + "href": "https://github.com/orgs/langfuse/discussions/902", + "created_at": "2024-01-17T14:03:26Z", + "upvotes": 2, "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "pamelafox", - "html_url": "https://github.com/pamelafox" + "login": "shuther", + "html_url": "https://github.com/shuther" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1326, - "title": "Does Langfuse integrate with LiteLLM Proxy Server?", - "href": "https://github.com/orgs/langfuse/discussions/1326", - "created_at": "2024-03-05T15:25:37Z", + "number": 896, + "title": "generation usage should accept a list of dict for async generation", + "href": "https://github.com/orgs/langfuse/discussions/896", + "created_at": "2024-01-17T05:59:24Z", "upvotes": 1, "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [], "author": { - "login": "alphanome", - "html_url": "https://github.com/alphanome" + "login": "dove-young", + "html_url": "https://github.com/dove-young" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1325, - "title": "Do you need a helm chart of langfuse?", - "href": "https://github.com/orgs/langfuse/discussions/1325", - "created_at": "2024-03-05T15:02:42Z", - "upvotes": 1, - "comment_count": 1, + "number": 874, + "title": "Improve exception handling and type safety in python SDK", + "href": "https://github.com/orgs/langfuse/discussions/874", + "created_at": "2024-01-12T17:01:58Z", + "upvotes": 5, + "comment_count": 3, "resolved": false, "labels": [], "author": { - "login": "artemus717", - "html_url": "https://github.com/artemus717" + "login": "hubert-springbok", + "html_url": "https://github.com/hubert-springbok" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1323, - "title": "When referencing the local langfuse in the langserve code, an error occurs:“ImportError: cannot import name 'ChatDeepInfra' from 'langchain_community.chat_models...”", - "href": "https://github.com/orgs/langfuse/discussions/1323", - "created_at": "2024-03-05T13:03:49Z", - "upvotes": 2, - "comment_count": 2, - "resolved": true, + "number": 854, + "title": "Feature: API should give User-Tokens", + "href": "https://github.com/orgs/langfuse/discussions/854", + "created_at": "2024-01-09T14:26:47Z", + "upvotes": 6, + "comment_count": 0, + "resolved": false, "labels": [], "author": { - "login": "zhenlong-zhu", - "html_url": "https://github.com/zhenlong-zhu" + "login": "droggta", + "html_url": "https://github.com/droggta" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1225, - "title": "Can Langfuse be used to record the records of ConversationChain in LangChain?", - "href": "https://github.com/orgs/langfuse/discussions/1225", - "created_at": "2024-02-22T09:24:34Z", - "upvotes": 1, - "comment_count": 1, - "resolved": true, + "number": 852, + "title": "Add prompt.to_langchain() to get a Langchain Prompt Template", + "href": "https://github.com/orgs/langfuse/discussions/852", + "created_at": "2024-01-09T13:20:55Z", + "upvotes": 7, + "comment_count": 2, + "resolved": false, "labels": [ - "integration-langchain" + "integrations", + "feat-prompt-management", + "✅ Done" ], "author": { - "login": "lyzltysgithub", - "html_url": "https://github.com/lyzltysgithub" - }, - "category": "Support" - }, - { - "number": 1193, - "title": "What is the shadow database needed for?", - "href": "https://github.com/orgs/langfuse/discussions/1193", - "created_at": "2024-02-17T08:23:33Z", - "upvotes": 1, - "comment_count": 2, - "resolved": true, - "labels": [], - "author": { - "login": "Stadly", - "html_url": "https://github.com/Stadly" + "login": "marcklingen", + "html_url": "https://github.com/marcklingen" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1184, - "title": "Unable to set session id or other CallbackHandler parameters when passing trace client in langchain sdk", - "href": "https://github.com/orgs/langfuse/discussions/1184", - "created_at": "2024-02-16T08:01:51Z", - "upvotes": 1, + "number": 853, + "title": "feat(ui): Dashboard filter and highlight", + "href": "https://github.com/orgs/langfuse/discussions/853", + "created_at": "2024-01-09T05:37:34Z", + "upvotes": 2, "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [ - "integration-langchain" + "ui", + "Dashboard" ], "author": { - "login": "sasidevtool", - "html_url": "https://github.com/sasidevtool" + "login": "lkNGAT", + "html_url": "https://github.com/lkNGAT" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1186, - "title": "How to set tags when using the Langchain Callback handler", - "href": "https://github.com/orgs/langfuse/discussions/1186", - "created_at": "2024-02-16T05:47:31Z", - "upvotes": 2, + "number": 844, + "title": "Integration: Node.js/Typescript OpenAI SDK", + "href": "https://github.com/orgs/langfuse/discussions/844", + "created_at": "2024-01-08T22:39:27Z", + "upvotes": 8, "comment_count": 2, - "resolved": true, + "resolved": false, "labels": [ - "sdk-python", - "integration-langchain", - "feat-tags" + "sdk-js", + "integrations", + "✅ Done" ], "author": { - "login": "reza-mohideen", - "html_url": "https://github.com/reza-mohideen" + "login": "marcklingen", + "html_url": "https://github.com/marcklingen" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1179, - "title": "Ollama token counts", - "href": "https://github.com/orgs/langfuse/discussions/1179", - "created_at": "2024-02-15T23:38:39Z", - "upvotes": 2, - "comment_count": 2, - "resolved": true, + "number": 828, + "title": "LlamaIndex integration (Python)", + "href": "https://github.com/orgs/langfuse/discussions/828", + "created_at": "2024-01-06T18:21:02Z", + "upvotes": 20, + "comment_count": 7, + "resolved": false, "labels": [ - "feat-cost-tracking" + "sdk-python", + "integrations", + "✅ Done", + "integraton-llamaindex" ], "author": { - "login": "aiseei", - "html_url": "https://github.com/aiseei" + "login": "marcklingen", + "html_url": "https://github.com/marcklingen" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1310, - "title": "Trace of custom classes gives nondescriptive info", - "href": "https://github.com/orgs/langfuse/discussions/1310", - "created_at": "2024-02-06T14:13:26Z", - "upvotes": 1, - "comment_count": 0, + "number": 1007, + "title": "Admin API: projects, api keys, user management", + "href": "https://github.com/orgs/langfuse/discussions/1007", + "created_at": "2023-12-21T13:22:28Z", + "upvotes": 24, + "comment_count": 13, "resolved": false, - "labels": [], - "author": { - "login": "mjungiewicz-exadel", - "html_url": "https://github.com/mjungiewicz-exadel" - }, - "category": "Support" - }, - { - "number": 1091, - "title": "How to pass span id to OpenAI `chat.completions.create`", - "href": "https://github.com/orgs/langfuse/discussions/1091", - "created_at": "2024-02-06T09:33:30Z", - "upvotes": 1, - "comment_count": 1, - "resolved": true, "labels": [ - "integration-openai" + "feat-api", + "self-hosting" ], "author": { - "login": "techytushar", - "html_url": "https://github.com/techytushar" + "login": "maxxte", + "html_url": "https://github.com/maxxte" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1081, - "title": "Sessions vs Traces?", - "href": "https://github.com/orgs/langfuse/discussions/1081", - "created_at": "2024-02-05T21:06:03Z", + "number": 1006, + "title": "Versioning of docs", + "href": "https://github.com/orgs/langfuse/discussions/1006", + "created_at": "2023-12-18T01:27:09Z", "upvotes": 1, - "comment_count": 2, - "resolved": true, + "comment_count": 1, + "resolved": false, "labels": [ - "feat-sessions" + "docs" ], "author": { - "login": "Manouchehri", - "html_url": "https://github.com/Manouchehri" + "login": "flxwu", + "html_url": "https://github.com/flxwu" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1071, - "title": "feat: support for custom httpx.client", - "href": "https://github.com/orgs/langfuse/discussions/1071", - "created_at": "2024-02-05T06:35:23Z", - "upvotes": 1, - "comment_count": 2, + "number": 1008, + "title": "Datasets: Diff of output and expected output", + "href": "https://github.com/orgs/langfuse/discussions/1008", + "created_at": "2023-11-29T00:35:13Z", + "upvotes": 6, + "comment_count": 3, "resolved": false, - "labels": [], - "author": { - "login": "brandonkzw", - "html_url": "https://github.com/brandonkzw" - }, - "category": "Support" - }, - { - "number": 1070, - "title": "Where to log request and response headers of generations? (litellm)", - "href": "https://github.com/orgs/langfuse/discussions/1070", - "created_at": "2024-02-05T02:40:38Z", - "upvotes": 1, - "comment_count": 2, - "resolved": true, "labels": [ - "integration-litellm" + "ui", + "feat-datasets" ], "author": { - "login": "Manouchehri", - "html_url": "https://github.com/Manouchehri" - }, - "category": "Support" - }, - { - "number": 1055, - "title": "Best way to flush LF in Next.js?", - "href": "https://github.com/orgs/langfuse/discussions/1055", - "created_at": "2024-02-02T17:50:58Z", - "upvotes": 1, - "comment_count": 1, - "resolved": true, - "labels": [], - "author": { - "login": "gullerg", - "html_url": "https://github.com/gullerg" - }, - "category": "Support" - }, - { - "number": 1054, - "title": "Sentry for self-hosted?", - "href": "https://github.com/orgs/langfuse/discussions/1054", - "created_at": "2024-02-02T17:21:06Z", - "upvotes": 1, - "comment_count": 1, - "resolved": true, - "labels": [], - "author": { - "login": "Manouchehri", - "html_url": "https://github.com/Manouchehri" + "login": "marcklingen", + "html_url": "https://github.com/marcklingen" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1051, - "title": "How can I get the trace_id in langfuse.openai.OpenAI?", - "href": "https://github.com/orgs/langfuse/discussions/1051", - "created_at": "2024-02-02T09:39:55Z", + "number": 1066, + "title": "feat: Publish arm64 compatible docker images", + "href": "https://github.com/orgs/langfuse/discussions/1066", + "created_at": "2023-11-08T16:06:08Z", "upvotes": 1, - "comment_count": 1, - "resolved": true, + "comment_count": 10, + "resolved": false, "labels": [ - "integration-openai" + "✅ Done", + "self-hosting" ], "author": { - "login": "yangge2333", - "html_url": "https://github.com/yangge2333" - }, - "category": "Support" - }, - { - "number": 1044, - "title": "AWS SES IAM Policy", - "href": "https://github.com/orgs/langfuse/discussions/1044", - "created_at": "2024-02-02T01:58:26Z", - "upvotes": 2, - "comment_count": 1, - "resolved": false, - "labels": [], - "author": { - "login": "Manouchehri", - "html_url": "https://github.com/Manouchehri" - }, - "category": "Support" - }, - { - "number": 1019, - "title": "WAF Rules for self-hosted", - "href": "https://github.com/orgs/langfuse/discussions/1019", - "created_at": "2024-02-01T01:41:51Z", - "upvotes": 3, - "comment_count": 0, - "resolved": false, - "labels": [], - "author": { - "login": "Manouchehri", - "html_url": "https://github.com/Manouchehri" - }, - "category": "Support" - }, - { - "number": 1016, - "title": "Scaling / Parallelism / Concurrency safe?", - "href": "https://github.com/orgs/langfuse/discussions/1016", - "created_at": "2024-01-31T22:33:36Z", - "upvotes": 1, - "comment_count": 1, - "resolved": true, - "labels": [], - "author": { - "login": "Manouchehri", - "html_url": "https://github.com/Manouchehri" - }, - "category": "Support" - }, - { - "number": 1013, - "title": "Building Docker container without database connection?", - "href": "https://github.com/orgs/langfuse/discussions/1013", - "created_at": "2024-01-31T19:32:47Z", - "upvotes": 1, - "comment_count": 2, - "resolved": true, - "labels": [], - "author": { - "login": "Manouchehri", - "html_url": "https://github.com/Manouchehri" - }, - "category": "Support" - }, - { - "number": 973, - "title": "If we use cloud services, when we migrate to our own host later, do all the above data support export?", - "href": "https://github.com/orgs/langfuse/discussions/973", - "created_at": "2024-01-27T09:55:41Z", - "upvotes": 1, - "comment_count": 1, - "resolved": true, - "labels": [], - "author": { - "login": "wsdo", - "html_url": "https://github.com/wsdo" + "login": "code-haven", + "html_url": "https://github.com/code-haven" }, - "category": "Support" + "category": "Ideas" }, { - "number": 866, - "title": "Cannot see Add to Dataset button in the UI", - "href": "https://github.com/orgs/langfuse/discussions/866", - "created_at": "2024-01-11T09:12:16Z", + "number": 1065, + "title": "OpenAI SDK wrapper for JS", + "href": "https://github.com/orgs/langfuse/discussions/1065", + "created_at": "2023-09-15T10:55:35Z", "upvotes": 1, - "comment_count": 2, - "resolved": true, + "comment_count": 3, + "resolved": false, "labels": [ - "feat-datasets" + "sdk-js", + "integrations", + "integration-openai", + "✅ Done" ], "author": { - "login": "SinghCoder", - "html_url": "https://github.com/SinghCoder" + "login": "marcklingen", + "html_url": "https://github.com/marcklingen" }, - "category": "Support" + "category": "Ideas" } ] }, From ef701d6b8d235c537f1a5a686b2c4d315279809b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jannik=20Maierh=C3=B6fer?= <48529566+jannikmaierhoefer@users.noreply.github.com> Date: Tue, 26 Nov 2024 19:41:26 +0100 Subject: [PATCH 11/21] docs: add lobechat integration (#1016) * docs: add lobechat integration * Update pages/docs/integrations/lobechat.mdx Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com> --------- Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com> Co-authored-by: Clemo <121163007+clemra@users.noreply.github.com> --- pages/cn.mdx | 2 +- pages/docs/integrations/_meta.tsx | 1 + pages/docs/integrations/lobechat.mdx | 84 ++++++++++++++++++ pages/docs/integrations/overview.mdx | 1 + public/images/docs/lobechat-converstation.png | Bin 0 -> 312497 bytes .../docs/lobechat-docker-desktop-env.png | Bin 0 -> 31341 bytes public/images/docs/lobechat-example-trace.png | Bin 0 -> 203536 bytes public/images/docs/lobechat-settings.png | Bin 0 -> 119049 bytes 8 files changed, 87 insertions(+), 1 deletion(-) create mode 100644 pages/docs/integrations/lobechat.mdx create mode 100644 public/images/docs/lobechat-converstation.png create mode 100644 public/images/docs/lobechat-docker-desktop-env.png create mode 100644 public/images/docs/lobechat-example-trace.png create mode 100644 public/images/docs/lobechat-settings.png diff --git a/pages/cn.mdx b/pages/cn.mdx index 5bd2926fe..057b09680 100644 --- a/pages/cn.mdx +++ b/pages/cn.mdx @@ -62,7 +62,7 @@ Langfuse 提供一系列功能,可在人工智能产品的整个周期中为 ### **集成** * **框架支持**:与 [LangChain](/docs/integrations/langchain/tracing)、[LlamaIndex](/docs/integrations/llama-index/get-started) 和 [AWS Bedrock](/docs/integrations/amazon-bedrock) 等流行的 LLM 框架集成。 -* **工具支持**:与 [Dify](/docs/integrations/dify) 或 [Langflow](/docs/integrations/langflow) 等无代码构建工具集成。 +* **工具支持**:与 [Dify](/docs/integrations/dify) 或 [LobeChat](/docs/integrations/lobechat) 等无代码构建工具集成。 * **应用程序接口(API**):利用我们开放且功能强大的[应用程序接口](https://api.reference.langfuse.com/#get-/api/public/comments)进行自定义集成和工作流程自动化。 ## **开始使用 Langfuse** diff --git a/pages/docs/integrations/_meta.tsx b/pages/docs/integrations/_meta.tsx index 16cfec6cc..065be7159 100644 --- a/pages/docs/integrations/_meta.tsx +++ b/pages/docs/integrations/_meta.tsx @@ -17,5 +17,6 @@ export default { "mistral-sdk": "Mistral SDK", promptfoo: "Promptfoo", openwebui: "OpenWebUI", + lobechat: "LobeChat", other: "More Ways to Integrate", }; diff --git a/pages/docs/integrations/lobechat.mdx b/pages/docs/integrations/lobechat.mdx new file mode 100644 index 000000000..ef1681eda --- /dev/null +++ b/pages/docs/integrations/lobechat.mdx @@ -0,0 +1,84 @@ +--- +title: Observability and Tracing for LobeChat +description: Enhance your LobeChat applications with open-source observability and tracing using Langfuse. Automatically capture detailed traces and metrics for every request to optimize and debug your chats. +--- + +# Langfuse Integration with LobeChat + +## What is LobeChat? + +[LobeChat](https://lobehub.com/) is an **[open-source](https://github.com/lobehub/lobe-chat) LLM chat platform** that seamlessly integrates with various AI models and tools, providing users with an intuitive interface to interact with advanced language technologies. + +## What is Langfuse? + +[Langfuse](https://langfuse.com/) is one of the most used **open-source LLM Observability platforms**. By enabling the Langfuse integration, you can trace your application data with Langfuse to develop, monitor, and improve the use of LobeChat, including: + +- Application [traces](/docs/tracing) +- Usage patterns +- Cost data by user and model +- [Evaluations](/docs/scores/overview) + +## Get Started + + + +### Set up Langfuse + +Get your Langfuse API key by signing up for [Langfuse Cloud](https://cloud.langfuse.com) or [self-hosting](/docs/deployment/self-host) Langfuse. + +### Set up LobeChat + +There are multiple ways to [self-host LobeChat](https://lobehub.com/docs/self-hosting/start). For this example, we will use the Docker Desktop deployment. + + + + +Before deploying LobeChat, set the following four environment variables with the Langfuse API keys you created in the previous step. + +```sh +ENABLE_LANGFUSE = '1' +LANGFUSE_SECRET_KEY = 'sk-lf...' +LANGFUSE_PUBLIC_KEY = 'pk-lf...' +LANGFUSE_HOST = 'https://cloud.langfuse.com' +``` + + + + +Before running the Docker container, set the environment variables in the Docker Desktop with the Langfuse API keys you created in the previous step. + + +![Environment Variables in Docker Desktop](/images/docs/lobechat-docker-desktop-env.png) + + + + + +### Activate Analytics in Settings + +Once you have LobeChat running, navigate to the **About** tab in the **Settings** and activate analytics. This is necessary for traces to be sent to Langfuse. + + +![LobeChat Settings](/images/docs/lobechat-settings.png) + + +### See your traces in Langfuse + +After setting your LLM model key, you can start interacting with your LobeChat application. + + +![LobeChat Conversation](/images/docs/lobechat-converstation.png) + + +All conversations in the chat are automatically traced and sent to Langfuse. You can view the traces in the [Traces section](/docs/tracing) of the Langfuse platform. + + +![LobeChat Example Trace](/images/docs/lobechat-example-trace.png) + +_[Example trace in the Langfuse UI](https://cloud.langfuse.com/project/cloramnkj0002jz088vzn1ja4/traces/63e9246d-3f22-4e45-936d-b0c4ccf55a1e?timestamp=2024-11-26T17%3A00%3A02.028Z&observation=7ea75a0c-d9d1-425c-9b88-27561c63b413)_ + + + +## Feedback + +If you have any feedback or requests, please create a GitHub [Issue](/issue) or share your work with the community on [Discord](https://discord.langfuse.com/). \ No newline at end of file diff --git a/pages/docs/integrations/overview.mdx b/pages/docs/integrations/overview.mdx index 9f2636cd9..b59a7a50e 100644 --- a/pages/docs/integrations/overview.mdx +++ b/pages/docs/integrations/overview.mdx @@ -39,6 +39,7 @@ Objective: | [Dify](/docs/integrations/dify) | Chat/Agent UI | Open source LLM app development platform with no-code builder. | | [OpenWebUI](/docs/integrations/openwebui) | Chat/Agent UI | Self-hosted LLM Chat web ui supporting various LLM runners including self-hosted and local models. | | [Promptfoo](/docs/integrations/promptfoo) | Tool | Open source LLM testing platform. | +| [LobeChat](/docs/integrations/lobechat) | Chat/Agent UI | Open source chatbot platform. | Unsure which integration to choose? Ask us on [Discord](/discord) or in the chat. diff --git a/public/images/docs/lobechat-converstation.png b/public/images/docs/lobechat-converstation.png new file mode 100644 index 0000000000000000000000000000000000000000..e896a0c48f15aa0b6ac8326b3b9dcdae9c869a91 GIT binary patch literal 312497 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
R#5a9*tQMAKmhjo5T{4JEUrZ&F8uuc$KK3@ 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

3MtqkUyj~%TJS2x?`TS_Ynp#ejBkmoj9`E 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%0AxBgFfGN;e^Yg6PX@&iipQ^*8e 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

aKH6ebikEs(t5=2R`d20OQZ%QmF^1|arg{-O zgrm~EySe?HSkjWTh>PV8O)!-jpyfN#Zf3@%^FeQsQ;_sF9wdbe5 z4wQ}(y-Ctcr_MMNRZT&fQf-bRVK*x&bP1s5%M;#KjIIi+O^;?^_Cc(In_YGdyUWx8 zlN1S5U7)(c-)oDs)#BWuPKa6C@1?r6#cMLH`f%Ly2$#8FgzP96m9Bj)(BUXrIL}4$ z{c$s30Hhjf&4gz>8#sge+8(zxfmZ2Yko!X>Emna%=Ck zb@7SEV|s1hFHh|J;We^r;D1o=&gC$t`6}xz`#EZ9+;YG65`t70YWYCd5bkM(y6>72B;Wto3{61VK1i3O{`B^EecLoEfui|am4^i({ zB>pk6EtDF`10GP}DwqC^5_Z{Bf}rO+Q{QI%o*+|HvYDO;=k?|c{py;d1qXmL>l$u4 zHau4eZF0tYhuV>_Jd2h;M(aeX^22x|=SRF&)9g+l z6+D)LyX+hVyjYAL#tUW#|Fydt%OU4N-J|K%k43}yh9iT)%P8?HDNa_i(%UZrz?8xB z5qxh>9R?mY^o6V7)b0!f%Gkd6pb7XwVPfpSYZz{?R)`1|ANCQ5uJg$D8S=+x5HdyP zKiWb|95Hy;XXr)tkVt32YpJGrnn{JTa~45zzfeP-JH)%t=a;<^#@DrzAdA%m{6I&VHv`_6km=)teMqFTk>slqr)Z;`Qr~0(Bdk{im6Fiu5ty^pC^@r3O=$rqoJEP z$wz1rer6shMX_JlOQhfG(jbFOT2Ed2_{XOgJORTmHeW1Uzt)boc|rO5sR!j0J-=44 zE*LHIfG+LfTL0u90_@L9{{ob!Y!R|cXr$*_zP%j zGNDMJlJs^Ldm|u}y!()h|2>>O{T;-|Lj&{sh#eZ3|Bl8pkPPOaq5hwszL~2W znj|o|Mppjo_P>Ss|41cR-lY;GLG}NGn1AMX%wO<7NIU$Ym|7i50t5ubf!u#8Do#|n zL?L)lqWthBxq(wCMKs6I9w3o@t>l%_@nI1@z<1~Rr$6y8NY6T~G}rextq0aBFyDcx zmkn~p^D}q)+9839En%7w%FCp;MqkrIH)8HrfG_YXoUVIHMAjbPFQqb3qn3;?aQ$Ay z^;lApCU!c}b}YSLg)JGPmmnNwgf5tW10S)P*E{!>1VhUHYvInac8o#AW#W%X%~5E( z9}v>tXJ~z4|7#J~dIsXu-~Gec;ICq!Q1|x=uiebAO?&4nQ+JE$yN5H<)TI8kxZJ*! zzx)2+?8na5k+t5!-3`KNDj8}(1zNu=aG$ZhWO?`E%mF&8VFtWPyEbS^kLB(br<;j! zS>L^ADV!thLx_8{*PTz8LxKprdymj7(^AwhoFFX?kG%9{2LfTsV@tW+TW-8sF9eL` z#>v~(g~Ju71N*E9b@6PUX47i(Y0q6UPw9B({3eE|D~GgmliqzNv{Rq>92t7&hqq=Y zgF9b+_8B`jYwX2T1@KG=K*{X6_zNk%pvyx6bn$u5q7n`~4VG6VM8fsx7%=A@s4onz&z9 zK7%f{qwqh#ZSd#l@G6B;6Dgof|0DA$H#~pqI#uy+~5~O>NEMW##>Hm}f zK#y2#08GMn&j8-uJM71OV@a!uK>c6A9rs|83?yhR!*DT*_xJvzaR8hTH2+rR@TRK9{KOj?yDabT3kB%xtf%UbH*9!TQ zp(tGjeDrEmw61a|*1OLhf@qwU-Xiwj#x0LL(a6vm)~eRtBrGhnN5c+4g~HSXi1x## zq1mpa!QtTGTs<=tu&#{Xt^Ya^kF~t5$?wZ@bF{|fN)+W_d0kI`{OuW+R29qD3+y%L z>l+hw56a`pZx=(}mH5EgF~BO4*m(ex!;57)Sx#M3`}8<|LnHM-{dQD)B|}ieiZi~q zy-6}(X8dzzuOa`+qnCCDy04kJK}Q5U+g=Y~lAx?N^a4f@urc2`70Kn4@Y~lu$$Hgw z?h%lPF>uc0IiEO|hntqBVGBGg3~w9&ofw3(07N?I)0K*pZVaTj#G%PWGeAm$pju#r zoYAEq;p4GBQv3*R868W_e<=$bROx0j#0B@y$9aT77j$S+y)^KwJE8fpLj#{Utu~vF zTz6*I61B#DEmn-Q9E}my+~PqdhV3*R7xjw3SBw|rv!iZl#n1|0o4Q}Mx=sjpp!(#! zZ{Q-Rz=*O5Kg532me5=Gmdc0u=c+p=gl?|(HnXg*M5W}`(&8Hta*AX=x(LxnNR<1w zvN;z@+{ZV5d#v%j8hDlCV?{QKdJ}7hlW1BI!1md02}N1V_IvJWJC_ydQ8O%(1Y zNeP}e8(6+I*mgOsIz^#1xSbF=Vt;Yk-*L2fvJfb2^u&08lB2q^h`1dr$XMaG((66F zfmXE&@H7By3FS8s=-fgz&$2fKsYF68`%Jv5=5jtTZ@B#?YV?I5h-yo1k(B#~gdnKR zKzXrZ2+nqA?3*i@vD!435?4m9z}!!36Y4ypVr|JtS#RoW!$LuR$>S>p#fdBK7yV(+ zlv(^>$4^5?2c{V2qY8NBk?&%hyGHLcLM?bi8A85a`qSA^&Dy&FEB7A&Czk$H&fOOm<&>9Y3L5 zyfV_K8I{}8(sXCrU!8efUfAGEGa=zs=VR^%x2jVv{#f$^(R+)dB3pw#Zb^#j4!445 zIaW=8D+T1sS?HuDYc3OWyVydP8Wb39l;o*}pUO$~zN9jidi^?9`g50U+Ym&qWMFcJ zscd9rxD@V%)c4mE81iX?Vy+Ldv?&pBq=R05N;g>?;~6yIn64~awq)2un2dvCK> zm;b|Ur{wTQnGLr)U`YWEF++`P^@~_^nLR`PrVZ=3TD!Feiai4nVsqUttg(Ablj1qj zvE0&Fsmf>e3Ukuf4~0Rdw}^@#y`Hd?T3?^+X|xb`?5V!`YNuxZQko>j<;mq%yS01x;XiS56K{0h1!Q{ ziKO-BsJ%g-{oP)f)^&m>SP5#Cwjq7xph39lo|KH01gvYk9nMlDb0)q^Hpf=_DpWTs zYV&Sx!)e~5b;90RAf5%J&<@Nlz_3+;&W1^GsYp5XoyFA>3m<^vFV7e{S>#<%eVjZj zfR`9NfWyS%;M8PVSkDUH$$WqH=p(oz)a{(AIva0l%yc4o_0fY=Bo^JoEvmX9-Cm*@ zLoeD0W!v7EhLMbo3zt^v5Qn<1{ZGi|c0hY6_Yev|KVz|guMr@KsH9X`Od_pXj`&v^ ztXHw&-#%q%zy{%SmUpKh6&p^DW7$RQqD`2odbbIsF(Hl@ zRheH-MCM9+xcmjGWh5maYfAU}uXC^exlsFq{$|j}Akkw~f2WV8G$!MA>-jZ4d!<2& zF#H8GN?qVCkcbK-WV#3*RYR7F&Pn&oh+)J!20CT0xpF+Mbd+OKS0Fox2K*q*0dXA8 zj`J8V&@h`ZLdB` zvJ_6)Yt)B4mqU0w>;4}Afobs(KDjyUpDNN*j`J1)%@8tZBZO8f*!;MB^Wv8L^bJts zARG}eTLPM@35BqJ5Df-nMvqP`#~1}GG5{lPw1V3*6-n;>wDB}y$;!tJoyemm}`HU`XPcV$UhO!4-B(2z0RSQ-Mu(F*tPPS8u{)?Y7kY7cgU44X$Y>_)eJ^*a`Gu|L_`?YoCe<1=myw%>|?6{&q;ph=2Fw&2dfib7>z9BEA z%6@4s=AgQI?D8gMZp`5=lh#I8$W05c&}<%{jPT#PN5`8stJ=kxhSlrs<%Lqy_>B}J zL-f}OP^(@|t?=Dm1mo9F=fnW*x1bW`7`dxC5Y2=C%Xk9b?SXr`<4?04rrAs)|^*;N{er}8esg#*1$tWtv(S3-}i3X%)^q2CG@(XQfV0yEou$z!_g&A4uZRhJPhzx zfqA_U>df*kyDX%826ko*%MFhvlb*>2(bc|LjK?LW`J{ye8a3r@-AT6*#o^H#oB22x zDDVBPpRq3GQV1>3*=%A73@BJESx-WA#J5k+xJYh1-gM^HiQM$Y=1%o&1HAq>(*(25 z$+~5E7}ijy&ab29UyPv+U4#3F9oa*3aR~OJCup}~Gr@>NtS8{D^_Ha%nxziVlxZT< zE_8&+X`&)(EM|YEgy2o6>8~<#QGU{BgFOKJ z51=Rk`(fk-RX8TiqM4Sr@3924qydfCgG@fRc)W zOaU8^g!^OT%GGTrv|`km1E-%85gJ0>1x}h!YYTvR@1v^wz`zpfS_5!{yOO_G58QZ< z;DFW%Tn6vy(10+h5Ngt(ms3ed(M{5lLYtj_>KKPWB# z1jPTpL*L&V>zgU2DjXbCPXap*E;sf#0doKY<0@_2kr^>aF5fx$0-7R_1jV|Rls__h zU%sZ2O< zS~&F|d`aL){Sv>DiAs`$e<0EC37Ttc=3l$1uq5%fR3>t~$U0roxoxlNrd>Fv&e)#n z2F5rH%$dz7RgTL0G3dSmfQ>&AYk17*YJAR}SD;QA0Ao)HTG5M_LA}e5Flo)(j32%% z#=50|mci6znd451M@in(BHPbZPe?YsYPTD4|7hl>o^H;k`|i^(SLIBS700{xl^7i~ z-whmgh2vs8echad-*?Pa88rl&)|`5;p+YMk$TR*Lk#`S|H)?iVvnOuvD4*eRyi1S3 z%x3%HPG;Z1ttDK(d6)6YKw66Da7%nX-8lD7bfA%`iRrv zeMa)Gp?^yY-ocjc-pK|n{ezPG0}=w{{x2*&6dMnPe*MOK{RMx$W9VP0OlURt0I@%y zJ3!FjUMbcigw&~46(g_TP}e&=!I=pLdQWtmt+snY$g8pG6i)Ts{tE54ub}5F-cxf2 zP=s0DdI}zX8_a5^*lX zC6f-DHS9lvpEV~z*@f+LI;Wslg`j!G@oO>_vc3HPg32tNiRGu%!VC7nH2xebmgK9S zlqvRFJTpxXobH#xFZbd5M{f#GLrOAIFMrNuw)iax+y0qeE{mU78S7^7VG4Q^?~sMXAoZt!%Fh}DE*asfI;L1!_e9)BfyU2g4WojTyW2QksuFW-jBzMhc}!QG9aAvkw^ zRN+|qnbYbh~6A&@TuI9h^ z4$kdy*)8!FaftRPd*u-SDUw14G+HrzqLkK9<~s5`;`M1z9Jc@uhn2W(qC4zzikd@|n^l_m ztpD_jcJ8frF|R#5UvbRtr@mLHXSkk+_4c!bMZ1#{y0cO9W1HbCS|#(?J#AyZo_1;X zY~^$$2BiM+#43`*gtPLhrH!+Vzafqts375wZrfw0W@|8Fmo;c3g&Yej- z(c7bqe01Vp&u#Qr(&`-JC5-80;8-_%v~luU^w(G>d2oJL?9yCM%JGo&PV9;a%lbo# zpJ9DAV|5Y zr*@0w+>wO;g<7`!J_P3$WP$OaUM6Z3wfxsjVG|+GjZrr_$sVng3*+>z_Z1_y`DRE6 z)f<^5R>=A}g)R?loMYz>;)PHf=S3yztcR?UR6-nh-C_Mx3!kzQYw6iLbZ+y9f9N3n z0-k6?axjY3Tw^ngre9uQn00rZShp(X$jS{%V2S@rDVP>cfYY96-s^|0t=J1mOHxj# zrU@Xyo2C=wCJ9VxYHFS##&jeg`?l(_n;KRbKBAqFeLO}`do_iB0lppfn}P+=*_VXw!?t}8P|G0b=N9P`>(aTZoQBQ4ZXL*L2Ide0 zyM$`W;7j{EwtX0o0?nMi`wU($sM00lAe%@tc~O7McdJ48*VrBMnT`RgaMjt`)dzeG zJ?@*%ze+h}9P9^g>PibmNwMrw4h9~>1uHLS&~=VA^!0a)=pFaQv&+);xGR1^GI}z@ zMEXI(HX7U`)ji-b*y!&!ZE33exeUWRcEEaH9~k~D(jF#NebVs_Qcx%aa9K*HBUNj7 z4PehzU5VYx4zR!g9l{C2ZVmhk%f}_&NiyVXH$o$H3XVU^|FQL~dkO2l+$Y~bT8F{&PK|n_| zzxx~x22KwQPJ^W$d)5*0C@lg7Dnxk5&g?9KiT8|TEcr1By~Y!w3% z4$9oFpSsgHl}7w9(d(}vg#{%=meC_v)=b`}kxA4cao}8Mhe#;^YJS&nW8F7!hsnA8 z&te*oY2D@25P+8cY5b;xL_sm(_|?@&8| zZeA!u^^O65Cd#Gw7rcJG&WK;n&YR1Rj!P!4o}9zIO(Kj7*Csb>76MYZO#fWVILUU!FRDF#6`!%yEp3E0hJq!%ch8v z+fzECO4%MZ9V^0Tmn%inz4 z#=6PCq+&0`$zUv4_nJ<)s$T(v%wcjc(yUri4xk^S0@XtwQ9I_x&f~N1}Fz zBtiCW?h`jymrp$6)%F(tZs4D$7-s*{E^x-XfY zu$KFx)o*8f-~Q5==yGehzr0-P=A7T>?B2hw`IPZ{$#ekLn9`xEkR(wE+H*q{jiA_t zP4k#92SH2Z+PT9(XbpAsIO4$SET<88En5PugI2q(OU2>^Fr$Y`ciSwXPG<%YHq_A} ziC*b8v4ve5@8vzzIVd0U+1syU$6zkU4k5%~k$BfUy(aAnoE8V{uYo>vZ}7q)vPy%f zY3!smBV4u{KW=LbpY3YouqP{TKHZG_R}1$y(|5EX{0QXLs_`gHpwmYSi?dq;wpQGG zn)g0049vk6%bSjT%ABta*niw@7o~d>_kZ3Z0d6X+zF&fKMHEk|Ac72JJdK)=75RdN%?U597R4uL_AMO8tJov*VfXY9L^1mJY|Cdq53M2{sCA52f?fnM}nvH*@ z2xwxOFuCvks+V85dgY2a$oz(f+wJm9dwv*ClC8e3M>ldeNaujym)%((lC*D)!@2)( zXr+!7vy=9Ny9S`#r}u~rkFtBu96x+bs8oMTmU}hyIM^!C`i){#e=2k8teh3c!$^iS;XYna9-&x8@{Zy+90T1iMjt(4lB?Lw*(<>(Y+;*sTwLgqDgDvT}|I|6H^Pb5p;cP4?%Ti3=Mk!H(?< z%0ASp8nJI!q7YVYqMvT>XKWo3z&0$>MTG{6McolnXs_UAB*Gt#!Kpx_N#M#wiffG} znR_Pxgka@MaR#kqc{b6{0WOr4r7vX1DlBwwwS-EH9(k-kHXwj{HW-mME`~r)|HjQtimWfHv0>|3TRz8ocqCkx9_Uu zzEnusgI@VpzuqdUQ|7NK?v2&^V*azwh2XC$prgDEx&4m~Ii(u{`u3h&hvX5ZI^SEf zU(yueVkXmAK+s*D(GeDc*UcdvbZB`KZ)@WuW=N6~WH%3gZKd%at2@0eQp+D44g_u{%n99kzN-rUg-fC;;TXX&usFwI&^qQD=6*{%qA_Au;K1BQR$! z=b>~aFv~ejQ?6?!FMlpaSqk1eJDs{1)3Hy77_|_wT*)7M}({9Lx`%eDGWqUO}IvJ17akdES~Jk;~V)eYKSc(HQg$vvU(Vb*(L8>K*Zs z1m3hjoR}i2Ys^m;Axi!

@U>^qN^~FAM3?V;4RCc`jU31NTNvs#2=dwT_+MO4T^$ zbyfEs_0Ne!<@1Az;+qGL+!GtTTiqkk4t{jq@LoR6C_5%U8m~X6u}$S>_SAPEMNYNG z=C#$B-G%uPi;#{rW_A*v=KOGWxgT~)d%C0xBAVA zlGn^II97%ydF1#;|#qJw1mlCkju17bnce;KU~z`BAbjE``kDTF0%Y>|IVoG(Tse5wB5E zHp~joLW+qEzvoy4^#45y2;}Vi8^!I!d1e5$R=ZAOe#3Fp^Nd85k!8GP8W(Oj9=6qr zV80uO^XuI#?lp|Hf?C@&oJ2fW7M?wBz7vWc<9jT62|v|BzVEB>MOBe8i^D_*iRjHO zc1kC@o$pX$1i;DG+pp;ey}^7=w%GcElZD8AAs^erei1j%?B+VVo3>_mHePx=5`~rL ztZDa4LP3}*`cTSv-TJNe)RMFYM584m6IbojU2-PRs~X{i_wuawlMRjr^H+@TSud{j zu0_d@9G)byyZ*2#B|q|Ca?^gPDh~n^GlbZ0j;W(~dU#wGCT51_VbwAwG}Z~@&d$Gn zpOBRtQ>NRIk8)OuvnA#)^>WjvFV)D0TxoZrW;;Tf92EgifH61AB#(sMkKBl{&Aq47 zz^wKV6^_hA)u#1_VMa0*OGaYx$I#&qg`p+1^eiVNI{>5;i*W9#=g>-t;+k6JO$I^n(II5g}d@DNPVG$4Zj;oGvc_~ z9QA%?h8`X6X`cpU#p3ga_qR@M4f%4(;P!_BqKSB+JGEO0gARHQpT3I29TkdkXvxSD zzngMw-(m|NTRY6QFb!efw{*w2F`Y4F#9$2Wzw}^INxA8twMeXWmA7DS6MYB932Ch0 zx(cL{f4%!FBwGhxbeTOVWTIGDUCLWxBanGqI^(4Jq2-3#{&M=3#V@+L*4x^rk!jux zGaqmG07Vy+Vd5;s5Z$Rro5xe(ho3S?`q!&C~A2P zmM38Tq=nT)cfi}GY}S_fg3x+d6xKfuHC11KjgXAZOu!sLh4bk2o6T)`Q=Fu)oib0W zfM33|7g78hSDH|=S0*bSyWb0kg*x^^k}5j%AvvL~c``AxD;B z3eY5nk=Nm-Xnq;gMroO|+)4;jARBPhS^a)xEdh{LN)p_B&+&$f-x6|F1WRw3-z z&&YvPatbD#3-sm6d}uMLY-fzRM+?VVX?|dAjaJvi?NUGC-elv{J)?djK-He6Y1&RD zIQWKGW0*tQ93+S7r^8VC&?C4Lc5IFcBb4)mJnEE+GbN$q*U$Z}hY}k6p!M3K{7iK! zz(Qq!?+jD~)LLbLU903k3RNHKX}gkfhX=WeJQpF$MOofM)SCfrM&%(YjJ|GrOB(%Q zU1V011J4LaC-U5MnwX83#^GGXSFzwtNrH`ckiLHUNJk`^Bb?m>ZkU8w8ZB(&bzwX7 z+6pqDGQ=XcI6SzioeRrsc^Ki`N6wrAEJaQ z;@KG^Lu#XqiLgg>fFs-?&A;XSrkj@1{3JswZw!+emho9GFG$r4PIxS-w>DMN$2rc- zus-{?@nwUd^AgNkk#bL;IKs}0fbB8p_#{Iq#CBUZTh)fpLQE^S6@RqbhsO?7d4AC7 zQxg}7UBx|2&BGcf6^hp`ds~2YqT5x?FKIB0MN+}9UG&Q0VV`&Xv~`ZZ(uNyvei&;E za+etYA!%pqPwj+FTMX;X&0YqT-mYaboT#n5&J(P?eR{L!M^=fX$g}x_#Nh^QJ!+{~ zex3?atjF|%vJD~3UsR^@jvlz$jAtP=4I0bDk}y^}+{lqmhWGl1(}GvX*D9@d^)Hc! z{1k@RUncRl+2;ylzB}BHs$*Pckri5C|KcpmL+=mD5n87_D7czGxVZwlus2rZ-kLZ2v#EosLN+SpNVX- zd0Ik0M~0R*h_OE9`p88y^x3ZkC-P8yvbQ z#MX0~!F+2$Hssaz6}6pEt8qI-J|&@Q(so^3?l#)`&~d!P5jc0Ij9uR~Q-96*qluXY z^Q7y%ETlo~zBuiXSNzSH=lNzNqTmE?boytTj9bZ~;*iWl$!$AdbHDkR=1kk?1_evG z__?IBYuryMx!ApUSnmvRJf7$qp8Uyu^pZEJ;DV>nVc%2Iq(;wUjSc^zih=SVM-x4S z;tNB}$G)k0qIT~ahWEN?H zdC&wI%X3>nd&h_KpN6#Mzt1XIAifTDD`}val0pBnhnxB-i)@X=JlL9!nUp1S=5$)O zL3PQB^E<1YfbAzRbMpl^V&ZXN9Owt~MWIub;p`>iwI>VjQFbSFqbjp>hVah^6@l4; zBqQn8eJNPdWAO`h&!4X4uSX;%}k+g8T^i|{y zR57xU(w93q1Bw_+Q}8G*b50+_l?Bdt!O)&L4)Smj26kN@NiFWU38jHQ8${dnZ#E?s zInXvZD=FgK(h5Ty zJ0L}&iG2!4af$Pm>S>(N#tnXX8FV7h!E0s$&){)@uR{y51!0Bw7a4T) zB6Q)7#Q0(l6RbRQ@@z9iA>DdN_n}V$ zrRwk)vUzT;pOP(JK+%kCGrG_k!`QSolDq5RckptA(1U5e5d3zewY%fkHltRi_UU_ z6|d%-0>)%cmZ8K%_T^8`L=u9iJT>-uaPF)4i-B;{p6jF}CLI#hDekVuNy_m8eqnvo zSPo=6BoUomPGa>&wRy#&^M>6fGy~iikA3~qxq)ZkMDh8>H*zQVWGqh^c3I=AqDZL~ zCtZcog>75Z?Nw^~mk#X%$a2z{AH{AA-@N|VM$1gv9<*20!HZ&o_Z=$*OfnP`RoeNA zwKN6I$z7&7s4)%G0({NXx}?^vn5^Jx;ORnklf#7%C1u*d= zVtLQL$Mf#NWDENeJxK*;BHByc$}xNt5SfFhgBnLzhXtH3hb{6RGV=)$g3Y<5MtsJO zaPWHh6FezxS?R)@>SRIlk*&(%lbrf1$5}`@MkIT(%VN^|RC!^3N}}8^i_J}Z>%JaL zFOepPD&X^MvvzEJWc|S&i`|gi6+l|?U<6Kwp;wFX)2yL&;L^>7UmN$nm*kKhVVUD@VqDcqD?s_oP2fvpkxEN-6DC9l#>^ zhimrnsv`2B%yyR})YA@iCj^9#o+qvu7yDz6vq+eHwW4^#$qAZhP!lte#C626)G3Gs zs6|7==qETGV98$N)r`Qcw6C?iPOnQ|%ObeQ`u&47_5)gE+e_ zM<{;q2JGxf(_CyN#*&z558{>|T#WdPGK6m&V+ajh7)r-I#fT);((lzzP;v}@DUj=F z&hu?~gJtyV&$#+fw82ptzZnD>(6?3v@27Is$mC}TpC%DL$A6tk@u)leJjC~kCE3JE!M_(PQ@FjG!h&92*hy(%4NqrC{%bPHw?Ir0 zoOOaVv2j$-zY?0kC!T(%rUnd(6Oy?3w63sxTvMv@Vlg3YshLP}QCBstvM5PlHq}83 zk~V9`fYP{vEDU3(};$ic8N_t zpgFXi?#9k<=8GI=Ti5gp3O~mw3z%5P{}klFuLly=+Mz;h+wt6wG_G@4f{f-b`pw(a z`HH!}zmdI0+)r>jP8e{KwGLVON{Y-u)Nlr!K9yuq*aux!`w4vy{uga;85C!`tP7)o zK?8#ZCuD%&ZV3*-26uOdKp?md?w*i=;O_434#5d-A-KDp$@{)*pLN#W^?h}IoT{lQ z3TB3Rp6>hVzOK9P?pEOi|F-U0*P11d#q2B)(S7(>si+bV2E>0yQ5YU)ff#wXsHWAy%&7xw0~44!ys9w?fhI-peJDwb}jA6SQ((37u0nk z!*hJjTY72PRFa!mHfK9%X~m||OyQ1dz;~s;d0v_{YB^bpjuY4radoa57p7vnDqOU` zT*(RL&9`r)!BJ_c)_K;=q&vpMZh1E)#rCh|xoBXa2>hb+XL&M(+dhR!cfX=KS7>&2 z0~8v+c|cSGMtV!^sQ;A-{bNl!YnXAre1}qE7jCHCD(ZB8@;~G&WMv-1YA*SA z2r+Qm{2LmvbYBVpgBQxyg%*_T)_D<8qTtwO;=ak`B#mL+w2zpjL>83cj8*(JQ}%QH zz4e+z=y^FdX&9xyHRZt8UA@g%eJL!B+no|y+`-T_mONPQ)8-#)C;XDXw~<&dPUTPD zYdVI{BXp+S67|NjM^{8T|7I22cY`JXx@INO?oTuv6~+j=!Zo|fz#0fiMZKoT%EtJb z@`YcNfphX&B^@C&tM!kS;VIZwMwW>^PA(1`V_Z`7+%J2d(sJ{8j-v zf8-gZyIM?(U0mbzty9~^kFsgULh*Pfy(ZSD4Ez-0^eFj8*|me*^10|!nY7?txO!TR zh~*L{uu}?>M{`s&jU=gy4Zk3D`ml89N~G?V+3ooHL+}qbB(Bc7yx!Wb zY#1W1OR&R@WpJOrhz(rs+bnN8r+<%xv~{umm&JwI#x1?(oP0yuV=bnB&B+|tz0~t@ z62pV}Vz!?sx4&3AwBor}s9%7#NHjUSX z2DF8FgLeCA{TtE<3HqEF^CgdbQ~WVzVfRS|fYLA}dVgB&ly`_!Olmrz+^k#=H(A8AC@e4@Ih$`g%5P+N2-`a_GIT90|;ex|WISLlg5ESHY!fwd?MOWX~9RIB~9)c+767?S^$ zSHH;wb&RC}mH|=Y61j8TtKv=4;_i0VkfG~ArqKKtQ^oBiMk#Q{bPn|_uQ)F-Uah=3 zD?09MGd80ys1hF_zw9x&hnI8NL~hUdGW2yu`0ND0lK86ZDS};~yA8nZ_WTPFLcV5mX(2U znUqk+$gk%(Z?0<~&++3B8mgn8v^?@-27gjDtBgke_din|euCa}7686*F_qy9a%CDY zV5GW^wz(m0A{|Wh$m^!A%7 zNBM7x|V!Bt3>gK+>$nfUJ`3JKlSE|62Q7SVo+Xrq;p zFIQ~U@p5$<$e}0!-ytgHpiBg>^qGq}G0K>69@T(M$`nVv=wEzN_Y2p2CA1%w)q0DJ zP7RIzW;k87|CBU05l)WC_Jss-DvK3{I|Q;BIsO~92R=r!Qz)Cvz9tbtU6#g;M{PSM zZ*mtgIN1#IdO`<486kIB&h=kiUG~!%V(Y9y>t91_xsrXuHA(u}#PB5Fktd|@m>9V( zKmSQLrSZtQI$uh>HL0-L2UC$=Y3yo$b4JUqLRTj(aeR-*)j6+mVf){xqER<&-^wpV zdN5->U}{|vz8AR=;Ktk~!Z=`I3d6e*^>pO4iQ8Giyw?n&U5H&r{RSV;1773Oha~#o zz=Bf~y$ixy!tw!;JGv;WO*3bh=e|Fw_NZQRIfqQ}in#HXduM^9uy$GAep|CbeznN` zO9qvXy`?W4EWb9}?`xz8)U`SL8}E$#4$3afAIW?bWx+2e`*H2a{_@0JGn>TAmeGp2 ze0UtkEuL%fOdj;or}323TnU6#dm^cQ4Sa2L<*Rq*hnI28pYPnK-*(ZQ7> zBjD=PaaTEAM|zn1%Tc`&x9Pu34r3TS#-WfHyX}lytvs4|^+gLo@oA*vSi#o+j$@b#;I;W#F|gu{jC-5v zH{$k_skh4f+fzzKLkHF)0u=5^uhX%@Q!l7}L%%900Y6dF28{gTee*UdATe4>ZGBNC zT)LqvA%%pX4qj^n1H34}0%!-CMb>Z`wQ7%16Q|5bm`1I(rP;r# z@cv%8RuwLW)j@!6^`Y}vs@rZKZ9*_uM-bd4TBlxME~t;KPtJ7gy&f}!MLP$(ZM)CQ z-oK+RKHGIDPb0xL!7X7)?e7^hY~DtP?0SNtmcFeOkKg&e`54k?1Yz48pUPmG>(hR* zhtXR)`|?S)&Wfwv|q#{(%4xfyA8hOAef5whNaMoJ#nA;YK<-y=o=Y6z8LE85tcz1 zFyyW=F7Q_by*kZH;(2LLMb|JN$U(;Ez4M%n#G}81wYt<7>*LTzBf1^WNl$ z$=VB6OvNVGC(DyEJI}OYj>Gs3@6LXG{(Bl#Y%Y#h*IEfe8p42$CsfS(x+(|CcStD(Q76 z3zD9D7M`*o-Ipq@Eo(-eA5_=W;MVKMd z9$3AVrnItZl8K5bIea^}EFtXp?H5{+!jzG-{%&M2-4{T^nA(^gwuY~w6m_6`M+Rv% ziJZEd8~s>|dUxl{uW7yz^G+H#9%kfrAQx3KKa%Iky8H-Ho&U*V7_O1uR+>HPqiMJy zbr&45Nbq8^$=42HqU~|}MmJ-EvlluBCFBMt1mB3F$| zeM2?i5tG+VjJlAFvp5V>moW^}Y#Z4yLwO^FCL?0or6TbFU#P)3ID0_zqRAPST89{#w=Uz0AC9Ir8rM= ze3R-KeF^@6dEQW#{Ub`w)VfG$_%(yI?yM?Z3EzO^oBFV6Yc)R5V?mEHOv5CWV#A$3DSVs0oJ&^#rVK+%&f8^D$r0~`-0OVH$H<&*=HCZO; zSShJKCXg^_OgEGiDr!2Bx^1(}LmavhS-#5sq2`E%y)}Q{Plp#BQmqq~C9V{5@t@i^ zOp@{RDkNITw7@Z}Oi}ab|Kp#aoMdAAZgChiIh^A+kNvz7x;i4FHKK#- zIH8K{k$Ni;@g^Qugg_M+NQ;6QP;B4VvploVv!KOefxU)&fx6Pc@OzB}oDWf2+m>zf z_lG;aY|RT2TL0-w!LD)E`Fric*vq}z)vFF#OY2d!jC7tovw9dEU9~cy`VhBGgULY} zSRK1iA)*UCdya2G9p-&l1oD&jS$+W&RM@&EfeSw*eV$~NCm zH% z^b;(tpG>f$nI(9)9b;stqy1OK=juV~sI00IQQvb&2Kc3fga{We*Fp$|*;}Ypy4Y0K zNMM&W1cVIuVJ-dukpbpZrgnC*S{Z5LAWMS_r9>2q31+CXBqD5;j8n+pIV8(-)E7Hl zx&@>7G+&Qwx9+6EO3#j+LSBl}fu+2yx|&ks58i+1%p()*4ZLe&g|{dcK|y3Ha6wdf zY9lr{KXF3Ft2CTM-lK@Clx|R35G1M>iN4lU(!%FIZ;#P#aHH3T)RYP^K}#=82jNAz zRVrns&T66tTQq*e$^2+t#8#yPsi0o9L7vxt0L+m%H&)a!X0Uj5m(2salW(aplt@As zDV;RvOTsj3sTO~qHcfD_zo~&v@Aoy925V{x6<@P<*C->?7peV#iE-Mj@uu9cm z`;JKAF#j^Zv#N6LG{hClTP1JeNkwEc7;xX<@Z`ptH3z)kVLS5ZQ_?5IUA%xYxgTIM z;eFL$$i(vy9JBvX*9RSsT2BxCeYaTNs6PKL@ONw3*kq>w9$9|^3#QMS3kOdFJGwT? ziffGgK+=P=jnG#u86YZE;7d`|TtFh|p?9X=V5`(B$kV9=@W#dJ?7LMOrj@AVU?y>X zmtzXP6z!#twknA`6)sxXk}&!+u4>0_Vd|PxX1N*SSK*?VkCxgzPz6iWpuJ9$_%wGXPvPy{BYKd>d>FsZ-`$_XF zI4QHkCXvc2rO8`F+=_UAI$wVeuI-BSQNgAvbk$3m47~b~jyZ2Xg0e$_Jwk^Q5DO({t)8 z8ikwmA$;;>7z952rEpj%<(c&q0&)&&ZXRc7E;x)6Vkcr9p_}=ZOAu0!!A%7T7oV`q zV(YsJhb9woNk;uJh-|+}NM{{U(1%-=a$sE+xzu>9?K0W1ba#n$zU z&JbGPWt}baxrZOLJ_?VL2Roor!{6}2+F@|0Jk{C=o#k0is2o2heTO<+eU*|UEQ_zi zK;P4$DK^t_(SYOXjIPQ8oxCy5RRqd^=t(Zn6u+TjPK0gZvwfUtl?T&t{uapxslst( zdh~fU0yTU;Rzfx=bc6)BI_*l#HcF=h(}3xOo$86c&3s&$wjn7p2#iR3ZxSh8)=Zq( z9qcagc&cGviI)^BqztzHb8ZV5zXYBcoC!=>mYMKwgpdk%7yl zrmoWSYp(Soz#RH%*7ep`*xR>us9KE=km}&!bQ66KQC}zuNX%xdvGM}*$8ar4HI7e; zRe*2fp~5@VeGjF{*`sQf*zM=d9^u<#Hzf8h){u}L}ADg<~CrKQERIsImQ#_~OJO@#_4vTZj- zxbe|X{V8HdM)juBUFW5g(h8j_v0^TZkONQHThIR}x7Zr?*^~iS@JOsO7)aYs;Ejyp ztAClFFMu6J?g}-Lo5^A5S6~b*x2VBtb4LlIu3}*SR>RyE_N^Z(1Jg*gfs!OP`5-A`8MboNOFDAy2%aFa0$gk3)R+bI zNafexTna;lf)4N-vj;hDG=>a$QvA7z4b^;Uz8P;(xjB1CgYYd$eKA#3hVdA3K&l;h z!>B)9YCJxCW8$90`W{FWOtRl2a9mHq6zttV&&1W)Mp~@`R29Um9wp-PPmPLj78r6u zs*GttS-lCH?K|8QN6H8N%RT;>A@CVXqQdLdyGKMqrhEOwd)&h#w~bU~Af$n1F-f*W zFKZ34+&6t+_`+sjemTFq@B3xDYUCMpF`+iS8@o(e`BF&*N=Wx{TlEtTMN` z4JFcE6_F?<%0_6^(4+Rxmh*(UR? z5bv`=#RdFS>9~X63$k+}_i(nGKc>ACjT1CoR6ZW?CUTwE`Qtct!U-aj*&Qkw#IW^9 zbyM#VR^M5ijKoY4F#6u)D*VVejQK8;XE66|u;r0~etRa-RLw>~`DY| z1{HEY(kqBF3D{G>C({EP?tqPP03&l*zcfqpJu4CY+PJHFLw;<8WYWxsd2{Tk=Mgs3Oi)6{rPL@k3Q zA_I~3CsG-8!%L-7ixAm2dQ&xtmGRn{>^%#;TK-jx7e~8`Y@-tJSLsrYC|!J?K^cBc z*mvm5%0MgIk|3xsg%Y~6#ivob$X{EGJ>X>b`2yoH2HvM&DoOMS&kgi8#_0+za@$uQ^nZ5`o0^m{Mc^OYUda60ZFi!7p?!lpt=nO@3h z@a%WnhUzl_o6-EXL0d7L zd7LR%?#L;vC|6N^^~FMlHPk$48BukIKQt0>K<~pMy_(XWU#c|LUL$8&TH|U(;z8>q zo<7^%J3rt~2*^>!xerfs3ib}AK>gU2;qG|YClC~;0guNjqWJN4NS536P5&ygSiZ%1DlLcw{kpuNyct}ytI`0)_1l+ zxXILKeT<2m!Rw&li$n9|z#hCFd2lkPH?y*M+9Zyy0gqjsSzY0DU??OtZE4$VH#;Uj;aEKat^|oVdOS^Qo5?(bf;_B z?&o}pvBa=gd@#q&p>qCN0$wKNR>fIc>si7s;uw1z7q16rXz z6#}uofb?|I3iz``Uc@H}7t6hhfUL>I85kkbP-H5+A@)z#rS|`bLu<9h6#>_; zSZ2qBzuz296A=y`s69p{f5S!S&KYFJ@-3pQEQUr0GS!<23gux%7%7o>%j^B?o9{w% z$_yQZ5^HUo#!Vgjlrr2{enSFxI$~?%gCfla;%|`?#DEQSw_z%`lg$mA8&tsnA)*`f zsqaPwraXKYc*92%0*h06YI=IlzL(rX1aJF7p~AwJcEe6z%W9<+Vpd&NQbAO_ACU`H zfMxcFXFkjLD1MxxnH|q|vX94iXwv7i#SJS-As?}ty3yN=&tB_8?wv`7SJK$5MWY4w zWHZG}4gmSyw%?#@6cJghrD*=jvp@~qwpNpuKPxe9)rrDWkq~KYd~tk)I&u-=fXamo z%a?c%{pkK_gRb?Ti*-17JIlZFzn?_GngsxFYlvMMk2t@k-6&j?lw0j|AdN51q?u9dcIV7O5oRvc!jJ8{ z<*(^8x%9L$S5%rN6b#7{plB^fRUapbL+z&c59)^gYTbYjKOrPAO7C zs>*HU11HgC=K}&l*d`EE0PvFX5+&qfn+wXM%g*Tx*80#9e5nY;%YP-EmB^%~D=4YT zn-l`M72lqZ3!6>z%6lFZu!oyAiE`%r+}~G7V8c z%DUy$3OUz_Ps;vOM$@J?G|B&aGZ1!YxLVg*&QyrD0C4n$zx0ssK6oytB9B?T>HbN_ zD^yGPhV>q8s4;>Aw%g;T)J662Xy$&Pcl59;X6zymnL;NI^is_c6b<4i*6e(>fwt|} zNh5AdXm8)R6Jp@&jbW=!f~F}!NINk@^jQ|2QelN`?}gFNTc*d7UX$57#;Hh&%*@ZU zKuq?7D-pzquSAoXr~rH-4J`&yFzPD{$9gF?v6zk~C7?Rbk4#WQKD&$wTQ z#;@j4C>L^}86FMjWl4eUlRD7uEOMagC_QQ8bg?_zFV}0>>OCnJ%U)!9tr8G6#B~t$ zye|z^&s@CakK2oupmD)_kS*1e4!C}YjTWFIWO52$lkV|ZpAxzn%blq!w(M@--1kP! zqNEPR!OSA#vV=s5zX>C3@za2~jZ$S3yMx@4N{Yhh(s#xK z?^s0<$OJ?T1CbWNhHhd4hK-nV1%M*stxZq%Av&GfRuxMn4OD$wj@29<_#%X!#ZglK zrK@+*+sNEsLB6w>BINR)40;e|lh!3Nr`RJz6<2z1AKgr7 zvSzyFU(0@VgSr>3{>+j_xQx~zXHP1u)^!IiS#pbb`+Qek#9esm z55bi?5<~RG-8PgbEz^M+3toPo!9>63lc61kIGzq@S_H|-8)Ys*jk`ta+uco0VP;vB z4(#?Ia`#vrtE1WkQpL)J2)~B7*SPa0!AEYb7VRfv7EmOgxPa5QIePtZLp!G>vCy@r zs={e7+wJ2EZEMKl&;-dWrs)0~Ga%Y-~1-gaVA#U$U-v7xOVMs&` zo3i}I9_C_I|K(!n^CD-6!epWn<^vI>W#=zBi<^d{6*6b5; zbf&(hMv-bYNilJPr49~X$4f=L(}9XWTUilAQ5JHXt&3!72WD#oeIK8fCqihjg2$jT zr|M1@>x*K8k~?3kL9Yt!!Z43<-vzx*w5K+(fSPF;%#p-B`SYH7K+Uav_R_VagwiKP z#Dc! zKxk|jBuBaojzqtlyMZjvUtV%RNz4UrJlkLt_zwA4sBDUL z-c;ptFNnObY@h(Z-9{z8-U|kQoNU`y=e4T!bSeNi{qc}Us3I*b`h@Mz)#v0I;ih&%_*#aNw>X+94CpkxIpvG^op}7mSXFK3+<)x+f8Yu4 zG}2h{7v_fpg{P4u7(F&+UO(SsdS&q$yE09~=JZMie3H$#YX>X$llO<`@~8G3w_S^p zt)$rqWL39diF8r|CboyU20>#ZM6bW7yb*qkZg@W7S>NnSVOd|I6ox@ZiLSDT_A zK&UU3%T7X1vy&0Uc*Nf`p-{2){}CNCpXDL+Ft)=f`dk_m8vwB=Zx z{W9UrAh_*SfK_2^B3kz&v9B0yVV|yQ;_Y{g^QQT|EOH7@&6Ldm^<;JE@RU`Q%oYO7 zL3UpP#4*38&0u~|gA4iSjRGhDyqym~lj*PjDW<2iN|gbc7H9KmCdRrXDW1H)Wq$Et zmk!=Fu-4b4@NfGkL)Ypo4|*Ewi}lvyMUH3S8jY&u@XYnuTaDHWzLcKm+RQlY{Hly> zSRe6&8p2x}({im))(cyU)*9*Z`pCRvxG5)dY9S(y<>P|?yf;}L3i0G&X)ogrn5m)Q zg3oq-2TSXsE=ZJ${d3v&O~X^kRfjY3U-V*YhP7Y|^EDeFtgZd?7lJ+GQ zqrgp3tZkdvw{w*%i#JAzW5oyuIgo zF_ZM{dQ^r&ni#_S)bsXN8K47K(uhL97d;%*(f4!}+!_Q@4pIg+43NWL2Lc0kV~f*) zun6-H9zdZJ(}A0?`pc%@MFrDHGM3Q{3AQHk`Q7KAlUUaDVtf>=yFe^PSh_RtT%8;b zexqFOY^h@_K*W%sTDo!A<^?{8;SU-de);UD53ExbL{06Qc^+1M_dA7kUbtgXJY1VV zc@U)|d#6Y6_gMne5MhW^-C%-H(qwJp!&G@9%gZOPw1j-@fvz(Yk@}$4LI6nWo1%@Q zs$Om--7Hln@?9dK)!LqN6Oy$kBU*qjXS7~ENEctE22vxh;F1t9Ca^rTFCZlhHuR_P zLfOA2+VNcMZ?{7JS;Sy$4dJW>FwPj-3P)wSlBa_z&q<`f$u?cW{e9Dc0Z!ux_su`? zM;LaBDo(2Y7+$@P9eF~0ov`(6CI0rkh-PoN=tK%;Yn_Utnhcngt`{6 zAp;~e6}M`5nC||HlM6Sv;QfBDORs#zKzK_QLI9*#QYyoQHZ&^Muz4W~x<-2SsMNdJ zp1qEmXIR3(`Q&~^#2$hEVsR99MBsgl2~7B_QbpN?Uncoy?X&#E?{skj{Ll8?hn4B@VzvQarYix?@a$T8wlU0B z23lqpZ&jl$=7o(H0`4eoUD=~9M|aUpuoS$EP7&gu6`Fxxq!8`QaOiivrIK+M@^e51 z`mt~C`nQCthuD=$#8}$Fc7ZlqxCMYpIvS;Qhyg6av{r`|s)&N*$1llfGC+~5?BB}K zuFv8<^jxz*8P;;St=7D9Xgmyw_-rmHl#0hZQBc;oK>z6X%v_zsZN+*i3Ande#ryqlz-<5! zuS{~-xuIG9@MnZDR?yNX>#h%NPsL#NYkter&PgH>LSjCYh=?_Na!T-3o)U2O^Fbo? zWHw=mTfj8vZNUb3PsE+$!HVh(LVlFDy zN(5^Nm1!MK+PD`HIy{-+ajJwRM?J$;NE0MlTj$N~v=E}T=)aa~qjw=d{r9e(+%*^Ah>ZX!&ZUFm5o_o@_3xem54Z97GzTU(%q7P|3&TFTC7v zHjtoTXAU}797JKw-(jk6tE1=E>0cK2C1v=4IWS5nB@d>Qd4JUS91t^i(hZYc&x2q> z{CV*f2QjwW$!mkFU}U8&w^O~3tXh~+C`gZFa&nOc0C#Vk;+$|{ygjG6fnC_4UaU{7 zR*{xb8haL}U7+G`M+drGyQ5{TA$Kl2(}5_054oc`n8Lpn+)(+NfmeQ2{ODXF!|SHg zfx`W>$Vd4j-B-4fwZwJ)Ti*}R_Fag6vdDWapElANdOHeHo>`bq3-Oq8i{Gd| zG#qWOMo^y#VHV`5+|%#y5$AN4=TA(wdG~Rp3QdW`HsUaR=<$>I1fu@9U(%-&zkqdr zVFYW@ER&sqs93M&Q@(m+F8KFCM21pc~jGP%in7j_M%TpyooLE8V~eGGI(ZlUYaE< z0WTOg{YbLcWTB@7DnL085@bW~s%VKqK-CdM(j4fAYXC&OR;+gV9ByWCr z|8lt8Y|f%JqP?Kvtm+^SaA74tr8q=@CqmTaOmY{4Wu7A;zJ7^eF50Xk{nd181QsU3-dKjzTj^3`N$&UN*~Ow; zdl5dBcD1*KnXv$vx-leclT6>=ApP;iu{dI?1s4^}iObX&D z@?G?xVt>}WLYM%1*I$n2kW>Z9}J6oC73Bnj(7%(4rnUXuQc#1mUUKd-)p?3Ya2?B6v`1{ti?3A z81noqhNxY(ahyk2fajw>=_JU!rs+|;3eP9~oCFmv>lXR#l?e4KC~x}4;VukD6<@#q zofU4>vNYn>)=T8U0fHeB(;INnf>elT&X^pH?_*YUgC1;KqnwVj5HM3J7KyZ)Ztskc z-k|C*iQHCU>rc0rltGEzzX(B$v)Fi0wrAecww`zCEwKjy@ON!o)zY}(ga+T<>6gT` zUVEosImwQ$i{tGpa(%1Qd31$)ero7Sb$<@o~}M2NF?H(&?p#LIi9oErTOd zq^(K6X$odW2f;Wtz9QmVg@>bKTgkgwM@KBkT!R(`gD&aaO;^dQN~bnL1@8QFq-mtY zii9sH&^zw3rSs^JozM5D^XzuXAtQ1dC@^hwsuDp&&hC zmq_gsSinyba=u;^;x3ED8%x6FMwejYUqWwN%Spkgjzeaj#X{&b-!${8?;sZwSMMf= z5=0fryWP{awPu2NXF_V>^21Y>A5D~CY_C)JSRAaW0b~C~Lx-?D`QuVI)<&=G?NqhN zQa2CTfvJ5*qQ@Qf^H9=oCg^5&Z8`lB-gBd%ce^(f8k?f|qA!sucxwJ^ug!2KmQNxc z#tOOiEfFu|3^fiufQ9{h$QW-sg?xUWraQgK1|jjgknR5?3H-TDv45f>GKWkPMxVp? zkD;*WgD|pPcm5|wfHS{O#{bxQS!;Y&s-4n_pvCtm25sQ|G(wTC_@9WO^E46z1g#Yt zB_cF>dIx^|QxY_zdOZKul#OqXB!`f^n#uDwM@Wj~Dna4k3Nhj}d<-=I;nii~1bRg# zf}HSgx(twMRtJ?1d*!DSdK1$}-CG7Wu1@pA23D-m`c!Df*HSEsbu|4pWgs0kD7H69U#&SSkCL8&BQZDFZY!P0uk zFxPkx4cY8KbRMj(*~>{7^ys|z*bLjDB+F4&RwXnPl`r~4**1WQuv-5KuB!{9w)=>b z5rss8gu2w)Ws_0ez&|dK$(F2&hpQ95)ZqYhLHV);MmABM53**vk_=2FJ`)g=Ei9IG z7#QexP++8NXSprxuk2wOiW@N~lC2<;+ULeCnDlge8Br7;nHi~Di?%NCk5|&cz}7J1 zIuA55W8MPAXq6Kd%C@~-bnUJ@x0p9{G?bP-YnVoQZPb>NA}RwO0GAYQI}1En}xZ?My(+54`r3IP7mdLIk}OKf@k*X?AkNr}0P^fW4%f4Q!l z?%hLRvd=$YCHnnKN<82%tWw8)#>u>1&nQ% zjnh2G%&{sX!`wiu+yfI(e8CuxqX;xUes_sW=|E=+Yu!YLQMYbaa`(YvBM_SL6ZZ8+ zR8>eU1fetYBmov)mSC9k{lXdpy}xgYT6o-sdmG+48^%iIHa zJQwkQQQRZ=NgM0$-nZXOY2qaT#q772=*Pc*_VL*Z@r9HT&YRdzCCZ)D&ze#*cyM$^ z;$?m285-JPtE9^T8OpmU9q>UO``{O$dqT%Neu9G2u(*-3 zO6m?CpEYzrl}0@v-k~A~?-Y?4x*&3%m96nY(Lo$-`lR8D^oJ)3+Bf^~G|PTa%1o*{ z23?Qf`torTm-S+RQZGjR`=q~!McHdsQT4i%ffJab*diwfR@5lqrmdIm2h^qTAv7Mk zlA>pXr`e5B`U#)#FA=my*e{X355v;{|MERDnKZ-g0Nso z_AR15(ft0W^IlL*z!ZwXit)1qse1*%(ev7-YCWh{H01M(Rd{8gPFhms)F#@GxI(_9 zKMSpY_eO{?qe&Vmvs1mGvXH+w#aZ`dv%1vGh(sC_+?!FMT#oqQ)ljXcFr?;a*78x# z)33uU773PRSEL?$oTE@ueT)2Lzm?S>Js{zq9%tUS6hoNw`#|D|(meqIc0yAmYaYqV z)ePCGjMW@>9wT|ENs5R|z#VvZP<4U&Js$T%tG#jAVRH$ue>9gmC$GEf$|L2vLYl8} zb65G*WHW^#Rk|`>Z8q?VYXW951$`Z)Kr;>j{o4Erf2&9vUBChLW2J1=0VP9+) zkCHZ4eyDVO0oCFpi)cCH%i`Urp$QzM<5&tJc5eiIiRk6u$**S!HG38I!TH0|=mN3U zy^9rJLiFe#&foa0U~v>I7{JP)e+Iq(mR^x9YUA`QcDL&qyW*bmN2K}pdp^PI$K!p$ zkQ>=~i0O1M6|#4_3@0>AWPj&Z2NQM{$;LgN$X;h3Ri;1Y<~kx8l@v%g>Z@9d%4RDe zt`l%uT4_=bPw%O8;dw0n*3>zlWyDzji-@#<@s#dAcffTR@>#wM>9 zdI&_jMl3=zC&JhU;rAM(0q-KJj@hEAC zf#m?eD9h^N!bq6XKpBVH3O7hLE{s+yWH6e0+~TO)|3Z-7r5XNTC6;g|$(&kguXNJN z-&L3)jAX1kujr0Rm~WBj9*4Iu#DiELtJHiP?M+L>lIGTPFBo4D6R{P(ZuGr>8%+f$ zKc6~$A^fk-tdT}@f%!4%4^f&|54Vc~ZB@Li5#+1w&w4-Hr5#RBtj*p&mC=2?XY5tY z1(eB1=2uwM7injIvqLOu!RkfI8bI7zSvW+BF|~IroVDC0bo|t`3~My|cMDO!N-fLU z=KFwv^X9|s;X9drNQYcXF-!R|>6Jp6tHQ^43a!|1n-aU4`nv_nWo5a5$he_#oJRT5 z7m?bBSD*Yxcox6FlxpGszXq>=H@AIPE%SG`%D?Jo|L(;LD@*;aD~0|1--cZL{n39v z|62*`pO^mA=oeOM3i;nNIc`jj?X|N|5#geJL#acR2hozWfo$iw6@>Hz^i))D2hcpI zFwlbJ0n&L}xdAWn8cBj;Cp%?Bn$XN?Ln<80ezq<8co@!Io2$^Q&lDTC8)MXKPVhxeV(@2MK9^u+a+J7y${;zV zNwq=OlwjJk60-`9d>znfHILv+SD8ea!iYB2b4r_k^N;3ZAi=-&j?LVf40MRGzUa+Y z;pubA1MpCc;9m$ezKf62w{-pB%Et2T=$$V`tG(y=x72{{s3unS<{QsLBO^J}%c#~t zp4H9LMP(*tE%dLTK$7C5N`Y35;BJvuwnc@dEwBMIPm%a316CXhh%`&Tuubw-9^Xc| z7Zk~wZO|EgpA5X|o~~jH;-qp8G>5g%{;zhnnSroBf$k1RykJuxFz>NSWuX&4oVbrU zjrev-`m~!A`eKePt#uj;xohX%6mwGLXAWxofGp_h(1I!ZtvG>`9Dzo3UYMiiZ9& zdf1+Gem1mzuFPo4betJ5_Da_N@~6*oEa(O{bM=oSX68%x$K0oCi;1(8^aMJi5m?GR8c+UB><<&kHCdK?UFXiNGtCR0xQRL;*Y~g;Hb>I_Qh+_! z0XCEh_OOBI0Lcw)x=aw$!8bOl)F`cI9_e-IvRn8VyXmum?bj<`+O=1z4yzI`%DAYE zT;Y~Q`fS~KcRk?AP6u0dx`3ptSZ@dvHcA;+cVb ze9dnV&h&WLLQa=9(6Ry}7>*qZ=3YcZA>2Zx9Q-EzYeC_qo(@8n=&jR~)`Bpt7i7N8 zWam3Z31ERGY_9dzvu{x(Qtuc_IY zx=sGcui{xGtz1RZlA@18-RR9@9|nE12Z90VPZRRzFK=$&)n#4Pj{zr%n0q{147{A& z+N(g*OhR;{40jF)K`oAYLxVb@Tt@0s{PDsv=;4ygnyxa;KPr#MmS*~MM28C$-b$DJ z3NQP1d;e;SVa8ae&LDHFYRH|hY?!`>(^W5&Kpwih)Uus5EBBsayr4b(ix>@;T$z=b z2|6)Vd`PdSeUipwoCm5Jw@ck|n>5jc-z4#+|4=cS_6XjtV=P(w1Z?Fs!106f^D|K?J zbfn?Mn_DivGMvSjoY2nKJQ5gcVGZbs3C~-FsP&)<27jyeiqSr?L&>W7EH@GZy5Use{e1_|WVO4*A9FGG~@({K%OoQxd8n6gWr$6vUfz57`? ztD;OhRR!H@rKd$zdx4B7`0J3Da;SNW&fxpV%7qSOK z%1qwS#dR`nT8!35iLizSwer`@2LnQ1;&OP%)Rt0gR~cvl6_2;LHdmRCW|t>$xZA9? zDU89Enx9qW>kG4y;`+4Fcuhs{RPA(XzASx0?MjkL;b$ent<%15Hc~s?wp80UPl`yq z(&JIVpi<>rz!3^Y%cc6bDQsHHwYYq(gt@I9YF8-}o3WKxDD+wUjk{GEaw~U{rb>KD zat?pq#)sVxDN*&SEK{tc9NZumYKV82Dv~zvfK~lo{(|d;GF@FVQF{q5&4-Xkx=T-*LP={Kha+bO<@XI5I z9?*EGpD=RW9ykTq2@hLvsHcYBjAQR z6citW9$zj#^uh8ak8-GVpv^Wz7_32LBF$)2OOU{Jm*>q)yL$ct7kG!&O1pNl=CFFv z^ZTRFj&W&ij1f_ADWDES1e0N8`w zGtu#;9@{zTa^&i}01A23#2q!p*01`x8@17|vePOHOTg}rzhfly?c`I$Z!9mi~bF$3%>afp-YSueH_8kPedjChM? zP)2V{ugB;ytjDOu>t;|$y=d(G8b%UGN{3rnZsst4Y>3OfH|X+x6Q?pVEFs80~lG6w$%oOVbF;kANb)&?0c0o*OI`G*rBGn~} z5PIK-kl`(r7M!SdCGx!^c5eqer6068QWl9CnT)nqM^esR7Ch)gO$~>aPg#u?I?Y`^ z`bB$HJZ}KW{p?4R-dVx@+T&JTb!9Y}j%fhI{=)V6H2^w5{+xW_a)8*X*h_VdTa?V8 z;7(`@tDA%KL7ulYUVTgnGLnQwL()mu*x1NP*dZC#bi0^@Pmt+>l3*YY5cvrTk5_I+ zZt#r@YE>6E|NbW2L8w8<7 z?1~^@lk0970zU zJ#7J_tBXhaP&3AI1p?(+9M4Zmq}PS9>BKmfzWqc@ zu#rzCwAC4)D_R@=7#f%J!9hVLxU6`LO(L6HV~#=(^CLIGHF(XM$xzO$3>@r3JOx1P z6PM|*_^r`jm2Qlw_|Ljj1hW0JF4-V8V6!O5lN0^QPO}E`DO?2vzN$n^y4JoTz(jc% z5uD)@0s$rqorza0P$>(n&JHjAw)jxqY7uloP9KSShv*Y$Z{cfI=!HmYfW!6(b>}^P z_CkmB0NZVAcHML-g~9XFlu#7DhXa3F!2O+y@wCvX6BIZ*5Y(<6?-!P9!F*i^@Q6or4=@~x`E{$u zPIFv@Zza48Et^8|%}uG$&^&f5kKfqcVc!Crxi>7-eiI(rJVhjh2Na8yZ}15c*9MI+ z>}q_LAE$+oh|>@?ICOK2GeXiE9FRnaEX^f#pTC%+(8s*G4hm$=d>4IH$_*-HOfXsc zuI+~Jp%a}9Da?^WL)PSb$a4Iv4s~Is&=50{KH=9kH+36EeMb-GoWvDcRgUS(Sq5Sw zP+M4QMkZd7;-Z_FgBb^e$6`sz&!N~p|9Oh)+)$$wNeY9&g?Tz>NInK;NU3D#w>HVs zI!=oH;lZo% zYbkFGXHmlvqwenmm4Gr#G3^Qf%O@vCdHJOxUb8RRJRP|qgktYLES97l&mYw5tVJ9j zzrGrhMg6{(tPf~52|cO5lg83lTU{c4o5s;mE?zL_=bT#*^U2#`TJ=LM;M>NzWKz0R zReI&|kAT*VKs*gx#+_XmturHYV<;9={d`LBV$zi2qEW$`)bj3S6&<3!f}p+B720XS zYsq)9_fCq=_90RHJvqyl_nC{_0J4T=;}3(8stgqXt7k-x%tdWhC-0nlBsYlr6JAqg z5xqRmesDYx#qNM9km}|&zRH)j@3i08p^MWg9aszdrfS=iFE>3}a_S4n|V%zG7mWlW9(Mvlsaj8W+V~p)*O4NQUBrZXke|neycdj`!#2mDV{#^}s+7&lTfkn5ju0M%V(SGIGVv~; zFt;iZO}S8+--_CgH)RHezj;T^6IR-uPyef=2Pqk!{L8u#JV1pUTYMOASJww!Ah>~L z2Bm4l))XSgfv*!D*}*veD-dGd=(bVh*p>j%u$P*4oK}K0$So_VId$3Ae6-?yWTT53 z^*%zV0q{0PP|9A)N&D-IE|qVOJcI|U_#3vu6!IAsucMLmLwB82r&+54Ac|=(Wvqk~ zJi`Q-KifAt3TQsk%5Tv~T{K)iN|PWG+{-I)SJ4Y{e;S0C(5Kyqz#qwcI?(#wwN^bJ z9skYA!ugR3M}V)+_Ue~N1Fr?)qc2(a;&wErQ)d(=;)+z^rB#Q_2{oW*Xaq|A(D1Vg z0PDFNhXJ7%MC1vCtnS zhpRZH`8?bGt%w70$c#jt8iTpqRtBbCJo#a)ul*=r4Nq#PmiOlJ$av_RK*=D6QPIGR z#w9*QYmrucG~QAE&bOZP)XZj)J+^>jMpC zM4TZ^H+y?cuPXqMN&ttK$+?Et4O)y8h1#lhf||dOa^-h7n%Gk20E)SQ+x#4YN+v1a zT3<&WgMm92qY6MIbD=WO^@~x-^0}nf#BZ*m56QBs5kvI~lCe)cqRtZ`ZT^j8EBp@x zDr%$;#}!}O1YU1l4!RaP5SUSZ%HYkTifZSToH}!vj4zxe*JDmTA{>{{(z`&7(bnjO z<;owF9e;|;RrPu&nw($Zfb(uPkddnTdNZM?F+-OorUFnkq1y4KI`Ghjy%KPRN=GEf zp#syaOQ9j#3epPbBS_AtPFc{+J|vNI?dMSCTXF7|R||!3v8_tu zm2`aC+W#!F_XyR#=_+?hX&A-*$tYRa5BXCuqo$$jj@iINdX8eptCA^1qeTh=viTs5 z0j-Xrnl}|o`%8}St^bf3H*Myuj+2yO*TUqEXx5Y2!(SmMW9gjZRdYUUW1jY7Y3i<4 zSAM^y*NXfY{~=H{gugQunCK$&sLvjhanZ+wY<~XD#?0 z2Sej%4-(W25}!=YS<-s3m`^x0nW+an#_I8RQSdMX4?>{EOo> zYwPjS`VF+nvG_&pRWJY0nykf-F<5*$QH!HS$43G3nP&lG|Cg%jhS)+>Tkap^C(+0E zyj~TJl@GM<_HDuSk$mjDGYmF z1as$zsWN&~>UH?!#7VQCa%*XhyS;V;n3gGWs?CK=2ay>#VM3MrL{n_2)mvAqOX3z_ zT;b-VyrBE3% zH#}odnI=_CW1kRJClX*gXtMCzPi_)MUN%$ZQ>x15YxlAn7LOs*4RbkukJl~qYIc1G zCP+PVBB0A$PBnlyAv*u3p-bWHe0rr2iRY@BRG;rCe*X(g$V$`sa|yw`wRy1np@Y5D zg(+OYvJUt4<0mAf+@! zB{uNmw?KHMS;fCFWhJ5+W?Ae{vS!~kW~S_=ZqczcRtj7PP(DBA2+KWa^H`RJvnO3j z{k}ryYC7X1Z`bvwJ?cx*Fwi3FTh-$8AM!*hO^S2Nk_ks2xXIvs zEFIya4fIA!ODya+!I`huX_P%#MR5hM+5PU;o3={JpDVsoUZJ_iXkup%PHHT`n*z^oafzs#z zF1SkFslikt#<3rdqoEO0I(znW2IU>ThrJYvhL@8KBwmhwgWGuE`X#uLv)o6qEZROA zt@Kw5SHO=f0oFEI75lGP@@O38xx)c@^&6u_0V!k#f(c5#nDW^dDcSJ~`=$~3q zXpbgVd0VfxRq|An(&?Z+D@pULpRRxd!ui^(tc?_^0QViA$(W9iVP%oCTh=qyZxsIb zI*kLL^Adk*Y>HL6Uk&vFzL^wMWGY5znO#ld$lQyTD_w^)%Z;TfOF(Zr(=rwbf6|A+ln+#3Okm{xb}2)I6TlfJ`Al&!G?+ zLViN^_bDGKKh%~nN=oSGs#9Y+6Ux}|#y~ya2N)zg-KCKLKR)pHkv}JY1lb-5r6G!N zNLf4PI$rIF0;tcv*BI7U7T^6OZbj z>eat-M*qt;L*TFCU3oiu|ANU098WZ!@xVd-QsaO zvKMS~%?7FONhD8>ivpF>pU3_DL(_lCM-AvR&QPWf)*7=@wfE@P4Wm90-10pTOr!pTNc1RqecTP|4|BQf7`<#4YWk3R+Eh#KaWWhN9GZUW z#UBvcv)2osuZ-ShAxi&i{+&)4*!}$S^7{DzvGNzIU)_>-t1JGRN9TeRKPhpi-P}$H zWj)GHruOJMQ?DwNr3Y!8#p{Aw*Z|GgMm51b*XY&PV3C-wr!c+Hdg^NR8HmM--Dho7}oxnt0`&LE#h;5TV6osSsf`8mUvu z{t%x?b}Af%ooJ^a2cvm}LZW4W#Di&(rrd;5zrOFIe@5+^DXYxbluOOYh+??;@dwZ_ zb^@DOzs6&1h8384=*GKY{o?Hd=GqLcTy0)hgUvFF{m;>nm@U1`&Znmk5mHFCSuwBO zj}g2fJ`*WZW(t0js!Q`Mwq-BQp%Y6lwxG9?H-T;F6o3r={>r4!(U(oCoPujQ_tKN_ zP)FHi^AQBs`+M4hb}>=4-36hxUl|De4Qmh9lCN&}`PW4ip-93VpSE+T&|>6)EM!z~ zqKSQpMial_Oybq%Uh?<3(m{fvlAm1(@|!d;Ge9263&T$Y$-zuzW=xDWo!acELNi0b z!KPj4AaT=~g;EFauwfJb+oD21n7k+3NA;P{>ad{f6qoS+9xg0#v)+UDDrBBxA>?0? zWp*B@i^Bek@-5wrP^o~NNq4u41Ris8K!4hy5)HJwaL8ZeThpL;881s8W*lz5T9VwU zD=OpI){IHg#ce!DB0T5?)BR_VUG&Lvi49+4Lv|rxrJ2%Pi^3aUXDaLzH?SNnyb$oG z#8Oiz@<6%)E`ncUKNyMtx}MW?yp=L`zMDA@cU{FxLNwK*iVEN0n()<2X!c4=lLdsC8tmh<(Qx$s?jN6$pTP<%Nk~f z6G99yj`27ft{^z9F*kLMU0NbwHUfcdoHF`=LO?W8)tBNM zHufkpW{7FI3kQVDjHjmE=agSV)9_Xfxcx#iW_}4Jj{zxdUN<;FNkJP|?5=sa3-COy zmMs#(8Um3PCF??I)!HiRr3@~KIc55YqeC<*Tpfx_pb6wYuXQ{rMcO0xwSC*rsebdi z%0JpexQClxW2?&ayAs=Afou3fGqnVFjX(m3Z8h#U;x^8wP}DsxnIHDjZnIZ1 z2uEl$-V@m=cXS{0j0C(X!Chfe7VZi#zB~K+YdQ6xCA7%_m)+>(N~CA#g$jZpWfj5a zi_oa@?s_>5ZC=we+E;hqvk3=tv&KHX7?GPb>lFa7Bi;uiC)jVwqN21W?G}s!ux~+%cwQw!d0wMrBI>fCVzCL4Who9F^RHZNU|& z$FqhbP;%Jw?DP$yo|-0*HpT}5$j-zw=3oF#T;CY8h;qUO=e0)^^aa1@- z&BsaE3FV#{PSXuMw7xa%G*P}nq3=>0uV2+ayuTV>IB4#V1Z}st-r@S1pYy!M<95wM zOT^xtebH0}d!2;j_M5e&IZt0eRK|MZ*9Y~fG5Q_g*Uy13#>wQYT5tzVoARt0R$Az5 z!Mu(8^D56x>v4+f(nVh+Wp6L17&6U>VM;I?4U|29dw`ZU=}M|>pfy~0gbp4+Ds9ok zTtmct&uT|5sQ)JW7&WW+UE0J;7m3fYzrU-Gg#wJ4^DjT{=HIn=v!R>AClWZK$?_FDbwDbY-zIDCGQyKy78pCqCPP>b-I4ZTPz;Rq zqd`D@&29Yrjd+tvu3^B&dAz6vgDxjknfVo?g@-78p%`5lj#OB*^%w?q)XLWb%BM!4 zAEL*;0ukY?evpA|^OUJgc`5{jXQ8wUH_OBUMg}>#Jy?XKPYO({He|EXlIQ6|MBd>_ zptEZ8df;nF5FER2>BbQb6Dx`4x)h9V`-Ioo4+tccZ*6XVTu`pFiABoV&^gA}Van%c z%X(ROe#q`G5U326ETX|dGhXgMY!uBSib{y=RfkFV6J%sFNjxc>D!wDCgM%-XfV;+s zE@>p=OXBBs!!Rt8l!UBzp4p!JRrC}AJb@vkmMm98B{CRFiqzgOs(&YvyM3w~(!XN1 zTj!OWXbENF%9GwCysB|;@25@!!5?vbXRr|PUAWC;v8pWk;pviXh_6|6m^3P4L6Gc6 z%`#N%B0s_(At^Ja2HQ^^6>cLO0S!TN?;2u^nHWl+n_o`QRDujMnbM5$ogwWfvd*{9 z=&!79#9GHlGhTZ-mfdg z^d24aqmiJv3Y)LmV{q!Y0D8pINTro*c*Y$zZ>>?Oq$AcFz)a(2p%>zJykCIbzcG8t z(8DW`yHv*ju=N(qHil@1A?kHrJZa>xU-fN~m*i_am2;)#xf0a!drYn|l zP5utl*s|M6?bZiJ&Pm0c9ZSgZ-fSidS1_*7c_0H0ba0vWt32$Rhl^nv8gG)9e6&#Hs=_n9sH41 zxh_uR0#Ez-haF_E{u}^U=;-W?g*+6AddKaX$~GTf5OE_dWcwznj#bknfK{zkOBy>y z>zWEYV{uai(1A)-f4bik3gJGE;ynDGf_}m)8SL$~N!08Q#`n=5eIii1a`_U*H5K+K zf7ocDU2;HKn2VVAHr_+F34>9}Lb9bXE3GapCKuUNXw`%nQhLKkEw>9U0`%=*yjr&x zAH+$NZwmaSCpBp47BBO@2O(aZ#_)2u^BRK|x`E3&g8TTSba5VW72$(`r1~ALlM0Q94tp+BwK_1`<+fQh@|ZG+Gr=P zq>LX!K@v)LnIj^txRl#MJbS;p6T_TN2pDD)vWG}Yv{YVWrUqSe63ARlf!rMR{Sda%P zGpmWDVcaUkx`ovQP+L6#vr@8%_&!CV8&}6pY`)N&fdq*o7Tpw~7@Q~dX+6Ba+VrI^ zRqzbgM9x$gQms)tzIB|if;#?N3kzRzD#Wab<1izW+DXTAvw;*%9ax&Db@WLIkIXDf zg^xyz&xJ;y74mTjS5xyI-!zaz0jQq@ZG|vp%yypfUFQqDA%Y@}TitxE(h5>1r9v5M zfg8pfgmdz~)TF5kTr*PW9xszdH>_MkPch;Ky^g3TcJ#x&f9`aC`$$4~%3CaD&9GHH z@o^*t7ysbggMTT?QJ~}CCbZg3dA8q^b}j!HTc47Zt{zA=JotRp!rOEtyBEP6l!GLm zfg+EC9)^`QB2pwSzQ>eEz!ATZfrVf<;=OSrexub&Qe$27f)yY@Dt&mevSr-!orF^} zAW_o6-Q8l-5j*}(wQahpMP$Rb&7uSEdKWTtRi1oamVqD0V%auqZg*9T9iQ2se}@uZ zT@rh{#+UU+>tP&m5c9}=>2FNcjT!tnM~KrjXQ+cg&`?|39SlZnipP>6)fSZ~XVy10 zuEL_LJ2K^1RIDf<(UE$uye0Y$?c*W-`BiV~V>=3%;wDPnRwb}pPCXD_r5o<+&A{`Z*`=MG!CuXJHq(xclgkPwP^8bw%B7rWYF=Qi4<)-A*>ac@ zyvWizvn*k){9cZDoL@u1okjFxWx36P8TXBG`!AxNG_6ssoTI)nX(XT0n#ZBBn-m2} zBIU8lpnq>Kh*jiAI@1+#tJ3!|W*=HXF6}>%3{vWfWFwUZkh}~_A|w8`z1=r5PeOxZ zG6~M>Be3rrrFT;O=Ibe)HlugWadn9l(vrlEP{!noC4i~LcAhJ{jXiZ-Tlq}eg4>Z# z=8NO`ED_+1rvflpojLS`Cg{nxGsD^X>0y^ADyRTbq23k19qDV=984rkuo=4cuZmJy)(^1N|`?~#N^ z5En?vH7vl1S=Lcq+?BqRS)uqbYTbTvG(HO;WU>9XU}WGIaqp@qo=$cnXlUBn&+-=n zMl;ex*LE?S=@^9=E366u^bok2`H#Nd^f4)*LL&I-EWt)884PJZcan>G=N%@59O}f- z;T<~_Cfz|^&R1#*%wwgAJ|4(AdgIJtBz>J)2oOu|L*C;TIOE2P zoht${o*WPSex7c4_WlJxj2k^dvo_9wu0YMGGuw3}O&tyu!>_O)g)>^xQwPw3iG z+QKbCd=|mguVa1{N&e2#L0u{%^TWaC{OExauw)?J-6p~^1H|?!D#ocEk2PjKv3OMe zzoi1w^dV#&sR)42vc(Hy8>EVSQ{E9`lJ-QpE>cW|*Wl@3+uHssIxIf-0&wu#p$vXA zW=i=Fg~l{blV}pE>(UiKhumw)$iV_5hOaQ)ZDx35T&BD>=@>nF60V03^X4B_N1G&U z0-QHPU|&8u3}zI^)XZX_rkn)pK;DqEdNEiVd=LKP} zF)ZxCGFThQB$+=R^jxWi5Ohq4E$WqZ*&r!(ycCKGK*EcggH9dT#062QGrRrDQx8ev zr)C)Z+B?D%CUK4_ppQxswL23oRqjm8I5ypmazG)T>X!~#6vBThUk(U2^ZrP{pCpGz z2sxc~%H)FOC%$vO)7(|DA^?Ma?Y>a0KEnf%!_e0ytS=5}@q31;y9B5|MCMC0--)x;@WnPlj81Z>2p%Edk0j8sc%1sp|?$ zDc`)}NM9vq-?#a0Xna{er71=BOoeELfz7%c4<37sY4^;T z_ZkKp%#QM$8M|->k>0zhzaqS(BQV1g?k{51pVPh0IRpLuW)C$Id&| z>*Y$wDKrWG@Fh-(xnvMnSmX`1ofEgZcwEp2#!&B?VBdlQVV*-`cq+_QMCSaEL&gVgTwT_^%8%*_c}Qet#XIV)Iw$q1FkGLPWM zG5!ac4|G~v@b6EXu&6d9_{zXiv5#33EPl|(Bt>! zwr#vR*r9RbM=t_^EH9(|W-s6ylH&5I8%Y>OAhoFhVgpg&F77vBKkg=b)^+UCgw5bWk-D1Kntk5XXuwQK z{ji#}qg6=I=uA=eCrN11lwiN>oga9S-=l0U`9CnW$Y0~SNQV>(OURYA<%5I4L;h1? zO21}^f<_K!SuQV3rQ3AevDQhxaUTED(Wuc6Z8@nGr^k>BAzU=Wxk?2iwk`gvMaxe_ z`-*ecel#UwhHSTu-c5zwTb9j_IDL|Ub_>RWxLt7$7>WH+`_4Pw=6G6IyB?O@|9GWe zAYHu7YD7tjifqlT{48TDcXq<>FNtAJS=RB@5Y~u^Fvf@&k`0cLOmPUrRO53E76l4-*v|8BwQIriqnt zHs8I3dw}2jsLjSa8lCVa{SPVlV}mX;a_@x2D|BII;h?;`nsdHwd;Y|3U7szj=Sc=v z-O8Xi4R1`7mBmbowDLmmgB-V-1HLaaTo~V3IvSK#3thta7u{2KAfzvD@6#SGgTcWA zQ00=q-cX%RxYEvj9%~eTZ z`4pLw{7Q1P-RyY&#Q~_p41JcL%-1pCxoaI>nl3rWd8 z@m2r^U1q1<(P-^X>2lN(7XloC`Se4z^h=fO%C-+~lmR_Z zgCf9e=OMjE*u^!r$sb|(PuW;$(}$V%0bFeQiSThMbRg@fD52Q-TALJyU;H%9=uyzm zoH;*{qE}4*-^IThq z;jf%s6Y&e!yildn>s6B^GTcBI4C}nfxhLCD!ZP$}0@LouekB^LtdavNu_@Cf^_wJv z;-`}RL}*g>bzw9MPN9mu$|u%jm2?z}HC~A3bsn3e7Xfti{^(OE*TbO*d>rM6QAu=z z`5OR(zjmVCNLfL?ZB)-xqEBxVLg5JTuom;B^ro5r2^1#w>GvZBeR2TNv*1 zXarQpD;pY ze+Up<*K9FEXwoqf4#hfbGITUXd`PPnXcSg~KTElW;3LQ=SkoycXE9h3pRzozxo(b} zNS6_;QGKDu+WnB^7f)eOR8a($6ic}cW$?wp($~5-oz`|5d4og>2cA(nR!j~Gefuo( zWJ&=zqRY+YD3|bEy3f72`1!jL{bCG0yfy<^u9{lTOz15~0z{DSV&NHZSO{GL8WMLh zQNK*nP%bPHW?=p_Uii_duo$gVXpNPDhTJr&tJ8TF86|>hBHwHY(_ZFimo*Jhs>O)SwpGCUwa@c!y zC?Ue%CqJ`ef8D841R~ho2z7@bk{hIfCdyJh4K9eB)>hGcEmGj^J-o3-BuAAO7e=goXq! zdM%u|nu;NsXozLpc8{2LjG(J_x_6|!TuQc z%T4S7W1&306p*C?e+K?7*u8=I$(vnlI=R~Av!17>o4Z@z1(1cJ29Tl~7{BnJ5Hf7c zzYIH%E~BWg-fp8VROEX2rb?UeUtnl5yK80zNszuWe zHuOo<>Q-^8EQga`$zt!}x^gZc6h|c0hU4&0zYNQ()so7&^?~o?;_A;DM^<<+JwcbT zvfndV?Zg(Pz`~47WpucT@^`AoGWc94`ps788EFJj`Oir2&$}-hNw)5xW}lrK7OZFC zDD29HUfrFR)Z9iLyD`q?G;S8$I9jA-xk7a474wFO0a{~tZ=z+ZJna>M*9C)!R`$(H zxi|Q=T~Z#EQZ6Xmo7Wcs=?>j=aNOY;(o}mpn&h-g{Da0)LJ=Q_&;}jY=NGQX*6+>T zHlWWLi!BIC_58{~PudlpP@P9CPNsm?Yq(3UOgo8M5nh)PVQh9Khl$!R;h@z{PsU_4 z@kr=*@J>`iCF?cZ*Yd43_iZiCQs!O)L>4$hI^a+K#o*w0cfN`hz?Tp)Lh*g*S)e2vn|oE@M&qJRVn*}9_12t)$H1`z(00nZJ4|BK@ z!wj1ZOb~<~YQglFcK8WbAXH=t?m~x8=NY|s5SbleKt<_&Z#$Un3<&0^01+%MsKPGy;XiZ&Mu_205`_Yn!*pFCS#Ho3-gHePDiPQbf z;$U)wCm-xV4{qpIh08?0h8y9w+@W*sDxFs7aA_G>2rav!{r<|Xs3jR6Ds@ktXxapp zyuED`)9lPf-j#;AEV5r%p7e2SiiR*K3J4_cnj(oO6{vhH1S~$zrMyR+IwQgX+Q|dY z=i6aM`;4h7^F;v7+itb>x~KqmH0b5`DsY~7hP6gT>*#%J_car`TpBKEwH^{-mEvAh zz{}T9`YH%J&JdK{d3c%EZC6>NtY?YZKry@h#??*C(Bvl*l9rz{v$IDsKI%M^uSwe}s-+_#h`gW7NIRotv&RjYCai&KVe=>+hxU$J@mFKmpOhNUbq#LzzfIlZ!{ zX{*Pp14Uxop1?kws_b77A#Dwi!OU9$2zQvb!M$|)%vy2%CN?=w(L#Er^0n|)N{o@D zD9H7oQsa*2qGlnIHl{*ZX3pHt-hE|c8HeJwii~2?aFGnV_msh_8)oP%a@kUS6OGGs zv1zLpuC={Ej)I#itXD0KQxMN@I%7TGf1Xzs8oVRAeX=6xrtvB^C)$7Sgc?2=r-*-5 z^o(PSIB`WzDgoux#}l($^>V-xAFrpO@?R3i4zy#d_59KPxnZ~3aLSgE=IT;2x$0d# z909k!IpcBgwxQr8KKuL8&l|`+TCD4tdFLSmx9UCi9Z|ZL9iqgxr<3?OTPrxms3e$~ z7?{2nU@c|jh#J1sC{3?Kb0c$zsR+cx-U&+d+8J-Ce3g=mk1L1J+ka! zV+cExNJ2;!41(-tQ2UrvjDc z2Jj^a;=iMGx+FASCO>%p7KndIjBz0`)U9&cU2Tcd761I=v!d`X+$P#j{*DMviOmdg zeLPd$Iwsj^#l<@qAtXriF~6KXgkUU~thu;LJbkhhQu+L)9V%&bz4eFQn5#({<=EOj zSw3u0X`e*r>&Rn)YZxT@;GeCEKx*6 zmxD^ln=y&M=$VP`;~*9_TRm=rFcDWEg>;Ryr)oL4WTyFYH&6x~j~;#%;AFlokk`e| z!WZ$!*+8cKXikJ#){KKD<`I`*(Z`!cA#e;5!p(@_ccJ~6*9-^Vl7!e(dtvHp30Nz$ zq6g4QV9FOvGLQHl++VO+uBc}FuTyjp6{qf!XryrLDZlb&B;4`H(Mc)ls zS&G`&?>>(I!~b_VhP11tP^_UAL~$o1HAu&oQaWnF6!aVdCUHR8kY&q|FiM5Sze6P# zto0&rLn*KPNnY+{?6p=oE%v{@`*-K>uKxS4IFP~4;DxhsosJ{;om)h;Zf{M=<|res z#I3|j{NY{XCH471ZpsQ5?$672Kg0UW!oTV(s_8RWS_;bL_jWP$TD7PqrhS$dWUB7! zRTK24KfpZ*Xz)$^vH!5FfAe*#Zm-(WalGS36yY?j`3?P@0GW)G;fHK0z6zxvkzQVo z{aJm(JySB#v<|WUc~jx>x(TU2i%lO9ncyn;<$MXhYl(yi;(cr2P1O8597fj4x3liH zDGMEbee7j#lFVTEfzx12gzd4Ju>Om~z#PYHv49y|4s3KcUa)>dF9Ut=hm~5_>FpL> zaQYImMs$GNg#-8B#k!A2O0Cqr+7Mo4k{EMS$e4DTCoF-P&4G6{Ygpn~)p)^hQM{VJ zdW~p{;kiNYvEK*%cV~^VhzLd+=^VW;`>&6_4K2;}DD_GNArjjE-kkBWe_I(-p!k;M z-!FJvF6p#HU7_;Q#| z!En>c=$ia+!s3tyj2{gc`MENgVx=?&?kf@ls8)$1dzYU>v04VQc(z8egik{Lz0TQ2 z`@c&%0N-#gukFc@alvQL=aj?J~`XaQou9# z9{^ogaA%><`Puo2NgA37SF-lW<2D08HzmqL3;58ME^qCV6g-(A`@qO8OCwT0E`{})J*N5zt?-@1EcwwX#CM}H& z(c8AK17*cp_+`aj7PR?2jEac8`O){vEU`&zX3ptfrODFU;(=h~Jb<_$au6l7NqTH; zV&b+9MUA!I;1gs{757CRBFV4I(u&)gmvI@K_IrU(M(2aqo)XK!xOOri$x~5fws+Ee z`yZZ@0~YR6RrA-0oB_@UF_c~vQ!-V1D{VC-#fm^!8+A`?c%{EZB!%MjR+Kj!2Tw4) z3)-FX@^EX-iYFWNt4h?e4fPuiyV+9e=6VLszwxZho|gbzA@4({!aBd*UA_QY%;p4e z6KQm2{-V4QJFzk=df&oJ2Qei+pP|H3EZvkVpOgD}-V{~{V3>%#J2QJ`NPh2K^P#{} z$LeUz|H^7(+Ne_kj*!(N1^Z2H40mzt*dI_~zN!k<-M%wG9w--kouuDxY@C_ z3eX7Y#^6l%W>LU#MY1S{6{lso3rXq{x$S!hdLp)u^O#sd^7F6pQC3R=e)nv;q*9!- z3AUGFQK2o}Rn?FGuor*5FKS=RC%b;CY!$~mQYG8a3T*)dp#9Iq9H&mXYtukIN$|ID%pl;fpE!=`J!m0aPMG-hb zI!gIa1GeTNy4}JIgof~jA4U+#w@J|8M@)q=K`>B|g5l>F($H?G4oqUe?W}6tXReVO zMt*Vc_iZ6I3O*%qpOAnTKrZa2bbLE>P^tJf3WCZVBn`77&nbL0YbBgaV7E1X==30RbH|_S{-$b%KS)H<)VH3IQJsiwT9Ro z?aFf9=~8IFH-Y!k3*E)9!-0?|_XC90=;z|o;H?w%sKVNEL-Yd@cunThDPuNz_x^9@ zhe5s*PC6Ix_v+w98VehysRbht#j&kiQPCQsB!w)~KJ%bRjBS<5j*E8id|-vf zzf9htrF1F*$(0Ik;wxtRD$>4m0ct`79Wy+_c})e2tT7xFFby ztWw^yDbADe*?b{4F?rwXvKGaq<@nQ}>Wb6W$#a*+*olEn?RmwamwhH3{G6`$Y@>5s z6O5GT5H_MkM5lCgroB0mRZd1u*}D?Q9vCguTs2ubUiisfBwmr0TRLCIMk$M_5-N#5 zPC*mPeFZ9ga`_~rtr?{r6azwyL7N(4n!U8$6;;3aaWtdmN8~~F zp6?zD?oXwjC?n1@+xv@H3#!?g!qbX~0`tZi;FLq`uL7b;vn~FU0L}xNuQRJC>M$9mLG-G4U6kugI2n#X ze9;d@o2q3H%qoqo*N z_^?6iwxPe|0>9LB>IQrwRl=scY2Z;%Ark?hmESgYamefRArQg<6^c@j3KnPSXE5m1 zN9q{wEqQGr{82HFp1E+LsM5!6Db(Q(_bBNs)EnnCVPQ{e%7_KjYN^RP3m6xkC;haF zOFLbQYuqAmleX$75$k|K>WO$jo^<9Vkckf@;MeCS@O&*kIsX+Pn$82(LzXc{YT5?283-<3harg`i$fgMU1cH&0rBgFaLP}%YyBNpwPz^l zjK6{nQYUl-C8K%-D9@_WqQc$?u&ETwkPN>y)MrOk?eg1oyWALw{4p{;oumFOCo9JV zFf+}0^68+_Ch1_tgxFjujqumP8x%($WdYPmBI_6P0>Per&t4`XZDAw3a?c`XtuQ1p z5~VC>DWAM!<0bb|gDlo~w!b8pchk4E?`lU5>v*5RFX{eS`Ku9T4JQ0b0n%1h_y;>- zNM^R*b|G9$=7%xwbGv(-1!1^oiF3-q`COHS$XsiDQ?v;rTvV9z@8*6L8z4R*3!^c` zlt?Itb|(42fvoH zfIkY6gagkX-%6b_0BU2trmB8Yofd6-e|5aI*%TpAI{XVgrNM=hdGv>TwC$^n52J#k z?(=y@*v9VTOp4QKDIeoL?w=eBOP8v}WvG}Tv^-HfmURnec$+daR1@-aj@w6vkB+^h zx(ik3^TLl!c==Pk67fQ$6SvNY#5}x118Q7Ewzkn;%Vf0RDn?{-qjTYw0RN{YwmQ96C=9AT_BuN=b|eF~pQnugy0 zmG>+LRMcoee}rSN<hXnGlP!AN20N$DXi&BVCasnKPdY93nn+ZC|EF_E0pW-769) zO$g0J_z{!*2okc>7e^n@5$Qylk};6x{XUQCN4gE)#taap*-h)2((BlZCW5`c*mzsy zH@zI~#jzzwq)2?61UJ+o;9D5TSIFmMQrOZh@KvOY3JqB>l!!OVrG~WAGUUsJL?@kl z87utG!>w|=xfR{uiWp^d3ov{MRd8l69LfTbf2MO0ayb;Fkv%vDa(0eG?QCz2v;nNu zUANBFT+JyeSY0;lwjts8gy|qIKyg87-Y9KpxY6n>di=$>{FDmFa>!K(xMc8%nS*fr zAfaI8ryj}!ND!}Q=PB)9@vbmj_akW!dJP!*4NiwlUQb864j;0+B)c6aH5m1NI=U)k zb;pT^t&7;TapLXF3+q3NFZB$Lgn|oWU)SwUy%bzseg)yu9&}FCl)m(xhMTGBiN5GD z>SC?op5TWfSR{-_ot|3dF&bgUhoQ?3EdC5E)E&hR&6#E#!#SwcBg`i-oO98368*&= z%<)JN#@JYRdM?Nyg8Ip#(O;>iIp-v~OO2fwQadV%jR$mPdNIg9~EyWb1P^5U+8wsWCac&;1$_YQ^fmdxif9``>m8xm^ zaaJ@an(@;h4yTG_kqExBN1A+wv?ZC}NW&9zo910&{1+@`=c{WF_S`2QJd>tkpl|`_ zBF<}RKw=%8Gu z4kRYEK?Ooq*S7hP@p%3of;>PSVJZt?4n*X%ukS&>O~TXt-73*YT^z3=P^q3pd=Shwu|kPv#@ZRsW%tQU1qiI9OU zxbsMfiO0*Jy>?dJ;3Da2>jA-L09bQDu)Ch?0)NPR&+eXH?85ReaSZ1WU9zhLC3D!^D@M2H^`0VO002g8n`qOu^Gd` z&R0{!{<;>>Os*vBa95)d(7U>@CW6B2`nxd-ir*;guQP#rKW1NOz{R2=%tEU7Sa zvTZYQKFBH9kTUW6EKOr(^#Q1|sc|Poj_AWi$!8!U229ovd+Vm4!p>&B>WMel%szb8 zO2N3UCJ0m!oLFpdS=l7+1Sp12FRVJJ$T>`1ltHZ)95oyeK zIERC0yyP6W7K*BC?%yM5t@B6**4<>4pu8wjXUA^YWi992=4Tnk{0fCd%Os04~6Kkry)V|UjpZJ#f2Ps*Wb;6+igur0MWj0Q|MX4y#p}5SV|54p)+1_}gbtw`0Wc<400eFaHo- zG!U1}3D?7z0(Yw@qlrU;3h_1caO{+Uen>7wX##Y`yB?VV7WHP~7v^FARALg2LS-Tl zq95TX>R<2Ux$})te*K=Fv=EtMyON^%b1!6DettvV=q?s|DPnHQkQNtViI9c}_R17Y z>rv-`_Z?lA9h(7cDwn5u*9!U+6L_D?!h?2A(MwrAAk@z6lSkWZ{qB%Y9RT zq|Blb-rGZiXhjjvAH;R~$w$OuO~J%7U^FnPKLQ=0+H_sT2PvJV9SNC8cB+JD!v1lE z>rv@j6M;DgMCVtCT!X9!2KG$m@c7shqbIu_d5BP^-yy1eZ!7|mN@Uc`=AR&!ya)tsuEmg|r`?)PUgcOTiPdt3@GJ;4}38IF2t%^IE_jxl+kL4R^ql z411?fx9I8>43qA%&SW|`?_JL;<2BbsRV--waUJ#Xs!V!r)5F*ujrhC<0N;{30C}O^ z<{N;F=fjtznu)2vF}{g%FR((>mWWJBZh)lm^Sz%fz!ZmGtEMz^8 zHd1^&P&)D5m{IoCz3=@?*#_s;iulj{bp;ab+Ug5c*iBkaYZ0m#&YrLyu&!)fjDAVJq9lqN0VG*Z=97nVX?{)e$`sr9Ld9|RQV2|;_duaMX*8p{n)Y*f`u zg@`8Nj!LqUDyV;=4#%5>`nUfOql6#hI2%$wcG67MDUoaKP*qO~@2OW1b4p`@_dIhC zpV^EF*AR>1ust`fl!}H@cD(qW#p7>P7|OzL62+$uMfILtI!4QjYo;MU^e%p1?rOWl z$!~$R7wYfi(isWOCyC599kB3CTo;K$WOZ)+4vh2{DDwy3-jcw@rf8-qa=Efa1;$Tb zq_4XXahP@=PkXtWK1u{z*lcBhmz18>G7SqzMr~3_rEpcNP#(L8dyN1%BPOBcNn?|6 zIw|}UoT<+wcrPCzl|8ff)Xj2WH^pg3(_3f00y(2Bk6Atq zpommN*>MQ;O9-EAH@IyJ2N399LBwIdMLVGU7l@@&nCY5RkZUTpDBfEKW`La_@*GXg zo5}7g^q=JezjP9XVsc&w9N>SoJK@C}Cxd4qS}`S*!;u>^n0HXjJ~l3s1=?Qrwq%eC6) zOi$UBbUmKww&)bydym!wM=!g@wurN8%94S4A{x0n>XIB@an}{_t56;p$1I6`p{N~X zOns!(jPk7Ud@n zTk(faXF0TC0}cs|EY0W5i#HWB#UrR*LKYubQ^?0wWm;ir>+?)X2F(6J@r{+sKgeVp zVi0V8=p5{Tm|RL`x3I~buACTPma3Fj((HswH=$GXL&=81;mR$`57ZAy?N zUwOHCXiL3L>-s7^C5UfNi#6ApVL>4xxV^6B$Aond#!t7E#PTCwM8&05E4}dzG=y-% z2epNY0@)T#%o?k&APPgI6wrr`!N=y#QU{;G%osjO&*@LUZJ*MMtLMoc-N(++Ml$ha z;$y)?czOIQ4mU}RP9|ta7#7y_dfJ6|@4V?jt<~;&ef3#&QK!?Y&?Sp690wF|1t^ZZ>`CIID#mQwPtzYsXSRJE!Cx+YJGyHAt zTZQ--xbAOSyKL{}lyjkSV~#7pF=>vW9R^-=*bU>Yxn^V4l6PdL%h6DP+$9&jzcFA~ zm;^u#uCE2X1T1xu#XqkYHfI9-z7Xo4@Rr~usbPl~112q0OuUJ1=)tJ4E%UcfWb*?7 z;n{+ZEX@SO-<*-Kl~R4^f=44zJYEig)@s90i`&o=sg%B?5QrxAiLF0(^^v4Ud+JjC zX4Opr{mXkerH1)YOs98J){BaA8jc)+9@6$hSK@=c|pKha8_?zb}$ zi~ChQ$$&gsq*BJ4Z(KfeHM3(9Pbbx>_`UU^V_}?zqoh6MypgRX@#WL=dVsw$!y3pRqc+((XS~ zhE_`FSc1^1SrtdAbP;XC>H3gT_HbEdn&a%Ei0!mkq_-hkQJ zwHP~dDdy4|=k^lRIm9-G^z?i^ znN%Y#^+m}y)}BDXeB0+wgj+IVwSxxp0Zi2 zsx$i#%lHf2D=}=Pj+?1M!2q~3qR?Z6Z+)v*xv!$j3S;y?fD}zQcL+Gz=MoWD_YdFGI>#pzD!u z1?EdNL#>UDrx|k$R9?SJfZp~ht~_FCSbD(*Dh1UIGt5!qf7mnvE=B2y2sCqv;+f4R zv_gZ9JHAQwPa<>pPV8Z>{mc-qJDTf!*Kvy=<2@gA3s`S%WE#U+`lB9!3XjDj(!M%bb;YMQOIf%0)kvR{yUC5V%j$x_z>;%0-mi1A;>f+2l$)Lu49i*^O zSbE`A+Mf~g@Bsy@_NS{Cq!^fZjVvE1o!;o-J7DS$m~8IbHWuwh!)ritlT0TRNG*>Z zJz_*kiwX*WKI!+xJ0A*md351Ma9`A%W2NcmY?FkdE4k3Bu1A1hN*9zQlUU-Ju0N${$E>0kXZJ@OQ<`eUTFFmdxgDqPXaV`ePUCEK(USt%_z4Y)-*Gri+^fs?FK1U>vrmK5cLF3UFE!T#ehh@; zUTkeg#`a1-O|MT#;19Rd&Xnn!Xd+pP80+;lv&LEZau86Mt-?R$UbxnXt$d)t)ciSH z8ymK@wZAr@u@?Cf)mb@t`&u_gTk-%jIwPyNr!lBW^|KY8_{Id-8_zcg;}a@!DEJaA z&H33pL1fmgRrW(TwF1gtGP*)sILqg!+fz-;DLafZa`)y(T}I*fSoi@z!_AeSr5P82 z7&eev4?j6`mN>3b5m`8ZQ;X0}^WggULTwSbmx{QlQu>>Wnrme~PXXccNK$(12TD1n z+ifxsI3b7-V6W@uDg=4^3@!~kdtP3vo*OGzc@%LM&Gz?SPLKHAkNd2%Bzds4$1$+8 zaNJM&VRR6Yxzvr@gxV{;Rf^b_3w`Jk^MnJntY!%P1>i&T^JgJSoGxU31HK)yV z{udO_LXXC7&&J)gws$5gd;5OPEpGQr#uHsIo~vZ8qT&7}KR0L%xIxe$pu_nto50`S z`Q<7LxYM+r22KMs6#7H`@BZH0h+#Li0=V0UFZb%~`2cXo7shONvp{5D4&xgofd8k; z?*61-@Gsf~|E}WjZ@T#|uk!v-n)q95-i_kEn?QgY_GY*IuaxZl#rr?$o$+VN5JZk& zBvC@kszbs7`%%mT_@;_>|v70{rFJV@K1XvV_SnG%dgAgiAsZ!H9M!;nAOX zj#T?p`*tp?w67W9euItv0Z;T-9Mf-Qhc~Siuwixw0=lt#_8YYHz8(OtrB&!q&DGGneX26uRJIioSQHXesWb4 z{;diB$5OfI64Kt%#pprom!D(NZa6pb+~KTD1UQDh>q~QUf&+#2osKS70{1E+d(t}H zzk9YX`dMD@Ym%H{t53Y{XZUp${=>e|>(PzHz2C%%L0Xcb3RU)QjijN;T=}248+rTQ zYWXrroff;=#=;U$5)MWxk3h*XVf{t!Cm>rK$!s<(Y<6{n7kqUEx? z^)eS68j^rZNW@M09aZ>iV%~e)f+_O0CsMXbuH?Q>3ECA-FUd}7y0dh@iFs8Q*-anM zI=4NEPQ$7%LW+1XjlH+0X(#^x)?hxq?LhQ>yMx=6`y)f1nAXqVG|51KfgW%-ceN-O zru6u)R$8ydtr?0b^Vd_h>lX6grFKteSe1@aQ%yZ5uEv^vhFKpp@1;VFqLb@$(&r9! zb=yjIu8I?pIK;C7nB!hZZ4zvAt6>N*_1`A;Zg-3d`gAOlG z9_fjD>yg2-U->gGl@Ohf?aBzuKn1l2Z^PE`befmM}S_ zL+cL%-6v9)MMX~M(*l;*)~eG|eT0=QL}Rx((me*Kv`(9MDAD6FQEY}X>B_ttmhL@0 z55eEj4PidVWpqB@UsGMT3B)EXd*)2Z5~u-c`jLCp6r#Qrz#S_!f;^k3fpUUR2*x}L zV32zu5N;s`B6Y!V7dI7a2#-f)-;el5+C4|T+oCDx;PV;w6Pyb#6IWTojYdxPWLf!1 zJb4<&EnaugOwGPuc<$DCedsylJPLYs|J+oY)N818aRg*pH}7P-(-g+!-eA8qe7Vk` zbmC5;zx@1wo#^_D{Jxc`Cvc#jnV`IKRUAFr_d^~yf?7mM)gY?zIO!g5^g$X1I)3!} z_=sM8spluJk)9gTGCaynOVV#^9Xa5_$DPo4*=h+^f^wZ%eKDzl`4PNaTDhpi>Qv+G zXfySGwhU+#;d|quMJcZi$@Rn+7J6DG>Ijbx#)U^gsq02KTZ)q(ANjEUa-4l>b?D+G z9FR|L=-fwLl~RkYrYIv72Dk7$W~{O3yFhqt>A1HHKl0qcKeqY|*nrL28-}Fsjp{|2 zNw1I28mPa-#oyy+<=1X^Nz!_B62gt-9P0J0%w4{5W)x)dAdp7dWLn08=L0MS9bMec zY+!$nCp%Ex^SXJ?i*?aa7?gt{%i2ss^oHHBT-vnO@+ImwcZ4mR9|g_Ag7XHw+GzOd`YkzriZ<+fC*s$_uJogl&x^HK z`5$_P_G?s3-%nPpTyb}KmtSdB;Wto(Tl>Bk*OL}0P(jd7CywhrL)RA}t&Ulb0@^MPMJSIDJNy8%KhEJgRopAyCA#%(3>s!|Bv?mw9E2 zhkB@d?pc1{l4gLEoNj7BS8&TN+PJf*v3PrpNYY^!ij14Hfxt$>`9*{f2d!98exGJ( z#M=VV&x}m6brgih`r_y@HlcKHPleTJn7=$^ndob;nW?9<%Eb15Y@g}^ym#65};B!2(TqySTh2k1gaEv?V(Bu4QuS!UI&5RUy!6M+?Z8!HHdt=0iH~I8ym%;|c zI9LdDS^`1la(1=$H$WNP%G zy!G;IHf;W}=+Y>tzr&LIVtnlx7(ON|R37r;7(Yx!YM^1-Vy>N(zm@MZsX(6GHR?_x zmZ7v8z-#;lGPZ4m+D&-c=EJ19nAf^(aODd}*MVARQXNT%1V9^T^ZzAnKo$~| z3kEv(EDb9^H?3r+KTWpG`+Xz%Jn*l6M$3ad-1%%HLH!XB9&PRhPm@0Q!ArM;Jq*YA zKa|45@k#OB;mSw6af_fq{hH<`I-i5<4kc>z>zQXz*m4=%2RkRDeaG#h9AdRnyvws{ zw@6*c>+L#Gz+xQ5f^xV?pK1?zX|(mXD9Q`$@00s|FM&HUdy@@gG}(g!M}6gvALN3g zEnVMAlPX~FjS~O-s(4YvRsoZdu^F^)SoQf{ggYk2%K!A^?EI4l_z?L+WpR|9gWp3z zHaPoM1_KzH=O}39G#akbwJdkdEF*r@8!K|Pfcv!atEWuvG-B-oLM^q6Mx5uJble%( zj(PU4rqFZ1?fQ>66GEL`jVC75tESb8#7P=y{;&4*|pluFX-7x(|&C`8#Tuzh0Oy_RuHFw_=*WXl* zfJSabT;T3)SqB@iTo&5#Dz?2aQA9@$=c&rh83j?~Ldk%}_3m*l6ePbt-S56({zQ#; z0>GqR0?nJHu>T}MO=|ZW=DB8jpH|MJ72O`{sZB$=ZOh?CAoL^fRAnV9)%tLOs}I$^ zU}cCc)y}Z2?fg{e({1CV4^OM7?8RvIIsrjytKqzYJD_IMJu|C-pBwWCGn_0{G+f*5 z!+)gqhEd8jF*!awzZRA{eed^r%;L)m+-&0xTPSRv$@e2^-`9G*dn^?&V%e09#ey%7 z8;{#YF87mz6(Bdgji%Ve06Rii*`vDrqn#t|2|iGEkzpXgk8ng^~QWg*Z!|C}8v_@gEGTL(>O zVfYV8|Bb=)!hg5d{X2i-}%jnL^hk~iixh=B#2fMTqcR$vLjtc5i-cLP?eT6DJx!n$x{?cw$c6r?7k z5O{re1^$kEn*sJISar*^?#vk62EK~|h-%}{A?>89fkm2|kmI+;D>h*7fQ5#;E8w>l z_;}~#U#S3*-_UaV5m*@oyxd#?_fI4&+(vi%@h1M?sr=5)O^nSkz&miohw zi*P~i$mtLKWX(DV=r`30>ohaPG;NeC%V8BJUHN#ESIqYt^85n=&IS@Wm>xtRhWoc8 z@{+85w|bGJe8zDrECMI0KDZwMkHDP;o=A*1DJau!FS-EE**{HW$eE?!0y}#4w%3P2 zZx$x*{LOyO7RXW}Kzpyn>BN{|Us&5ZXI(hqH^;>Ckcn>k?UeihtNpF%6X4+4?c8bz zGz78@Ri?3_sgp)kJ05s9;bP7AKzP{s@S^;9E9=C7IOdYc*x;JAy%hC5 z-8R#sbLJOX%`EAMouJ2~HdqaT7_MTb4NlVY-j|*ja67X5&&-}sN#xhSw4kw#?sm`{m;S5m( ztJXcTr|yRv8UAR?9@9g=j>MRkl7bA4VvY;dDDHJ9sm;$WXMiokU{~r>9FY4XI_|R^ zsm0EnRJThme=Z!ic<6HOOKaAWw{^-Q$wsv5Ax;_KQZ|*D2HQ~1?|5cP-S4b=t>06p zAuY}SSiuY3;q_rLwyrIm++W+?9PGAxeb1yt9ph3*r&_!4O!`WJhjkIgnSEOaH^m4% z+@zM$KLkon`$q6gp^{;$SF&$>rp?0v7Dh$e4ZpOjH0RC}C)VYMSw2#IG5qM0VIqbV z^4G}ji}60~aRA`T*4L5_;aLf9u-W;z@85Fj_Xd_Zmz$D?AY9WeT#KBqfv0If5^yB4 zc`v)NCto3YGy*t?~@P$uFKkX_$*cbvqP z>AH=d^mGG}btLz*l+)dRHPhHFa&gR!Hs_rFBE=VvFfgM zed))M!cg086qD2d?|r<6B{YQbuus?3Fz{*n0-^iLpaT6}xZV)TJ^K}B6ONMr@kP79xQ5VDK?unjP)CrTm5B(*o_6FAt9Fhpzg&UtH=*euj! zJ61XuV-huYrL2vqVbX!U8|$MJ>=C{Hj6;mG3Vuv8|`+nEf>|_eRYFU!(Cy-Z;q9y)CVl6`?9N__@bJk>Nfs^WC>x znoY4MygYajup|Y})&FDln5=Ka`U0w}DimCb3CNkx1&yPPJ|4z(ABaT^k+P;ZlR1go zNa+bV>9eyaM{7+C*UQom>v;DgLniR{8HIX{R3R#nZtIC{W8Qt?r9lX4$8iN5&Y9df zvZ46NcqVXB*08pyn5V*w6}WGCZ2cMgE4bJG$o}GF;MpadXgQS`=Yn6$7^v_h1lNJct&f&0 zb8cHFZ~+>sndfb9EMaXP^A@}}s@>@AgY=zvD)ljXzvWuJHKEd&m8-J=LR0{)6-@Aw z#l{SQn4H=AVgS@65MgW~HBWlALhg!Dpm~K{1ykAi8axBT92WHD+L zk`!ODNu|yWE)QJBEZ?#POpTPr#3 zF?=2iivta=kn?5Fk65f$7_okp{e#`27=-vsV!ZIRnof1}!{;0yZMTjOnkt}_5dx$c z+&1Ld}`$REopCYae`JV6-LfifQ_(RwlM0|b!0q6YF&}U`YiLC zB5A7)0T*$OaA-a_U(S2){@%}?W62Yl>yd|wkbnX(t$=HoC*)Vmx4UssKd1m)3H|pN z$)RA|k_0S+=pi~iLEs~f3jF}h{P4zF%1iH|8G_wB6JIAy3iaWek_rd<<&LjZ7?>pF z(Gw8B%4@x@<1c$#bPaV`vbY!zaL;OshTf(7z+0YR7cDeXRLeTl>6CFzW}wU8|34G^$T9D{H*TIzj4r z8TOFil#C7==3nV0=MGddLNPSnZMkScSkCTXRY!#xXhre8rCTe;OPb(`=42 zIK>9&Ceg8{66>N+5pw0VN}+4jHYDoS_=yr9*gd^QvVGYbFP`KO;NWJUtd4oFM~`bp zD=$vuy<0e|ZKTJBG|s_@c|l&Yz&S5&vhrVku)VLB;u;S(_>LH6FTx`jV^iEoTg^=3 zxb>)`&cDE@AAzp@BOaR}91zB?#w3Y(A?fkH16vWgcNaFxRU(vMR<|+QaPv$lD0mPa zquJ>&O}8^mqX_M3HxprMci4Y1v>fwhIrc(7U;S~vC32TItm8w{b2*(l>Nb(U9Autp z&M$LD>WlLqjZ)1#Aji5taid4nA)UjiYfriWbExIK5@R5_@^|s+j2Nb$(6G3uHbkDk z#0aJ?^L78s{D%yqf73SZp2tAykaNGNBO@^aZ4URDsA|nI?@Og9(vDnjuEU5hn}Jzi z^rUtiH^Sn8K;S&H#j&p%0h5xkBIRZHQ?3=PAG(6>OZUzQI|XxH$z9=W^1Q13@Z7`X zRrFFRNTQ1LDWXh#gt(a}iAoqPpB5&unODZS7>kTr-4moxdpXPc&Lc-DWw155OjdkJ zo`V{iOwz|;_NT`dz;TH)6hkbL;Nre0K5w=?N zODHvj9y#aPFXxk>NIX3!4;_ElAN8Lz+M$dTO3BLO7b>xgK$bdkt@vVm4lt=2HmyZ* zDl11G9@0BQ9>^8JNXvCmW+27kvbiT(0PZe@8Xy*xLy?^epDL+AqTu;uL|1B01AcLS0-nv5WEsz}k8x3bijH`fs22T*Ya<_LTd*d=Kh7|6@x0K`G%e>M`McpU> z=krtzh20P5TvU8~UwaG`&kMq$S{w@rt9m|3kdA0BHzaL_;6h7pW98<0{C?(f!@Dw{ zr_$`!G$Py^HY9W7>JZG4bZ?GFHN9!=Fh1V8ZThEzs*u{+7nMKf#y4p;$0FZs9B8`K z^fV)rUkqNGN?}GGU_|Aoo~?9=bzRK==dliGnoq7B#WGY?e8_fQZn?%eyRYtAWi_oE8|dv7jldPH?Rnq>mO*NQO0iLez&c8QeYMM@A($ zrzoZ-gN}E}0@wn7yKZd(3v_UwXGVI7u=y~P@LI_5x7c?xP~AP>$Qg&zurD>nT@%$0 z!d?qrl0E|U!3o*Ea$|JfgR(-LFf=vRH*CxVJcK=-pW{D?@_xD^$13Y;$C&u#7ghp) zfC<2(7T(ylMh?qbA2mxy0oeyZ5n*bMjdL=_J8R1&fvE6_;43Y1L{Wp#s~bEYBvl313v6x^m;Cb`;JHW~=%v#o|H2;xBZh@YnNMKfKtj zknt2MAOw|}?NFMec6gCF)n*)$&Ht5i}(_Pk3m3%ft}EQkgHhf&fqa2IaF>8-9*oR(8>nf>Cohu2KC;-2># z@Kv!7SqL6-4NPylK@9}W`kw1 zl5H4`pvV6E1JR^t@qKOl*Vl}GAmd*Xwcxse+~k~%&vlVM+{e(XL^`-zaW4BuxZ zsjk|t3@S4(fBm)WAGuUUO5dq{_(R7)8t8QGA%Oy8pjW58W1#W{)b4&t>_N{LpEmc- z@yMf~e65m?DQJaOs39kwNd|P+{I(xTS^4`HAldV-L{wjnYjvgD=;ZC}cY0 z;p1z2-c5gxsWn`-ZgFQjvMD2nbcI;YR`i+2a36_D%bYC6PoIs34LqZGprE=*$QN;S zQTlB(t7@8iWs!<4#8uHEqn_HUi=D4+Z<#DE-x^Bi6;D5|Sm?x-z)&gJ^m3W|mt+5G zD7AQG)DBCNG_YTHhg7<`2E8s|Sy(otsOI8N8b+t(4iXJ9rks>%c~S;=`<>ex#WklV z#;=zLx40ZE)^)j{y-qxFy41JpSvPBSH!7O$phN%0OYL5;EF5jkD%`Ao{rjyLWW$Ue zcX*}NghA?d`Rz|YsN0RiJ8e&QS0Lm~tiR*FLq~lVkeHHkc>le07u?O|8!V1-_Q-{9|Wkpq2@O_%JT-vb+gX+ zn?T^te~IC$zCipNK{uKELseANqP(T5_DDlvXsF-I#aM1K_5KbQ93bH;xMp#103{j)BucR%jk>Li+2 z{XTpUYm2m`l9{JZTPF46uj$>;_HRW?e~JCC)pJ+Xfam|cBPA|HA0>L|sBm zb{bsJQUWpxSdc}#Zi6^8efY_Uj6_zT$v`e%&~n=MYyHENK-Kccg7rx5yVJ?Rfi}Om z`tHF=LT-LH^#L~w8U{MWzy97mNJ5h45|0jRyUgDkIkmOkzwx-1&(agsb0`^)2L$ro z4|!S7)#dZPvFeBU?XH2X(qkiWBj?PUMrI=5)bW5G-8xm9z`|+zCNNxLv~PSwd=eF~ zVX|AE3HBOPoGtIyqQ`bKF7UmQr9WJ~m}9%~$7lRmH`5@~IHnFqOtMcE+?~b?#Mc6< z40Ruqy3lj3STkuEnc2ddvVhg(?$_UrATKD7m>)bRf6iStVcI(aAHAl9#RhHIdzoUZdG^b-(Wt$f+Z~I<`KsG0@t_yWtDh#%(2AJ^Ogx3#$V6DT zl&)dG>A)D{eS%wSO~$_`$MQ=3qy#|wOO|tOLSEM2B+V=j#2}bW4o7iSxI|aS8MUJSq#fU-ugqf9DirJ9ajX9cG zj#gr)Fx=yl{KLq|C>-~jI(Lan+;PiJu-{zkD2qiU*ADNxlgKw5>nU zpzajD>fj`KG)WH+_l0Glsot@n)@8rWVybF7-LH}4!tADG;V3`XK_8DxC3t)ax{OV9 zQI^FIK%kuRPZ1js(9LKfpA0R}kaT{Q|`uy5gNvWxtD$Fx$C zOa$0f`wrBrV^bt;t=7X$`vxUb`HDddl4YUga?QTQ! z=0jkKEM4f`i?Y2bx8*SMwbYSpGIjFRod@>;j5J4>(V2mZ7WRqV8FTDydv}enJ5$3x z={o*o z?PeSKZwdU*((&&E{!Q+`=&+NDO95!TasT%Bublp$5+Z)b+Te)St~c#Lp3i|%`d?_5 xJ2>)9UHt3SAE+we)g3elc=-3LfBEK>`cbA6X9^Bonad#&W+?_yhf(1$N;KAJjLC(s~ z-ur#Ox>fhjy{GEbS=9kDSNB|Vjye1pqa&0QB(X3^FyP?eu%xBLRp8*z+Th?&^wAK2 zk)ASnc{unlU!=uF)ZF0@=HbJF4RBFb?=dky(z>9F28h12ZWI=FDZn>&+(8Xs3j@Z*bp!d=*LkE8yLti{8^? zshBLiwD;2VfzMg>Q%o-s-ZO3pP~gnElvoxd8vkI3q>(mKEGtVfZGA`DS+P$tc&fbE zbU3SW(8C&4z;NYLlKAnMe9&-Zl7nT!Y5k47(}khmdj=U?q+Zr9kXe_U?R!U$k-D-n z>hJs$hQy!iMuGMGzE-oBj(}hOZj(Z%(wWaJSc!W??$|Vtlp%y6Y6)pFosXD@cJNQw zR@Q>~jx_yQ2V_3z?CZQN?&Fa}TP6s>El%p>;?ByYu&ng)+sb+od^hTTJV=b&BFQ!rU~wV3Ab|LhlixI zXJftmyZ85t6R1zvyFS7F*!Q3Sb|ef&fNMqjy~RyxxH#DFKmKnYl7auFz8~ER(1h|Gq8ti+G+DT8@`cp6Cz2l_c6F5h_-=r?G^kmblBPMJvfF{rY zLqm|?qoW_!H&wNwKI43bz&!{3UM(wXf9b6T4M-j5@5Ac1Xwr>`stNo)HQ*vB)V72; zDqsG6f=W?l#e~C5CkPCOLp?*#*E z{Ienh_BJaxe_$Ngp2o#1SUj}v>TnT6L?qhy_nI0CitXOBNH|U&Ew?LX^ETGjPTFuD zfA91H{z(+pHZ?W1wY8Z~>37(z4 zhYO9a?e~}avswqs?QW^B-j4g7gyhCaHokiMvF|aJzFCRzZ`xGuC`QIZ8(La^UhGaY zj~H1}3i)>UJwD`%g&_!4d?tB<;*ga{uNYePH@Ph!U8iYKweqi3Z@UD^us0}gE_PKj z-mj64XY+wDJKRsH)zJP~4%1}~G^x1&6^Ej4H%g)~Iy(B~xT3nci)8y?zJATEqN1XM zgnq&@KWnksZV+MFmP-xw-;c6UgSIMn)_TKEU$r`J$^4YGU24G_wB#UJb0ZV-<&QZ( z+Zs_CFP2R;3Ye{a8}=Fg4>wpq5>d7aE-x>CUYlrZRL^engDR`41`wKUmocW{|A_2! z>4f3o5^pw{Y3J`wliweL{@Z)s`uU|UKfg+i#k)ecgSlFb@?_KbV6iA{3V!bG zR*S(Ha>X3}2qE|LA7f`{j%g%+7y-`XSUQ15e)`U6fom?RYT0%WAzQ(`M1N8-MVxC>)IjflR=H!@psnA_4V}$()r6@ z_n08C&3qjMjPQq&{@N3ecGts5WPnj9WVpS5o>*`!@UQFur-g}$X_yE_`g=9?S+E!~ z9(+t_r{|lb^Pi_1#Kz@cdF@xbIo7O9O}7B%u(r0APB>U>uGT0Yh8V|+>*(tXI;{6S z&b1@T_Xo22Z%nWTJw^@z?25xA=^xg_AqZyq3L(u9*rY zt?|N@2=3!ojdV5L+bubw1jc<;x3NV zaH&T5Uh-F~;;s_?>Ji>feMP@m@mE{VzwI~r(o)2}6zf`<4gF-0mtzt>V9y3^ROeH>iurm@s{P8B5lc+nQ43O85EwGVyHWRj%z!MQ_ThH)vwMDZTSCMz}tgm z^y272^xfBx%gl8Ypbg$P zjwGLymsD++j7UTkTXTJHhm(V-X&zjwKi*o6w}e+PWCdV+ak4ufSjAvF}c37u`lyZiCi(a6MNgJrK;M`iQ(1&sh%s_F^wQ{8O)m9vX! z#l-|V`3&cv*>cV5soXu+*i3lRLD>ha^cO~5GXiJ~CkcMWkJ z?7ueE57BCKwtT=(Y<1eEa9eU9oFQc!pzBah9*7}d6kVtOHUow1T$)oqoW}Zf-2BL_ zdOzi$4A`c}+x=IX$OVjzMNgHXH1aV1)o8Bo_INXy6!zWloK@=O8hx_kFRVO|TDMzZ zY3$}Pm%MIAcU!4%>Bj7C4kv^j$<_-}^*tF!m5N>uYnXKV!}~qllsLs;?B4c4M!(Be zMR3N5zTB42=KVULY_Zj`?7CQq?VwDqV3&<|l{JUkL$e=EA;3G)`rfmnCMCm)3*-*O>CP?C9hA+W z*PmZjbIgs!W?8Ow2hd@@$b*UrKHfRqJ~-sOjDc~J*5Wi7d@;u0H1%AP&&LI>q5JPzw^C*Z8|_veVucUG!%9_a_Y zT>=}ySenq@a2;aQjIPz;x-`J@C}j%=Aj}gEDLo~SRIr|H=cNWnlEzrYT|+Bqq_4^L ztm|F#^0)2{YmHMaB4#eI(TK+Zj-kq2)yAWaX4ytp_42>s>5@DXkg1>KW* z1iqt|7nwL{i5TZO4XBjftV{Gt@no0^->To{+FH17M01^egn?dRQ>h|1E!y%WJb8an zyYx1<1#N==JnG!_yN7vZ2u;)&E;fZGZ)V7N=bF)&bd@<&?S6MlG5sLla)HyC-gAlj z5I5de#;EK5%6ifvKK!qX0gO;CbiO^|mYl(6jA9ua!M&BFYP9v5wtz09td+T;juOLSuG0~vqE$XD4xz&07 zeWN*8f>Ty1t?ZKv`$b*3E;I>h0&Gw&({!oDp{je{JojBand_Y4INwP(;yxir-Pe<= zrzJe8w5N!kU-K*E&zTprFyz^ntj}|<09rL1?}c2->|4KO)7FbAS@|Um-FM0JAENY{ znQ0p1TEg`?0PXByLpDR7>%CsbO82>_PeQ3?o(GACjqkAGX?Xz82DKoI?s%b73H1)D z)YBe$&iOtLMnJG=E~K3(1O{!SLHh3b=N44fsx7{!FWWK~nAhq=-S~7tF5$421YW!0 z1X|7!J-6k4J3s^evQOTWc~`##XvDiK;K})XD-xt24a4DL_|j~*GDkyto1T`i;|i?y?tMrfWRTn~E291E^Gjo@M3DeNpWBvj zUE9{;o=MgCy@Kl%KOs)H$Zt*(;wHw?u;5RQfG!#~Z3A3eX|tMQP!%$u zeC|@TMRhrUP|*sZ+oe9Go#enO#0|Th`79IP=639R@(DGTQYdHtwVht#4()}}))xx~ zbJd<55p13)x&qE}r|ogh5EP%<=g||x0)#A1^S&ZEpPG4u*aZTfA-%DhVTj?~-rdrh zL!4=MJI)eOCKlM@KcZ@87G_j=F#g~NO&X7MrzQZ2{IPWeAP?Vy3Bct{7w9IMt-~** z5(`a3$gh-HXmi=WvP9E$)+5rdr|pA0Ns>t>+QJCX3NE-BB1mI33>?8vDVGz|Ix@Uf z1MJ#ISJJJiOpwT|;~CkoK({jn^bY4yzyB{_8zslH|) zA7H1Pn9l|Pml|evtQ;>Uxzxk3qZmsi#~Ff2tx2uv&&Hn$bwuCQOm@I~wa(9bsZEgg z_U&2u`GkQE3ok1j|=&fko2H=5V4O(R-ORZ!Ol(&p=od{Bv8~R^%J0S|seGsJ~fO z+JoVp)H`eeuPZsT)vruo49hQo7R<^?W%s#tmPs@=ZJg<&@d!OH{lpR}CMww?_fn(6 zV!6%bjRRh)JL+3e6Xn%FOt4gwMR07YwkU_`=cF&r&8+w9E&9GUrl3zR2L;)YwJtt7 zG13TZdJ`eLO9r-S@o>B05$#TA3V}cSF<(Z*rnKYNssC{uW@_ZQmXnq&t`6p_s7B2> zPkJ=A7TSJfSnG&F#jpKT@q2xHicUG`gr0F+Xlk|C=MS5ItI!5ya>;!o8q9TjUXz`^ zMgK>$#0}!A(J0F+aFAdj^L|@2P1U=)V^y36h6fehXJKK%UW3k0y!v>zom+WqXv3u`ZCF!+e7A`^wuJh&I*O#uI^EYfZ zbF3I$SLsBu^>)}%llYnzJ2#ebZhI=8R ztW3<@SF-mdU+j&;WY@#xt8KhQEq5T=ezA_xIQgxxh4Y^EJ8u?|QKhrgfJ=u(_XMyi zSq)Gf8FuRqdl=?E;2Kyf`zJAUV4BzY{JJ92XSnqMXcYN9WZ}8sUDPx79qL7cQ;oX$ zezReKc_Ls&+RDOWW)udHf3(Dw_JVGQdo9f1sxe@YI;Q*$XF*eNOSs^}dn)I|k*A=s zTp=ONY>lPjRDB%{D3U96m}%eL$A??%Z%EO9aCg$niTOriTvo=zy-+E#?>Yg!jdM5{p6G@#DMo!4#5 ziu|X+!(m@@9XASCe@0%u(x6CBT0OftYCqN*XaDWl@4;AmsZ97=+0F(%qKYkxTEh2o zDSdwiP`=h-{2&tn8-zF*4@5b9XB#9_m4^o72>$dhIT6QvwS?Arf3?^I=fV%cY5#T9 z4nrX2h2x9$A2c)64LzSDNQi*}mffoU#A$mhn{T!!lgmy&;aicShOzU~r~?LW8#48{nm3o!j0|PD*`W69nxO#~$d%m;K=O~} zNyx+G1fx_+pMzysmog#GP-KG*WsBK1K81&`Q-7##dbh}H2WTYDW?Y3DdjEzzK$!#v z7k#aSxHu?ha=x=j{d`d|y=NozG2^_L;~tSE-EEZNS2wnhOip2dFD~`)< z6uU5%Zquq0!=+fB*b-g$>G$$ZH^0LaNUq1%GIh?Fl`~?irpN&TLizWbQ+^{X&Gv#X zV_{4}DH2gIQ3ADF_%Z>jf9){ac6t;2E|DRQz{MA{%y(vIhVZmRqQp2}2eo0aot3Vx z581F+ALmRB=X;Wjub182wCBi|yf+GJzNJLWufC`HbxF z@RAmY_GoscByK{+0yvw-Gv8Qi0D`bz-Ssh}CEPACrS-zdlnWjC%Mzvoko)?e4i&e; z$N!N0QuFK(&=7;Oxqc5G%Ej0#31c)k8$LI;Bd@xcnWto~KJnk~6i&%F{3&sm7Zsv{;q+GVpzxY(e2bvW0A4AmOd1(b=^SZLpU^_!n5W2re9Of)JW^`6wlGg{T*O#3b(A+bpXEBdomhcFs8L`Fy$Br*oc!5rUb^UR^olW1n`;m zC==lGH+%(hRN9!vFwckx?NLX2?X(MnJz2o%AD)z?JnVSJZZ=2uaGv|feVqGvSJE%B z6lFUUMVs%xWN9xlX<0G$Am)2y7ShN`Dl@px`A5YMTGJ#NmFZt`5JQywy)Z@<6Vp zawr&zbPjj+Wc*Vw`ct{3t3^A-b060(g&h8LCv%yC{&d*RbV=-R^aok+`Y8K^&3gyD z9*z(>z}q!M=7BPUsjW@AT=8kA1_%0Crey$?Ej`+MzZA+8I1>_krMJby|1|Uc*%h<1Ag(A^?5O{U?Z70M=kEEw&EC z2&Mr+rpOdF{6CiB-q%#s`rdnjB&FjRYk+7uq{_`wTtqG_M*W7sSM;OVT45laqx+9^ zbFFX=$bq!!p>{ooQd5((`73vr_rIQ|0 zVqoqeo1!+VJLbB*E#WM0l8%EpZ4HSCC|}hFh83}R5N{V555_>S_Ipr&o(@v-Fl2@l z+rWf4fFtfq$LVe-$o?eoruq5*FPEv(+)69TE4D|005k5LqNP`)Pzf+R3y z4@J`jK4S24b#eSy8bK&h644&lW}g_2#Zpm`?*1FpCgNt z`f;zUd?1!`B8-O4q!f|di_CElQsJbmM&Na794nAgTuT#fM1g;A1?_VfBsc$yQ>07r zJa&syvzpDuNIpBg!>C*oB?%6}1nF=%Li_j}BXGq0=g3u(2$gAj!70*-bj9aU7pnz8 z2IDIcT>XWVn-wuAz_kJ!i}3V|&$tJWu=yZQ)gx_NH8r+1_px_us=;#lr(do!6bZcF z1lQt)PX7q#sa5ch=TeZeA`x$Y|A4A8_ICp)fzGUB34vpEWGuu%xijJqL#U<9>H*J5AM2iObjXNOAczRG{XZq?4b=qP7+L5RC(Y^3F`v!(J^p%Y zOAn+#IBb`=nSy@?y&sf6l{9IVYhadzhrP)IQto ze90&EgCglXzOjOeqf&hHhq~+}8Uulta^e(jA&MOi@$1?5@}#h~KFAC%0QS70QMZI* zwYsK`v$r4+5rNNL@FTKazG-{^mKVRAUd*$A8v`uCC$&WHOn8zuTF@ecufBU7UzpP= zZ;aE>NIQ+2`C5`_^qS)&mIVwvI^lT#IO?krqSbS{$>sdXwY)lgN5qP~b zr+(JcP{#_QWQw7SalYdg$1EWCMu$oMsK;aRW||pL$AITs<;^U#6#?tMa=Nl@2awx` zUll?mzauO8cR*4l6F^FmX(7mYv4Xc2Q+QRj4$9rMW~b}@A^CWkWL4JLye^*;&A-gV zfa|0~URL+ML+tdpA@m{#IC%{SKi6BUJFj$d!j#9=+r*wXN?xEiBXipysS~rN^R$N> zF@L0EE6_DCG-UI`!|1mmQWytxeNI*ut4qXsrBX!l_C?_9_dt}mNSFq|U|e>|uiOr&H(k>9~DJI_Juc22TOv9Umi^yGW0_JcZ1`Exy6W*k!q zCAHxSoyO0}g?1|+$Ed+QJlk2S8n)Nnh&WKc`%5rpA(|XU2{rkvtxs#g^J>4{O-}rz zHOF`4JdT?{%Ee-L;Bu1lO{5xwnBg472ldzf^g^7pafMGvIV)sS!A;tRqf-H>6jHi8 zXHRS+Z3LfSZyv!mipTQap~-Kf;82X}vMMK745q{`GEvjMha||J#w1h9x;RV%83B(i za;6?9#fysY2I0SRe7{wDt+I1(C{`6&14k=xEFQMnBY`#yuC2AG>F&LoK-|&J_G)2^ z-R%gf0h1$YVyZXfF|X+1&jIoZ9H}j6PY4a7;;hm5s)3M5<8zY*?`9qAmmZU~3b0PY z(AL%c^$PpzNOhs#!YnS%MA(zF7tg7UXPN$&$|V3HBO%HO(b-bbGh|a&KwA?o?}3cZ zSG6JlqvX%FWe3~#M-qzDk@LB7Y#CEJTe#r&vW5DWa3D~Sv?hVW4H-BD?lWZB+mL?w z0j#s5`PS#n6}_3#6`*mgJHC)JL{kXT#dP*^E!p=1_qNtQ-uxh4AP${k`^|dPDn0?q z$wOHHJ?#Ic2R=tG)neZHs3nka9eXpYgd&H0R$H+Q2=oGTt=S@>5osZVSDCs_~$Lc#r0w#aE?u#^?BDiso!V9-d9`Gu3 zXdga@(AQk>mpz&vV{;f;BC^K3?R|NJVwwQw^M!`WA1(w=4L$$`7aa-VDK5h#tvIbP zO@x2GSEQzI;5#fVXSq-JJl10g@wL_haEL&R=j+fPs}&82}rK)G=c= zBL0CtpMySaZfuKov9_uQf;CM6v?zdJlU+}mUF9#(%-@nI*9UL8@`0MVe0OnXsi@VWFf=BJocPdTUi~iyXH-qSt$bi9Us+|IG=a0-M z4H&KAP!2XWW%Xngrjgf^NdJYAmX&?HYA(3uW4wY`Cj0sIq>lC(E{NQxq*i}Dr={#H=drJa>vBR#3aRUx5jX} zywxs>nxEI6GrOIt1}gI=i^I*xc;9 z}DS=cKcHU#PPYqP+QgROdezrMEA2};k%SXf*< z_gUEkXg+!93UGLZP(EdUc6N4sef`MD2(bP3_I5x@&d<+jq$_ZOUk%9kX~ZTs+t}DR z^O9TJ|Mk2$SVKq%vZ;-&Z6t4HWhG-!`LS*UR2*z27zbk&5Louf&CDb%XCoW*@b;c* zZ|mx6e&-bjC4fvG9=^L~nV6W+)YME&Ow_o~GmgC_Cr|XPaYG@yv{5E_#4Sce$17&Y zk4z{aNG=N|Pzh1*Sno;GVW8_#w-=7>#w)cKj|WtQs% zq)#Re?JCi$i<=-*R^|)Lc$&l+PIf8^Ze3W_5wAJV!kD+JJQ?PmXT+kXr`H#d z;ut}XC>$yUUN2O#e$g7f-+@(nCo&C=L!2`w(>vpC}v79Wv~7jNd9~Zf@?vbnx-H ze{{&iz-Q#0LXjB)aP!WO9|x46{QUe-Jv~6v2?_{6UbuUE)5z=@oji&$)pB1{FBmG4 z2nRH&bwW-4n`m%uwLAc)V-m1Z4h{_Dy#=J`BJu^;YWOH106s0Xg*Iq+*OG>E{)GK| z;;nycm1%&vxj7CtwiOm9Cud%$scLH&f)x>BRaI3eM^DHAQZU|qq5m-j1;r0}7DMKn zci!Gvx*m?XSIf)GIvd&99ezd#$unZuze|_C2`@;TVMz;oCZ>_k zY-4Aq*f~U0pu-9}?u(2tiG8dnU~HALjl-#Z(UG^lv%?_K-8?)jjhwr`&@jKS5SR>( z!;-4^=BGl%%%W0GO-ZRy1DWN&uGRu0poIY(zentYj;69Ru|?gn4j)m&@R}c6rCx?6 zN1;RxAt*jR9s%(X6Vs&Fzps2x#JIEZ(`I0am%Y8xmeP&ha{+D?RhUXB!#UOn#IFJ> z{%q{{><%yjfc%`D)m<1mTMSTAQqBbdvL#3Oy8`F@+-XSw$iB8a`1vWy>Fev4350?_ z#!UvaC{V9J4C>2LVNZHl|9Ls$9WbH5Nef4RV(bkPdl=9o*P`Ehrje0Cljm$`nVA54 zUQ;A(V(;$GfY9lP69NeTf?;lc>ofjclq6@Bacy1QaxOd@_e1d+#qQ%-_8*n#>7Vk) z@dgqG&}h`!IJBab?ITAT1B)xGtLeSu<>Y8&T{Sc`60SC>7KG~^mFL9R=-q;s z2cPWHKFcz}L&qB#p_-z=ZA-}MW_@i?hq)jf01d`}!9tJNl6%2mPWA!^3#(R}Y)Haj11uyk{zM7`!V8bU z$IC0zgnI($*+zEDoQ)JFF`C-g2nJ=Nw+&StP$aKnEqQr)yl!`*H1Gl!7Z;C0WfnA; zgk%9dpAPLw4F3SyX9-t~di;pNgFYSv%#*BG(IoT!H^*7A%OBo!Ma z7z9U-5u{7OJJJpewEYrzyl0Z%Nm5|UpnKk=IGC-iE$c&AC;MuH5oYg+-JDRtTRdE0 zdxyyhG>95u8Fiz2q*%C&6jL0NdO=c|3V||Dfl66vS=*lA_@H&Bo!OyJs=&7G_^;>f z>5XOpPUUrVDsWzjd?)OjtPPah0hJg($Fj%v8^J1&=U!jihKP-$*anD=M`vol)X*v= zZcZb$0S1-aN;r5^Qz`pT(I0Y?V(}Bj(bGeho~Tm==1z+gNi;a@v8WO7J=ge-Huf@( z{5%%jR7WW^2ao3lQ<#npzYii-AIc&IAK<0+L*<;Nh|@FfC{D49K_C2oY%hDv@o zZYc&NW=PHgOv%e4|G+XS^ecA=^&9a$$>yiwniX9Rl5v51-!b%(SagVAU`4Sawdogs z=qI1_!RdsDif%xOlXfsX8z+AP0P>rL+~<2tW9jEQKc_-o_H1!5Id04q^XcZpBxZ@M zp4iC|uVBj)Yq6bhG-t-FM1BKX*}U2**n35?`0@w=vHfe=YmL@d4Kxx`$OCOdZQ<28 z$KVr|jm3qzeoRXKZI8{flYC;`&nH=H?@&xQ{ScKt3h4nLnK}kywTPTAMh+7c?FBx2j=DhPfjd7F(s36VctbcWcWAm7t<2=C$H zVzW0NJiLXl;gN%X>Mf8J1FXH(P80bu= zJb7nAezcIjv65-9s)X3H!!T$MOM0Omv!no5ih>N~>onrCf^Gw5W5H$j1z%T? z!DRFV4|TWu#ucy%n2Ga)wm&NO^(lZSo z-sLX8w;^jIsjqaKZMS@2(4YM<5Xb80(})${q`HmLjVa=A5< zMLH44L3v&7C6{#vq2m1HQ!+i<1*$Fwx7X}{0%fhGbq*U6MGLvMS3t$@P@9yxTDb)1 z*+1v<4PrX#!|0$Apg&z2ZkrEk%Ymm(k*x~JFPqX%D$ zoJupxH#t58{)#YtEFL2`j%h$ILdcI3!Lj%(Xyi0J?aY~stFjZewB7NLHS+Q)@GKW% zk#P#d=hm#ZOy$^PL#d`w;DEw@m#t6f#Ysna@qHCA4lW(d2aI9;*BOLu;X2A`*Vna- z)8y_xdj*lNbnf+5BTaf}1ov6LLB2thVZq4&Ngt(`KKf)1lG7ntPtElc<&^Wh2ty8j zaJIib($mMZP(#Ob0rIU@dVQ+0CESjiXsuoMyVSl)1w;x!37x9<5Wn}&xGry=$ZVbPNLY%K5K#cIbOGF z3=wC^P`wG8NlYfU5FuzYt^ljh;qEdf4fov&2=l7>vCu^7#T*YV8IA5I2x#PpRmb&y z+BDOvj6_(fYp0v5_ATxqFqki1i{`CMZ;q$j47qAh03UzP`1_~F1$ik$%hF`J|7r#3!W@R zQN!ubcTv6sRo;SYTH^5;q_>SmU#^V;;%KOM0aU^~bUN?izcM)qsx#~j1+q~6RY3a0 z`~Eih@o1?v(T?|~o#wQ!3J63)zt1&TsvdY=>`Ve^Y;Dh-M4tQcayw|z?Qr3ZiyjhC zah!N!z?LHxhJD(M8e90_jOWwe#o-HZ?gjdXM4&j(_wJ{|0R+?G%9~>h5&Oo;ok98RjNQtMzM%*3)>TfzB78$X|hJ`9yZaCrzJL zFuzEBwzm?*^o0`1|BnNCPq9zk^Q{G5WGT$P24AMl8SgYu^h=kVHfW36?%8g^gN~Gq zEJo26dU2TJlvs{0i&(IQx3$U)#ZYBLA9(tE&R7gUfk8_+HAPjc-A3ysjO{j_y-{rvdzG-!*kqzYy*mhon#%daE_sO-l2pfJQl z!VeH1sIWJw6hA~ziAj58xuOm@n=Hy8$%y7c{9S>aIvV?-sTUCc!f!xvz7tDuoUOQ^ zo-_A^M3V^^+JfuKa=5Dp5Hg8m`yX{MU=2zh##`iXR%h0$F9_G5WZb8gUu-lY z3$FQPW%$?@p4VzN&(s{r<$6vcRg2$}q&O;?0+Rd8s!57LRfc=Mu4hd5qks+i>b|#I zi$hQR!s^2=wRnG|LmXJ61U6F+h;HmIJo4__sPxDHuFSUZiLY&FrTw>*1Yayr-+QQi z%h1jM>{aQLTbg}p_s54$q}VJav?pnqnbTMP^R~vb0Axbio@PMwHb=L`P+;y9MTyxia7MuJPS1p;?B%7xQFM6cfRSc5 zjWQvk9i5Bvy`KL;w27i+Py*%{{tTeb+(TMzdooP)#G8}^-+%jI81wp_8j1XY5m5`e zuGDvXHN)kPInME`$~tR{l1QY9Up-L!3#GjyyN*Es zS}N4|(!~{25nQv6evD-*hYCG8+jXZkZE~JGXs7=7l-tm@x@TM&<)GCtDOY8KwlJcr zQdkO$F6Xy+G%{g=_mn7&I|z6XhlZZ0K%GM&>jVx}?M|>t;*fV_#2E^C-pdC`J#ist za{1J}q`WNQ_k^K!0S4q1%uHII^vih^F7d0*OK4aRdja&#lI1Are)D`@aolaMqOP}^ zK1?ST-CWB*XGGkc7W)a>70rl_j+|qfL!(CHq-HQGHlkX9C2Q!Q`%(q!bO>>u)GW2T z>0iG-KO&k?MPhgQF@B#hzjb$&#a@H-GpT(5(xB9gL0gOX@;gt8L%cPJme#4LzrUXw zrtN#RwickOtE+p%s88T61V0Bfgd86nD4C)jOdem?O5QEM0Vhb!djesPk$C;PwSth4 zkSTe_1p>|`>TNFXFR9?A@87XWMF^^_j%ajrbTCNu>u(O-7Zpjsk&5YNqzch2&$59` z&)=_Spy4%`p!ZMK8GmheKClWaZV`O*@fT;SyqGF4tu??Q-sx3u5y?C*AQIL_3hb!W zym;IAE+J4N8d1(GoZV+f+ZX*i23V9v7*>w9N~~iMwib&AVvBZ&80k5x>=_0!} z-sZ+Al(R=NZ%}U(0Ljlg<_`MtDR*C@QC6TNFo=Pq?*sHv04yrLhnpd0{mJ)dtMJQ~ z@QIZv@|%UHoSQ2nH&`CFE;W7IYK$@!vgtdHr){<^n#Q(j;N`(26`TAdpA4l)|ytd(%{TKfr!v`r~-3XJ6G|gOuZhV{G{4rL$1+ zD9Gs17-Lpju{Z2_hE>dW3D*Q=o(;xkv(agZGt=Y5x&v0dTA2wec{~VBMz%$2cLXpi z@doG;MPDgFUc=`BX?N4u~F~I9*yig>B58aTC zI9bh87t!XIa;qk5)RvA8@&C;yRMf1jXlb8TimG~sv01x!$s$&LAMSvOqg&AG3Yac_ zemPxpWT6%pvo(?-b6M!+ebuC;DSo1a1E+{}wJ6wRQ_mqX7YPWgVvru_ ziw{qTWJlw`R~u;pnw0(m`Cx^Otuf|GjrWBY+NTD4vULk^im=r3fS6;iv_}!Py=F;p z;hbaT26b?*rjquQXwcx9x&fLILh z#YNq~bYj_{XU738zm}GuWNS|RF?SF5e9hbDWU;ZaSS>p{JEhLmU%#p&qi?lX`1<

OPujc;#SXw2)K| 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 Date: Tue, 26 Nov 2024 22:07:23 +0100 Subject: [PATCH 12/21] docs: build image from v2 branch --- pages/docs/deployment/self-host.mdx | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pages/docs/deployment/self-host.mdx b/pages/docs/deployment/self-host.mdx index 58eb32843..3c3171013 100644 --- a/pages/docs/deployment/self-host.mdx +++ b/pages/docs/deployment/self-host.mdx @@ -276,9 +276,9 @@ The repo includes multiple `Dockerfile` files. You only need to build the `web` git clone https://github.com/langfuse/langfuse.git cd langfuse -# checkout production branch +# checkout v2 branch # main branch includes unreleased changes that might be unstable -git checkout production +git checkout v2 # build image docker build -t langfuse/langfuse -f ./web/Dockerfile . @@ -304,9 +304,9 @@ Build image with `NEXT_PUBLIC_BASE_PATH` as build argument: git clone https://github.com/langfuse/langfuse.git cd langfuse -# use production branch +# checkout v2 branch # main branch includes unreleased changes that might be unstable -git checkout production +git checkout v2 # build image with NEXT_PUBLIC_BASE_PATH docker build -t langfuse/langfuse --build-arg NEXT_PUBLIC_BASE_PATH=/langfuse-base-path -f ./web/Dockerfile . From fa19ab346b9834a4f230a91a5dfef3f826964b07 Mon Sep 17 00:00:00 2001 From: GitHub Action Date: Wed, 27 Nov 2024 00:18:03 +0000 Subject: [PATCH 13/21] chore: update langfuse_github_discussions.json --- src/langfuse_github_discussions.json | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/src/langfuse_github_discussions.json b/src/langfuse_github_discussions.json index 9fe59a713..2d40f270c 100644 --- a/src/langfuse_github_discussions.json +++ b/src/langfuse_github_discussions.json @@ -1,9 +1,26 @@ { - "updated_at": "2024-11-26T18:05:42.147740+00:00", + "updated_at": "2024-11-27T00:18:03.050003+00:00", "categories": [ { "category": "Support", "discussions": [ + { + "number": 4444, + "title": "Running Langfuse behind Nginx with custom base path", + "href": "https://github.com/orgs/langfuse/discussions/4444", + "created_at": "2024-11-26T19:57:21Z", + "upvotes": 1, + "comment_count": 2, + "resolved": false, + "labels": [ + "self-hosting" + ], + "author": { + "login": "hookenful", + "html_url": "https://github.com/hookenful" + }, + "category": "Support" + }, { "number": 4438, "title": "Observability with concurrent threads", @@ -8145,7 +8162,7 @@ "title": "Support Tool Calls / Functions in Playground", "href": "https://github.com/orgs/langfuse/discussions/3166", "created_at": "2024-08-30T20:04:34Z", - "upvotes": 14, + "upvotes": 15, "comment_count": 10, "resolved": false, "labels": [ From 1550f1e06566651c75bd122e505d0a855b58a2f8 Mon Sep 17 00:00:00 2001 From: GitHub Action Date: Wed, 27 Nov 2024 06:06:06 +0000 Subject: [PATCH 14/21] chore: update langfuse_github_discussions.json --- src/langfuse_github_discussions.json | 15986 +++++++++++++------------ 1 file changed, 8010 insertions(+), 7976 deletions(-) diff --git a/src/langfuse_github_discussions.json b/src/langfuse_github_discussions.json index 2d40f270c..9274f3c5c 100644 --- a/src/langfuse_github_discussions.json +++ b/src/langfuse_github_discussions.json @@ -1,6557 +1,6613 @@ { - "updated_at": "2024-11-27T00:18:03.050003+00:00", + "updated_at": "2024-11-27T06:06:06.131016+00:00", "categories": [ { - "category": "Support", + "category": "Ideas", "discussions": [ { - "number": 4444, - "title": "Running Langfuse behind Nginx with custom base path", - "href": "https://github.com/orgs/langfuse/discussions/4444", - "created_at": "2024-11-26T19:57:21Z", + "number": 4454, + "title": "Support user input, message history, and tool calls in prompt experiments", + "href": "https://github.com/orgs/langfuse/discussions/4454", + "created_at": "2024-11-27T01:04:26Z", "upvotes": 1, - "comment_count": 2, + "comment_count": 0, "resolved": false, "labels": [ - "self-hosting" - ], - "author": { - "login": "hookenful", - "html_url": "https://github.com/hookenful" - }, - "category": "Support" - }, - { - "number": 4438, - "title": "Observability with concurrent threads", - "href": "https://github.com/orgs/langfuse/discussions/4438", - "created_at": "2024-11-26T17:08:01Z", - "upvotes": 0, - "comment_count": 2, - "resolved": true, - "labels": [ - "integration-python-decorator" + "feat-prompt-experiments" ], "author": { - "login": "DavideSanvito", - "html_url": "https://github.com/DavideSanvito" + "login": "marcklingen", + "html_url": "https://github.com/marcklingen" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4429, - "title": "Is there a way to rotate traces and generations?", - "href": "https://github.com/orgs/langfuse/discussions/4429", - "created_at": "2024-11-26T03:17:35Z", + "number": 4430, + "title": "Feature request: CRUD for Prompt API", + "href": "https://github.com/orgs/langfuse/discussions/4430", + "created_at": "2024-11-26T08:42:39Z", "upvotes": 1, - "comment_count": 1, - "resolved": true, + "comment_count": 0, + "resolved": false, "labels": [], "author": { - "login": "woung717", - "html_url": "https://github.com/woung717" + "login": "barseghyanartur", + "html_url": "https://github.com/barseghyanartur" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4418, - "title": "Cannot use prompt experiments \"No dataset item contains any variables\"", - "href": "https://github.com/orgs/langfuse/discussions/4418", - "created_at": "2024-11-25T20:32:59Z", + "number": 4414, + "title": "langfuse-python: simple static method listing prompt template var names", + "href": "https://github.com/orgs/langfuse/discussions/4414", + "created_at": "2024-11-25T16:28:05Z", "upvotes": 1, - "comment_count": 3, - "resolved": true, + "comment_count": 1, + "resolved": false, "labels": [ - "feat-prompt-experiments" + "feat-prompt-management" ], "author": { - "login": "j10sanders", - "html_url": "https://github.com/j10sanders" + "login": "rhighs", + "html_url": "https://github.com/rhighs" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4417, - "title": "does token & cost counting take into consideration prompt caching, eg openai prompt caching?", - "href": "https://github.com/orgs/langfuse/discussions/4417", - "created_at": "2024-11-25T19:59:13Z", - "upvotes": 2, - "comment_count": 2, + "number": 4397, + "title": "n8n Integration", + "href": "https://github.com/orgs/langfuse/discussions/4397", + "created_at": "2024-11-24T09:43:01Z", + "upvotes": 1, + "comment_count": 0, "resolved": false, - "labels": [ - "feat-cost-tracking" - ], + "labels": [], "author": { - "login": "dwstevens", - "html_url": "https://github.com/dwstevens" + "login": "aibucketmail", + "html_url": "https://github.com/aibucketmail" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4413, - "title": "Help needed with CustomSSOProvider Configuration for GitHub Enterprise", - "href": "https://github.com/orgs/langfuse/discussions/4413", - "created_at": "2024-11-25T15:30:23Z", + "number": 4381, + "title": "Feature Request: Add Tagging Pipelines for Evaluation-Based Tagging", + "href": "https://github.com/orgs/langfuse/discussions/4381", + "created_at": "2024-11-22T03:44:17Z", "upvotes": 1, - "comment_count": 3, + "comment_count": 0, "resolved": false, - "labels": [ - "feat-auth", - "self-hosting" - ], + "labels": [], "author": { - "login": "jay0129", - "html_url": "https://github.com/jay0129" + "login": "wesleyearlstander", + "html_url": "https://github.com/wesleyearlstander" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4393, - "title": "Openai JS: Tracing for multiple iterations and tool calling", - "href": "https://github.com/orgs/langfuse/discussions/4393", - "created_at": "2024-11-23T06:57:40Z", + "number": 4380, + "title": "Adding types for evals in Langfuse", + "href": "https://github.com/orgs/langfuse/discussions/4380", + "created_at": "2024-11-22T03:35:26Z", "upvotes": 1, "comment_count": 1, - "resolved": true, - "labels": [ - "integration-openai" - ], + "resolved": false, + "labels": [], "author": { - "login": "uhhfeef", - "html_url": "https://github.com/uhhfeef" + "login": "wesleyearlstander", + "html_url": "https://github.com/wesleyearlstander" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4389, - "title": "Does Langfuse tracing work in Vercel edge functions?", - "href": "https://github.com/orgs/langfuse/discussions/4389", - "created_at": "2024-11-22T22:41:52Z", + "number": 4372, + "title": "LaTex Rendering", + "href": "https://github.com/orgs/langfuse/discussions/4372", + "created_at": "2024-11-21T22:06:07Z", "upvotes": 1, "comment_count": 0, "resolved": false, "labels": [], "author": { - "login": "holdenmatt", - "html_url": "https://github.com/holdenmatt" + "login": "wesleyearlstander", + "html_url": "https://github.com/wesleyearlstander" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4388, - "title": "How to completely discard image with new multi-modal system?", - "href": "https://github.com/orgs/langfuse/discussions/4388", - "created_at": "2024-11-22T18:56:07Z", + "number": 4353, + "title": "Datasets: Add selection of traces to a dataset", + "href": "https://github.com/orgs/langfuse/discussions/4353", + "created_at": "2024-11-21T08:56:15Z", "upvotes": 1, - "comment_count": 2, + "comment_count": 0, "resolved": false, - "labels": [], + "labels": [ + "feat-datasets" + ], "author": { - "login": "bioshazard", - "html_url": "https://github.com/bioshazard" + "login": "jannikmaierhoefer", + "html_url": "https://github.com/jannikmaierhoefer" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4374, - "title": "Error while migrating schema", - "href": "https://github.com/orgs/langfuse/discussions/4374", - "created_at": "2024-11-21T22:39:36Z", + "number": 4348, + "title": "Multi-user annotation capability in Score Configs", + "href": "https://github.com/orgs/langfuse/discussions/4348", + "created_at": "2024-11-20T19:16:38Z", "upvotes": 1, "comment_count": 2, - "resolved": true, - "labels": [], + "resolved": false, + "labels": [ + "feat-annotation" + ], "author": { - "login": "geek1s42", - "html_url": "https://github.com/geek1s42" + "login": "juanmleng", + "html_url": "https://github.com/juanmleng" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4373, - "title": "Silent failure when attempting adding scores to trace", - "href": "https://github.com/orgs/langfuse/discussions/4373", - "created_at": "2024-11-21T22:18:26Z", + "number": 4342, + "title": "Feature request: Lifecycle hooks in LangFuse", + "href": "https://github.com/orgs/langfuse/discussions/4342", + "created_at": "2024-11-20T14:23:44Z", "upvotes": 1, - "comment_count": 2, - "resolved": true, + "comment_count": 1, + "resolved": false, "labels": [], "author": { - "login": "bioshazard", - "html_url": "https://github.com/bioshazard" + "login": "barseghyanartur", + "html_url": "https://github.com/barseghyanartur" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4365, - "title": "Not able to see traces", - "href": "https://github.com/orgs/langfuse/discussions/4365", - "created_at": "2024-11-21T16:56:26Z", - "upvotes": 1, - "comment_count": 2, - "resolved": true, + "number": 4340, + "title": "RBAC: Restriction based on trace tags/metadata", + "href": "https://github.com/orgs/langfuse/discussions/4340", + "created_at": "2024-11-20T12:32:40Z", + "upvotes": 2, + "comment_count": 0, + "resolved": false, "labels": [], "author": { - "login": "uhhfeef", - "html_url": "https://github.com/uhhfeef" + "login": "jannikmaierhoefer", + "html_url": "https://github.com/jannikmaierhoefer" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4363, - "title": "Langchain with ChatVertexAI: Image/Audio Input Not Displayed in Dashboard with Multi-Modal Traces", - "href": "https://github.com/orgs/langfuse/discussions/4363", - "created_at": "2024-11-21T16:41:35Z", - "upvotes": 1, - "comment_count": 2, - "resolved": true, + "number": 4332, + "title": "Trace Table: Ability to sort table by score", + "href": "https://github.com/orgs/langfuse/discussions/4332", + "created_at": "2024-11-20T10:27:38Z", + "upvotes": 2, + "comment_count": 0, + "resolved": false, "labels": [], "author": { - "login": "pleomax0730", - "html_url": "https://github.com/pleomax0730" + "login": "jannikmaierhoefer", + "html_url": "https://github.com/jannikmaierhoefer" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4361, - "title": "Is downgrade available for self-hosted version?", - "href": "https://github.com/orgs/langfuse/discussions/4361", - "created_at": "2024-11-21T15:52:18Z", - "upvotes": 1, - "comment_count": 1, - "resolved": true, - "labels": [], - "author": { - "login": "skabbit", - "html_url": "https://github.com/skabbit" - }, - "category": "Support" - }, - { - "number": 4359, - "title": "Unexpected error occurred", - "href": "https://github.com/orgs/langfuse/discussions/4359", - "created_at": "2024-11-21T14:21:11Z", - "upvotes": 1, - "comment_count": 1, - "resolved": true, - "labels": [ - "self-hosting" - ], + "number": 4322, + "title": "Add the ability to remove tags from traces via the SDK/API", + "href": "https://github.com/orgs/langfuse/discussions/4322", + "created_at": "2024-11-19T20:09:18Z", + "upvotes": 2, + "comment_count": 0, + "resolved": false, + "labels": [], "author": { - "login": "jguokion", - "html_url": "https://github.com/jguokion" + "login": "justinwiley", + "html_url": "https://github.com/justinwiley" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4358, - "title": "Tracing of Async Tasks in Agentic Workflow", - "href": "https://github.com/orgs/langfuse/discussions/4358", - "created_at": "2024-11-21T10:46:31Z", - "upvotes": 1, - "comment_count": 2, + "number": 4316, + "title": "Prompt Changelog Management", + "href": "https://github.com/orgs/langfuse/discussions/4316", + "created_at": "2024-11-19T14:32:33Z", + "upvotes": 3, + "comment_count": 0, "resolved": false, "labels": [], "author": { - "login": "ashish-vwo", - "html_url": "https://github.com/ashish-vwo" + "login": "alexander-abramovich", + "html_url": "https://github.com/alexander-abramovich" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4352, - "title": "Send metrics to ELK", - "href": "https://github.com/orgs/langfuse/discussions/4352", - "created_at": "2024-11-21T05:57:10Z", - "upvotes": 1, - "comment_count": 1, + "number": 4315, + "title": "Smartly integrate with prompt templating tools (like Jinja templating engine)", + "href": "https://github.com/orgs/langfuse/discussions/4315", + "created_at": "2024-11-19T14:30:42Z", + "upvotes": 2, + "comment_count": 0, "resolved": false, "labels": [], "author": { - "login": "Kratemis", - "html_url": "https://github.com/Kratemis" + "login": "alexander-abramovich", + "html_url": "https://github.com/alexander-abramovich" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4331, - "title": "UserIds missing on some traces", - "href": "https://github.com/orgs/langfuse/discussions/4331", - "created_at": "2024-11-20T08:27:01Z", - "upvotes": 1, - "comment_count": 3, + "number": 4314, + "title": "Making prompt editing eye-pleasing and less error-prown", + "href": "https://github.com/orgs/langfuse/discussions/4314", + "created_at": "2024-11-19T14:24:29Z", + "upvotes": 2, + "comment_count": 0, "resolved": false, "labels": [], "author": { - "login": "takefy-dev", - "html_url": "https://github.com/takefy-dev" + "login": "alexander-abramovich", + "html_url": "https://github.com/alexander-abramovich" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4330, - "title": "Request for Simplified Custom `trace_id` Implementation in `CallbackHandler` for LangServe", - "href": "https://github.com/orgs/langfuse/discussions/4330", - "created_at": "2024-11-20T07:55:51Z", - "upvotes": 1, - "comment_count": 1, + "number": 4304, + "title": "Prompt Management: Metadata for Prompt Versions", + "href": "https://github.com/orgs/langfuse/discussions/4304", + "created_at": "2024-11-19T08:39:27Z", + "upvotes": 7, + "comment_count": 2, "resolved": false, "labels": [ - "integration-langchain" + "feat-prompt-management" ], "author": { - "login": "wertycn", - "html_url": "https://github.com/wertycn" + "login": "jannikmaierhoefer", + "html_url": "https://github.com/jannikmaierhoefer" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4309, - "title": "Langchain//Langgraph prompt link", - "href": "https://github.com/orgs/langfuse/discussions/4309", - "created_at": "2024-11-19T11:18:16Z", + "number": 4303, + "title": "Exporting comments", + "href": "https://github.com/orgs/langfuse/discussions/4303", + "created_at": "2024-11-19T06:59:31Z", "upvotes": 1, - "comment_count": 3, - "resolved": true, - "labels": [ - "feat-prompt-management", - "integration-langchain" - ], + "comment_count": 1, + "resolved": false, + "labels": [], "author": { - "login": "BuragaIonut", - "html_url": "https://github.com/BuragaIonut" + "login": "jamesyu", + "html_url": "https://github.com/jamesyu" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4293, - "title": "slower than expected langfuse_context.update_current_observation operation?", - "href": "https://github.com/orgs/langfuse/discussions/4293", - "created_at": "2024-11-18T17:00:12Z", + "number": 4301, + "title": "[Feature Request] API to Remove or Update Trace Tags", + "href": "https://github.com/orgs/langfuse/discussions/4301", + "created_at": "2024-11-19T02:41:13Z", "upvotes": 1, - "comment_count": 2, - "resolved": true, + "comment_count": 0, + "resolved": false, "labels": [], "author": { - "login": "nikcaryo-super", - "html_url": "https://github.com/nikcaryo-super" + "login": "0xcodedead", + "html_url": "https://github.com/0xcodedead" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4286, - "title": "Langfuse returning a internal server error message sometimes", - "href": "https://github.com/orgs/langfuse/discussions/4286", - "created_at": "2024-11-18T13:37:41Z", + "number": 4299, + "title": "Add XML/tree viewer to playground and trace viewer", + "href": "https://github.com/orgs/langfuse/discussions/4299", + "created_at": "2024-11-19T01:12:03Z", "upvotes": 1, - "comment_count": 2, + "comment_count": 0, "resolved": false, "labels": [], "author": { - "login": "nithin1995", - "html_url": "https://github.com/nithin1995" + "login": "jeff-an", + "html_url": "https://github.com/jeff-an" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4284, - "title": "Update prompt label programatically", - "href": "https://github.com/orgs/langfuse/discussions/4284", - "created_at": "2024-11-18T13:18:06Z", + "number": 4280, + "title": "Increase character limit of comments in Langfuse", + "href": "https://github.com/orgs/langfuse/discussions/4280", + "created_at": "2024-11-18T11:20:06Z", "upvotes": 1, - "comment_count": 1, - "resolved": true, - "labels": [ - "feat-prompt-management" - ], + "comment_count": 0, + "resolved": false, + "labels": [], "author": { - "login": "nikitagupta5566", - "html_url": "https://github.com/nikitagupta5566" + "login": "jannikmaierhoefer", + "html_url": "https://github.com/jannikmaierhoefer" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4281, - "title": "Preventing Input and Output Capture for GENERATION span in Langfuse", - "href": "https://github.com/orgs/langfuse/discussions/4281", - "created_at": "2024-11-18T11:23:08Z", + "number": 4276, + "title": "Enh prompt management system", + "href": "https://github.com/orgs/langfuse/discussions/4276", + "created_at": "2024-11-17T21:50:06Z", "upvotes": 1, - "comment_count": 2, - "resolved": true, + "comment_count": 1, + "resolved": false, "labels": [], "author": { - "login": "ootkin", - "html_url": "https://github.com/ootkin" + "login": "flefevre", + "html_url": "https://github.com/flefevre" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4262, - "title": "why setup trace is showing SETUP Tracing Pending always and Trace doesn't show in dashboard", - "href": "https://github.com/orgs/langfuse/discussions/4262", - "created_at": "2024-11-15T23:49:20Z", + "number": 4268, + "title": "Support image messages in the playground", + "href": "https://github.com/orgs/langfuse/discussions/4268", + "created_at": "2024-11-17T01:02:48Z", "upvotes": 1, "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [], "author": { - "login": "msgateway", - "html_url": "https://github.com/msgateway" + "login": "jeff-an", + "html_url": "https://github.com/jeff-an" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4261, - "title": "Disable tracing for certain calls", - "href": "https://github.com/orgs/langfuse/discussions/4261", - "created_at": "2024-11-15T22:54:27Z", + "number": 4263, + "title": "Extend RBAC to Include Teams and Refine Permissions for Prompt Management", + "href": "https://github.com/orgs/langfuse/discussions/4263", + "created_at": "2024-11-16T04:22:27Z", "upvotes": 1, - "comment_count": 1, - "resolved": true, + "comment_count": 0, + "resolved": false, "labels": [], "author": { - "login": "yliuaaron", - "html_url": "https://github.com/yliuaaron" + "login": "flefevre", + "html_url": "https://github.com/flefevre" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4259, - "title": "Custom trace properties in AsyncOpenAI", - "href": "https://github.com/orgs/langfuse/discussions/4259", - "created_at": "2024-11-15T19:50:10Z", + "number": 4258, + "title": "Automatically Trace from Playground", + "href": "https://github.com/orgs/langfuse/discussions/4258", + "created_at": "2024-11-15T18:58:05Z", "upvotes": 1, - "comment_count": 2, + "comment_count": 0, "resolved": false, "labels": [], "author": { - "login": "yliuaaron", - "html_url": "https://github.com/yliuaaron" + "login": "Chinoman10", + "html_url": "https://github.com/Chinoman10" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4231, - "title": "Langfuse overwriting ingested usage for gpt-4o-mini models & incorrect inferred usage for low-detail image data", - "href": "https://github.com/orgs/langfuse/discussions/4231", - "created_at": "2024-11-14T12:29:51Z", - "upvotes": 1, - "comment_count": 2, + "number": 4247, + "title": "Reset LangfuseDecorator context to allow nested traces", + "href": "https://github.com/orgs/langfuse/discussions/4247", + "created_at": "2024-11-15T09:59:28Z", + "upvotes": 2, + "comment_count": 0, + "resolved": false, + "labels": [], + "author": { + "login": "vitalii-diachkov-sumup", + "html_url": "https://github.com/vitalii-diachkov-sumup" + }, + "category": "Ideas" + }, + { + "number": 4212, + "title": "Disable authentication in self-hosted deployments", + "href": "https://github.com/orgs/langfuse/discussions/4212", + "created_at": "2024-11-13T13:32:11Z", + "upvotes": 2, + "comment_count": 1, "resolved": false, "labels": [ - "integration-openai", - "feat-cost-tracking" + "feat-auth", + "self-hosting" ], "author": { - "login": "LastRemote", - "html_url": "https://github.com/LastRemote" + "login": "mariusp12", + "html_url": "https://github.com/mariusp12" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4228, - "title": "Why my langgrpahjs agent can't show token", - "href": "https://github.com/orgs/langfuse/discussions/4228", - "created_at": "2024-11-14T08:46:36Z", + "number": 4208, + "title": "Multi-turn / session experiments in datasets", + "href": "https://github.com/orgs/langfuse/discussions/4208", + "created_at": "2024-11-13T11:43:31Z", "upvotes": 1, - "comment_count": 2, - "resolved": true, + "comment_count": 1, + "resolved": false, "labels": [ - "integration-langchain" + "feat-datasets" ], "author": { - "login": "VittorioYan", - "html_url": "https://github.com/VittorioYan" + "login": "bartsimo", + "html_url": "https://github.com/bartsimo" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4223, - "title": "How/which environment var do I need to set to get OAuth2.0 authentication flow?", - "href": "https://github.com/orgs/langfuse/discussions/4223", - "created_at": "2024-11-13T19:57:27Z", - "upvotes": 1, - "comment_count": 3, + "number": 4189, + "title": "feat: add support for SSR to allow runtime BASE_PATH", + "href": "https://github.com/orgs/langfuse/discussions/4189", + "created_at": "2024-11-12T12:39:25Z", + "upvotes": 2, + "comment_count": 1, "resolved": false, "labels": [ "self-hosting" ], "author": { - "login": "itay-moav", - "html_url": "https://github.com/itay-moav" + "login": "sinux-l5d", + "html_url": "https://github.com/sinux-l5d" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4213, - "title": "Is there a way to keep database connections open longer?", - "href": "https://github.com/orgs/langfuse/discussions/4213", - "created_at": "2024-11-13T13:53:25Z", + "number": 4168, + "title": "Centralized API Key Management with Secret Store Integration (e.g. HashiCorp Vault)", + "href": "https://github.com/orgs/langfuse/discussions/4168", + "created_at": "2024-11-11T11:11:10Z", "upvotes": 1, "comment_count": 2, "resolved": false, "labels": [ + "security", "self-hosting" ], "author": { - "login": "tomi-bigpi", - "html_url": "https://github.com/tomi-bigpi" + "login": "bikram42", + "html_url": "https://github.com/bikram42" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4205, - "title": "Tokenizer config for Qwen 2.5 models", - "href": "https://github.com/orgs/langfuse/discussions/4205", - "created_at": "2024-11-13T08:05:03Z", + "number": 4166, + "title": "Allow sending events to multiple LF projects within one client app", + "href": "https://github.com/orgs/langfuse/discussions/4166", + "created_at": "2024-11-11T10:51:01Z", "upvotes": 1, "comment_count": 2, "resolved": false, "labels": [], "author": { - "login": "mediumsizeworkingdog", - "html_url": "https://github.com/mediumsizeworkingdog" + "login": "snopoke", + "html_url": "https://github.com/snopoke" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4197, - "title": "[Generations]: Support n parameter", - "href": "https://github.com/orgs/langfuse/discussions/4197", - "created_at": "2024-11-12T18:58:32Z", + "number": 4165, + "title": "Another glimpse into prompt management in LangFuse", + "href": "https://github.com/orgs/langfuse/discussions/4165", + "created_at": "2024-11-11T10:20:18Z", "upvotes": 1, "comment_count": 1, "resolved": false, "labels": [ - "integration-openai" + "feat-prompt-management" ], "author": { - "login": "ngamolsky", - "html_url": "https://github.com/ngamolsky" + "login": "barseghyanartur", + "html_url": "https://github.com/barseghyanartur" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4179, - "title": "Is there a way to get process to exit on DB connection errors when rotating database passwords?", - "href": "https://github.com/orgs/langfuse/discussions/4179", - "created_at": "2024-11-11T21:55:56Z", - "upvotes": 1, - "comment_count": 3, - "resolved": true, + "number": 4154, + "title": "Feature Request: Enable Invites with `AUTH_DISABLE_SIGNUP` (or/and GitHub OAuth for a given organization)", + "href": "https://github.com/orgs/langfuse/discussions/4154", + "created_at": "2024-11-10T15:04:41Z", + "upvotes": 3, + "comment_count": 1, + "resolved": false, "labels": [ + "feat-auth", "self-hosting" ], "author": { - "login": "tomi-bigpi", - "html_url": "https://github.com/tomi-bigpi" + "login": "shner-elmo", + "html_url": "https://github.com/shner-elmo" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4178, - "title": "How to update a score?", - "href": "https://github.com/orgs/langfuse/discussions/4178", - "created_at": "2024-11-11T21:48:51Z", + "number": 4143, + "title": "Getting prompts using LiteLLM syntax", + "href": "https://github.com/orgs/langfuse/discussions/4143", + "created_at": "2024-11-09T17:01:10Z", "upvotes": 1, - "comment_count": 1, - "resolved": true, - "labels": [ - "feat-scores" - ], + "comment_count": 0, + "resolved": false, + "labels": [], "author": { - "login": "leichx", - "html_url": "https://github.com/leichx" + "login": "doasfrancisco", + "html_url": "https://github.com/doasfrancisco" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4172, - "title": "TypeError: LangfuseTracer.trace() got an unexpected keyword argument 'parent_span'", - "href": "https://github.com/orgs/langfuse/discussions/4172", - "created_at": "2024-11-11T13:31:14Z", + "number": 4129, + "title": "Annotation Queue: Display trace id", + "href": "https://github.com/orgs/langfuse/discussions/4129", + "created_at": "2024-11-08T16:14:00Z", "upvotes": 1, - "comment_count": 2, - "resolved": true, - "labels": [ - "integration-haystack" - ], + "comment_count": 0, + "resolved": false, + "labels": [], "author": { - "login": "schwasa", - "html_url": "https://github.com/schwasa" + "login": "jannikmaierhoefer", + "html_url": "https://github.com/jannikmaierhoefer" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4169, - "title": "Tenant based prompt management ?", - "href": "https://github.com/orgs/langfuse/discussions/4169", - "created_at": "2024-11-11T11:22:21Z", - "upvotes": 1, - "comment_count": 2, - "resolved": true, + "number": 4121, + "title": "Enable to use variable of prompt on evaluator.", + "href": "https://github.com/orgs/langfuse/discussions/4121", + "created_at": "2024-11-08T09:16:28Z", + "upvotes": 3, + "comment_count": 1, + "resolved": false, "labels": [ - "feat-prompt-management" + "feat-evals" ], "author": { - "login": "PreetamGKatakali", - "html_url": "https://github.com/PreetamGKatakali" + "login": "takryo00", + "html_url": "https://github.com/takryo00" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4134, - "title": "LangGraph traces cause self-hosted instance to hang", - "href": "https://github.com/orgs/langfuse/discussions/4134", - "created_at": "2024-11-08T22:54:34Z", - "upvotes": 1, - "comment_count": 2, + "number": 4120, + "title": "Sessions Table: Scores Column", + "href": "https://github.com/orgs/langfuse/discussions/4120", + "created_at": "2024-11-08T08:58:10Z", + "upvotes": 5, + "comment_count": 0, "resolved": false, "labels": [ - "integration-langchain" + "feat-sessions" ], "author": { - "login": "rishimo", - "html_url": "https://github.com/rishimo" + "login": "jannikmaierhoefer", + "html_url": "https://github.com/jannikmaierhoefer" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4123, - "title": "Block strangers from signing in to your app", - "href": "https://github.com/orgs/langfuse/discussions/4123", - "created_at": "2024-11-08T10:14:08Z", + "number": 4110, + "title": "Sort functionality in Users page", + "href": "https://github.com/orgs/langfuse/discussions/4110", + "created_at": "2024-11-07T19:43:07Z", "upvotes": 1, - "comment_count": 2, - "resolved": true, + "comment_count": 0, + "resolved": false, "labels": [], "author": { - "login": "shner-elmo", - "html_url": "https://github.com/shner-elmo" + "login": "sal-dti", + "html_url": "https://github.com/sal-dti" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4119, - "title": "Can we use Langfuse without any Authentication enabled?", - "href": "https://github.com/orgs/langfuse/discussions/4119", - "created_at": "2024-11-08T08:32:30Z", + "number": 4106, + "title": "Add new filters for the LLM as a Judge Evaluation (other scores and cost)", + "href": "https://github.com/orgs/langfuse/discussions/4106", + "created_at": "2024-11-07T14:44:31Z", "upvotes": 1, "comment_count": 1, - "resolved": true, - "labels": [], + "resolved": false, + "labels": [ + "feat-evals" + ], "author": { - "login": "SudhaGarimella", - "html_url": "https://github.com/SudhaGarimella" - }, - "category": "Support" + "login": "laisalvescw", + "html_url": "https://github.com/laisalvescw" + }, + "category": "Ideas" }, { - "number": 4118, - "title": "Can I evaluate Span using the External Evaluation Pipeline?", - "href": "https://github.com/orgs/langfuse/discussions/4118", - "created_at": "2024-11-08T08:04:55Z", - "upvotes": 1, + "number": 4103, + "title": "Prompt Management: Deployment level view", + "href": "https://github.com/orgs/langfuse/discussions/4103", + "created_at": "2024-11-07T12:40:07Z", + "upvotes": 2, "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [ - "feat-evals" + "feat-prompt-management" ], "author": { - "login": "ygt1qa8", - "html_url": "https://github.com/ygt1qa8" + "login": "jannikmaierhoefer", + "html_url": "https://github.com/jannikmaierhoefer" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4117, - "title": "ERROR - An error occurred: 'function' object is not subscriptable", - "href": "https://github.com/orgs/langfuse/discussions/4117", - "created_at": "2024-11-08T04:51:09Z", - "upvotes": 1, - "comment_count": 1, + "number": 4102, + "title": "Prompt Management: labels in prompt table", + "href": "https://github.com/orgs/langfuse/discussions/4102", + "created_at": "2024-11-07T12:38:00Z", + "upvotes": 2, + "comment_count": 0, "resolved": false, "labels": [], "author": { - "login": "MazarSayed", - "html_url": "https://github.com/MazarSayed" + "login": "jannikmaierhoefer", + "html_url": "https://github.com/jannikmaierhoefer" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4116, - "title": "How can I implement a knowledge base and multi-turn file dialogue with pip deployment?! How does this “history” work?", - "href": "https://github.com/orgs/langfuse/discussions/4116", - "created_at": "2024-11-08T03:05:40Z", + "number": 4099, + "title": "Does LangFuse support a (declarative) plugin architecture?", + "href": "https://github.com/orgs/langfuse/discussions/4099", + "created_at": "2024-11-07T11:27:39Z", "upvotes": 1, - "comment_count": 2, - "resolved": true, + "comment_count": 1, + "resolved": false, "labels": [], "author": { - "login": "SKKKKYLAR", - "html_url": "https://github.com/SKKKKYLAR" + "login": "barseghyanartur", + "html_url": "https://github.com/barseghyanartur" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4115, - "title": "Configure LangFuse Project within CallbackHandler", - "href": "https://github.com/orgs/langfuse/discussions/4115", - "created_at": "2024-11-07T23:19:13Z", + "number": 4097, + "title": "More Granular Target Objects for Langfuse Evaluators", + "href": "https://github.com/orgs/langfuse/discussions/4097", + "created_at": "2024-11-07T10:00:11Z", "upvotes": 1, - "comment_count": 2, - "resolved": true, - "labels": [ - "integration-langchain" - ], + "comment_count": 0, + "resolved": false, + "labels": [], "author": { - "login": "krlng", - "html_url": "https://github.com/krlng" + "login": "qrosseel", + "html_url": "https://github.com/qrosseel" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4091, - "title": "Openwebui and langfuse", - "href": "https://github.com/orgs/langfuse/discussions/4091", - "created_at": "2024-11-06T22:21:43Z", + "number": 4096, + "title": "Evaluator CRUD in UI and API", + "href": "https://github.com/orgs/langfuse/discussions/4096", + "created_at": "2024-11-07T09:46:01Z", "upvotes": 1, "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [], "author": { - "login": "flefevre", - "html_url": "https://github.com/flefevre" + "login": "qrosseel", + "html_url": "https://github.com/qrosseel" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4090, - "title": "Configuring logging", - "href": "https://github.com/orgs/langfuse/discussions/4090", - "created_at": "2024-11-06T21:39:03Z", + "number": 4078, + "title": "Specify data masking on decorator itself", + "href": "https://github.com/orgs/langfuse/discussions/4078", + "created_at": "2024-11-06T14:00:47Z", "upvotes": 1, - "comment_count": 5, - "resolved": true, - "labels": [], + "comment_count": 0, + "resolved": false, + "labels": [ + "integration-python-decorator", + "feat-data-masking" + ], "author": { - "login": "pcoccoli", - "html_url": "https://github.com/pcoccoli" + "login": "marcklingen", + "html_url": "https://github.com/marcklingen" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4080, - "title": "Langfuse User Management with Custom Oauth", - "href": "https://github.com/orgs/langfuse/discussions/4080", - "created_at": "2024-11-06T14:21:39Z", - "upvotes": 1, - "comment_count": 3, + "number": 4077, + "title": "Export dataset run table", + "href": "https://github.com/orgs/langfuse/discussions/4077", + "created_at": "2024-11-06T13:58:30Z", + "upvotes": 4, + "comment_count": 0, "resolved": false, "labels": [ - "feat-auth", - "self-hosting" + "feat-datasets" ], "author": { - "login": "bziolkowski", - "html_url": "https://github.com/bziolkowski" + "login": "marcklingen", + "html_url": "https://github.com/marcklingen" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4079, - "title": "How to prevent strangers from creating an account on your app", - "href": "https://github.com/orgs/langfuse/discussions/4079", - "created_at": "2024-11-06T14:17:46Z", - "upvotes": 1, - "comment_count": 1, - "resolved": true, + "number": 4076, + "title": "Customizable data mask (input/output, observation names, observation type)", + "href": "https://github.com/orgs/langfuse/discussions/4076", + "created_at": "2024-11-06T13:56:36Z", + "upvotes": 2, + "comment_count": 0, + "resolved": false, "labels": [ - "self-hosting" + "feat-data-masking" ], "author": { - "login": "shner-elmo", - "html_url": "https://github.com/shner-elmo" + "login": "marcklingen", + "html_url": "https://github.com/marcklingen" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4075, - "title": "Does it make sense to use multiple api-keys", - "href": "https://github.com/orgs/langfuse/discussions/4075", - "created_at": "2024-11-06T11:22:45Z", + "number": 4060, + "title": "Add support for more complex Jinja constructs", + "href": "https://github.com/orgs/langfuse/discussions/4060", + "created_at": "2024-11-05T14:28:17Z", "upvotes": 1, - "comment_count": 2, - "resolved": true, - "labels": [], + "comment_count": 1, + "resolved": false, + "labels": [ + "feat-prompt-management" + ], "author": { - "login": "shner-elmo", - "html_url": "https://github.com/shner-elmo" + "login": "alex-stoica", + "html_url": "https://github.com/alex-stoica" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4071, - "title": "Authentication not working?", - "href": "https://github.com/orgs/langfuse/discussions/4071", - "created_at": "2024-11-06T01:00:12Z", + "number": 4040, + "title": "Linking ChatPromptTemplate to Multiple Prompts", + "href": "https://github.com/orgs/langfuse/discussions/4040", + "created_at": "2024-11-04T13:49:06Z", "upvotes": 1, - "comment_count": 2, - "resolved": true, - "labels": [], + "comment_count": 1, + "resolved": false, + "labels": [ + "feat-prompt-management" + ], "author": { - "login": "shner-elmo", - "html_url": "https://github.com/shner-elmo" + "login": "sternr", + "html_url": "https://github.com/sternr" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4056, - "title": "Langfuse deployment issue on k8", - "href": "https://github.com/orgs/langfuse/discussions/4056", - "created_at": "2024-11-05T11:54:57Z", - "upvotes": 1, - "comment_count": 4, + "number": 4037, + "title": "feat: support adding trace tags in annotation queue view", + "href": "https://github.com/orgs/langfuse/discussions/4037", + "created_at": "2024-11-04T13:04:02Z", + "upvotes": 2, + "comment_count": 0, "resolved": false, "labels": [ - "self-hosting" + "feat-annotation" ], "author": { - "login": "hrone-dev-satyammishra", - "html_url": "https://github.com/hrone-dev-satyammishra" + "login": "marliessophie", + "html_url": "https://github.com/marliessophie" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4046, - "title": "Should the Langfuse classs initialization be cached (does it do any I/O on init?) ?", - "href": "https://github.com/orgs/langfuse/discussions/4046", - "created_at": "2024-11-04T16:44:27Z", + "number": 4035, + "title": "Feat: De-dupe and show info when adding the same trace/observation to an annotation queue multiple times", + "href": "https://github.com/orgs/langfuse/discussions/4035", + "created_at": "2024-11-04T12:58:59Z", "upvotes": 1, "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [ - "integration-langchain" + "feat-annotation" ], "author": { - "login": "shner-elmo", - "html_url": "https://github.com/shner-elmo" + "login": "marliessophie", + "html_url": "https://github.com/marliessophie" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4043, - "title": "\"Custom\" traces not creating when Next.js Vercel instrumentation is on.", - "href": "https://github.com/orgs/langfuse/discussions/4043", - "created_at": "2024-11-04T14:07:46Z", - "upvotes": 1, - "comment_count": 2, - "resolved": true, - "labels": [ - "integration-vercel-ai-sdk" + "number": 4025, + "title": "Diff support for dataset runs view", + "href": "https://github.com/orgs/langfuse/discussions/4025", + "created_at": "2024-11-04T03:48:40Z", + "upvotes": 3, + "comment_count": 0, + "resolved": false, + "labels": [ + "feat-datasets" ], "author": { - "login": "rovnyart", - "html_url": "https://github.com/rovnyart" + "login": "saikatmitra91", + "html_url": "https://github.com/saikatmitra91" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4041, - "title": "When running in relatively high amount of concurrent requests we start getting: \"API error occurred: Service unavailable.\" from Langfuse server", - "href": "https://github.com/orgs/langfuse/discussions/4041", - "created_at": "2024-11-04T13:55:19Z", + "number": 4019, + "title": "Create Support for gemini models in playground", + "href": "https://github.com/orgs/langfuse/discussions/4019", + "created_at": "2024-11-03T11:12:42Z", "upvotes": 1, "comment_count": 2, - "resolved": true, - "labels": [], + "resolved": false, + "labels": [ + "feat-evals", + "feat-playground" + ], "author": { - "login": "sternr", - "html_url": "https://github.com/sternr" + "login": "anuraj-suman", + "html_url": "https://github.com/anuraj-suman" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4038, - "title": "SSL: CERTIFICATE_VERIFY_FAILED error when access the self hosted langfuse from the code", - "href": "https://github.com/orgs/langfuse/discussions/4038", - "created_at": "2024-11-04T13:14:05Z", + "number": 4012, + "title": "Duplicate a template prompt to start a new prompt with all the boilerplate prepared", + "href": "https://github.com/orgs/langfuse/discussions/4012", + "created_at": "2024-11-02T15:26:33Z", "upvotes": 1, - "comment_count": 2, - "resolved": true, - "labels": [], + "comment_count": 1, + "resolved": false, + "labels": [ + "feat-prompt-management" + ], "author": { - "login": "SugumarRavichandran", - "html_url": "https://github.com/SugumarRavichandran" + "login": "jakelucasnyc", + "html_url": "https://github.com/jakelucasnyc" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4026, - "title": "Blob is not defined for Node 16", - "href": "https://github.com/orgs/langfuse/discussions/4026", - "created_at": "2024-11-04T04:58:15Z", + "number": 4009, + "title": "SDK-Python: Get all prompts from LangfuseSDK Client", + "href": "https://github.com/orgs/langfuse/discussions/4009", + "created_at": "2024-11-01T18:39:02Z", "upvotes": 1, - "comment_count": 2, + "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "jamesyu", - "html_url": "https://github.com/jamesyu" + "login": "nthanapaisal", + "html_url": "https://github.com/nthanapaisal" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4001, - "title": "Cloudron packaging issue with Prisma client", - "href": "https://github.com/orgs/langfuse/discussions/4001", - "created_at": "2024-11-01T14:21:59Z", - "upvotes": 1, - "comment_count": 2, - "resolved": true, + "number": 4000, + "title": "Support custom aggregated queries through the UI", + "href": "https://github.com/orgs/langfuse/discussions/4000", + "created_at": "2024-11-01T14:19:58Z", + "upvotes": 2, + "comment_count": 0, + "resolved": false, "labels": [], "author": { - "login": "Lanhild", - "html_url": "https://github.com/Lanhild" - }, - "category": "Support" - }, - { - "number": 3996, - "title": "Can you use the app without OAuth?", - "href": "https://github.com/orgs/langfuse/discussions/3996", - "created_at": "2024-11-01T03:36:33Z", - "upvotes": 1, - "comment_count": 1, - "resolved": true, - "labels": [ - "feat-auth", - "self-hosting" - ], - "author": { - "login": "shner-elmo", - "html_url": "https://github.com/shner-elmo" + "login": "emieldatalytica", + "html_url": "https://github.com/emieldatalytica" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3985, - "title": "Pending Badge Stuck on Setup Tracing Step", - "href": "https://github.com/orgs/langfuse/discussions/3985", - "created_at": "2024-10-31T15:51:08Z", + "number": 3997, + "title": "Alerts based on metrics (cost, evaluation, user-feedback), trigger webhook/email/slack/...", + "href": "https://github.com/orgs/langfuse/discussions/3997", + "created_at": "2024-11-01T11:25:05Z", "upvotes": 1, - "comment_count": 2, - "resolved": true, + "comment_count": 0, + "resolved": false, "labels": [], "author": { - "login": "c0pper", - "html_url": "https://github.com/c0pper" + "login": "marcklingen", + "html_url": "https://github.com/marcklingen" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3977, - "title": "getPromptStateless received 403 error when using `LangfuseWeb` SDK", - "href": "https://github.com/orgs/langfuse/discussions/3977", - "created_at": "2024-10-31T01:45:19Z", + "number": 3988, + "title": "Change AWS access pattern for Bedrock LLM usage, assume role", + "href": "https://github.com/orgs/langfuse/discussions/3988", + "created_at": "2024-10-31T17:45:48Z", "upvotes": 1, "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [ - "feat-prompt-management" + "feat-evals", + "feat-playground" ], "author": { - "login": "huangbaitu123", - "html_url": "https://github.com/huangbaitu123" - }, - "category": "Support" - }, - { - "number": 3976, - "title": "Missing scores after pushing scores to Langfuse", - "href": "https://github.com/orgs/langfuse/discussions/3976", - "created_at": "2024-10-31T00:02:59Z", - "upvotes": 1, - "comment_count": 3, - "resolved": true, - "labels": [], - "author": { - "login": "laisalvescw", - "html_url": "https://github.com/laisalvescw" + "login": "j10sanders", + "html_url": "https://github.com/j10sanders" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3972, - "title": "For which kinds of data is `ENCRYPTION_KEY` used?", - "href": "https://github.com/orgs/langfuse/discussions/3972", - "created_at": "2024-10-30T18:21:25Z", + "number": 3986, + "title": "Support for Atlassian OAuth-Provider", + "href": "https://github.com/orgs/langfuse/discussions/3986", + "created_at": "2024-10-31T16:56:45Z", "upvotes": 1, "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [ + "feat-auth", "self-hosting" ], "author": { - "login": "felix-sanchez-unmind", - "html_url": "https://github.com/felix-sanchez-unmind" + "login": "backface", + "html_url": "https://github.com/backface" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3965, - "title": "How to set environment variables for custom oauth2.0 sso?", - "href": "https://github.com/orgs/langfuse/discussions/3965", - "created_at": "2024-10-30T06:27:15Z", - "upvotes": 1, - "comment_count": 1, - "resolved": true, + "number": 3981, + "title": "Async support for data masking in JS/TS SDK", + "href": "https://github.com/orgs/langfuse/discussions/3981", + "created_at": "2024-10-31T14:06:21Z", + "upvotes": 3, + "comment_count": 3, + "resolved": false, "labels": [ - "feat-auth", - "self-hosting" + "feat-data-masking" ], "author": { - "login": "IeohMingChan", - "html_url": "https://github.com/IeohMingChan" + "login": "pexxi", + "html_url": "https://github.com/pexxi" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3957, - "title": "Langfuse.create_prompt() got an unexpected keyword argument 'version'", - "href": "https://github.com/orgs/langfuse/discussions/3957", - "created_at": "2024-10-29T13:21:51Z", - "upvotes": 1, + "number": 3970, + "title": "Add ability to export and import evaluators between projects", + "href": "https://github.com/orgs/langfuse/discussions/3970", + "created_at": "2024-10-30T16:13:20Z", + "upvotes": 2, "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [ - "feat-prompt-management" + "feat-evals" ], "author": { - "login": "silenceliang", - "html_url": "https://github.com/silenceliang" + "login": "j10sanders", + "html_url": "https://github.com/j10sanders" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3949, - "title": "Is there a way to clear trace data in batch?", - "href": "https://github.com/orgs/langfuse/discussions/3949", - "created_at": "2024-10-29T06:10:26Z", - "upvotes": 1, + "number": 3954, + "title": "Decorator: disable tracing at the decorated function level", + "href": "https://github.com/orgs/langfuse/discussions/3954", + "created_at": "2024-10-29T11:45:13Z", + "upvotes": 3, "comment_count": 2, - "resolved": true, + "resolved": false, "labels": [ - "self-hosting" + "sdk-python", + "integration-python-decorator" ], "author": { - "login": "renwei-work", - "html_url": "https://github.com/renwei-work" + "login": "klemenstraeger", + "html_url": "https://github.com/klemenstraeger" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3943, - "title": "Improvements of Langfuse-Haystack integration", - "href": "https://github.com/orgs/langfuse/discussions/3943", - "created_at": "2024-10-28T14:49:51Z", + "number": 3941, + "title": "Add keyword highlighting and color coding", + "href": "https://github.com/orgs/langfuse/discussions/3941", + "created_at": "2024-10-28T12:17:38Z", "upvotes": 1, "comment_count": 2, - "resolved": true, + "resolved": false, "labels": [ - "integration-haystack" + "feat-prompt-management" ], "author": { - "login": "alex-stoica", - "html_url": "https://github.com/alex-stoica" + "login": "ignazflam", + "html_url": "https://github.com/ignazflam" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3924, - "title": "Postgres version mismatch when upgrading langfuse locally", - "href": "https://github.com/orgs/langfuse/discussions/3924", - "created_at": "2024-10-25T18:30:14Z", + "number": 3935, + "title": "feat: Folder structure for dataset organisation", + "href": "https://github.com/orgs/langfuse/discussions/3935", + "created_at": "2024-10-28T08:23:14Z", "upvotes": 2, "comment_count": 1, - "resolved": true, - "labels": [], + "resolved": false, + "labels": [ + "feat-datasets" + ], "author": { - "login": "nikcaryo-super", - "html_url": "https://github.com/nikcaryo-super" + "login": "marliessophie", + "html_url": "https://github.com/marliessophie" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3920, - "title": "Rate limit exceed using Langfuse Python SDK", - "href": "https://github.com/orgs/langfuse/discussions/3920", - "created_at": "2024-10-25T14:45:56Z", - "upvotes": 1, - "comment_count": 1, - "resolved": true, + "number": 3918, + "title": "Model-based evaluations triggered by observations", + "href": "https://github.com/orgs/langfuse/discussions/3918", + "created_at": "2024-10-25T14:25:49Z", + "upvotes": 2, + "comment_count": 0, + "resolved": false, "labels": [ - "feat-api" + "feat-evals" ], "author": { - "login": "laisalvescw", - "html_url": "https://github.com/laisalvescw" + "login": "marcklingen", + "html_url": "https://github.com/marcklingen" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3910, - "title": "If I use Anthropic Claude component in Langflow, the trace data in Langfuse is all null", - "href": "https://github.com/orgs/langfuse/discussions/3910", - "created_at": "2024-10-25T06:50:02Z", - "upvotes": 2, - "comment_count": 2, - "resolved": true, + "number": 3904, + "title": "Support for Custom SSO Without AUTH_CUSTOM_CLIENT_SECRET and Incorrect Profile Mapping", + "href": "https://github.com/orgs/langfuse/discussions/3904", + "created_at": "2024-10-24T17:07:38Z", + "upvotes": 0, + "comment_count": 0, + "resolved": false, "labels": [], "author": { - "login": "b8heng", - "html_url": "https://github.com/b8heng" + "login": "lucebert", + "html_url": "https://github.com/lucebert" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3905, - "title": "Allow injection of generation context into evaluation prompt", - "href": "https://github.com/orgs/langfuse/discussions/3905", - "created_at": "2024-10-24T20:39:46Z", - "upvotes": 1, + "number": 3893, + "title": "Allow prompt editing without creating new version (draft mode)", + "href": "https://github.com/orgs/langfuse/discussions/3893", + "created_at": "2024-10-24T08:47:13Z", + "upvotes": 2, "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [ - "feat-evals" + "feat-prompt-management" ], "author": { "login": "dveyarangi", "html_url": "https://github.com/dveyarangi" }, - "category": "Support" - }, - { - "number": 3902, - "title": "How to fetch the output and input tokens of a trace via API?", - "href": "https://github.com/orgs/langfuse/discussions/3902", - "created_at": "2024-10-24T16:16:56Z", - "upvotes": 0, - "comment_count": 1, - "resolved": true, - "labels": [ - "feat-api", - "feat-cost-tracking" - ], - "author": { - "login": "fdb02983rhy", - "html_url": "https://github.com/fdb02983rhy" - }, - "category": "Support" + "category": "Ideas" }, { - "number": 3900, - "title": "Sometimes traces lack metadata completely", - "href": "https://github.com/orgs/langfuse/discussions/3900", - "created_at": "2024-10-24T15:06:32Z", + "number": 3891, + "title": "feat: user consumption broken down by model", + "href": "https://github.com/orgs/langfuse/discussions/3891", + "created_at": "2024-10-24T05:41:12Z", "upvotes": 1, - "comment_count": 4, - "resolved": true, + "comment_count": 0, + "resolved": false, "labels": [], "author": { - "login": "RichardSieg", - "html_url": "https://github.com/RichardSieg" + "login": "belphegor-s", + "html_url": "https://github.com/belphegor-s" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3890, - "title": "how to add invoked langchain tool names as tags or as metadata", - "href": "https://github.com/orgs/langfuse/discussions/3890", - "created_at": "2024-10-24T00:39:02Z", - "upvotes": 1, - "comment_count": 1, + "number": 3885, + "title": "Trace -> Playground: Populate variable fields to make input iteration easier.", + "href": "https://github.com/orgs/langfuse/discussions/3885", + "created_at": "2024-10-23T16:26:36Z", + "upvotes": 2, + "comment_count": 0, "resolved": false, "labels": [ - "integration-langchain" + "feat-prompt-management", + "feat-playground" ], "author": { - "login": "Wrashionis", - "html_url": "https://github.com/Wrashionis" + "login": "jannikmaierhoefer", + "html_url": "https://github.com/jannikmaierhoefer" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3886, - "title": "Azure AD auth: OAUTH_PARSE_PROFILE_ERROR", - "href": "https://github.com/orgs/langfuse/discussions/3886", - "created_at": "2024-10-23T19:40:57Z", + "number": 3875, + "title": "add gpt-4o-2024-08-06 model to langfuse models list", + "href": "https://github.com/orgs/langfuse/discussions/3875", + "created_at": "2024-10-23T10:54:01Z", "upvotes": 1, - "comment_count": 2, + "comment_count": 1, "resolved": false, - "labels": [], + "labels": [ + "✅ Done" + ], "author": { - "login": "kryvokhyzha", - "html_url": "https://github.com/kryvokhyzha" + "login": "alex-stoica", + "html_url": "https://github.com/alex-stoica" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3884, - "title": "I cant quite tell if i'm doing the parent span correctly. The trace is appearing but not associated to the Session", - "href": "https://github.com/orgs/langfuse/discussions/3884", - "created_at": "2024-10-23T16:12:44Z", + "number": 3874, + "title": "Ensure prompt validation when attaching prompts to generations", + "href": "https://github.com/orgs/langfuse/discussions/3874", + "created_at": "2024-10-23T10:48:38Z", "upvotes": 1, - "comment_count": 2, + "comment_count": 0, "resolved": false, - "labels": [], + "labels": [ + "feat-prompt-management" + ], "author": { - "login": "PandelisZ", - "html_url": "https://github.com/PandelisZ" + "login": "alex-stoica", + "html_url": "https://github.com/alex-stoica" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3879, - "title": "No token information in observation of LLM run", - "href": "https://github.com/orgs/langfuse/discussions/3879", - "created_at": "2024-10-23T13:07:43Z", - "upvotes": 1, + "number": 3866, + "title": "Support for OpenAI's cached input tokens", + "href": "https://github.com/orgs/langfuse/discussions/3866", + "created_at": "2024-10-22T19:38:33Z", + "upvotes": 4, "comment_count": 2, "resolved": false, "labels": [ "feat-cost-tracking" ], "author": { - "login": "noInterestIfPaidInFull", - "html_url": "https://github.com/noInterestIfPaidInFull" + "login": "anatolec", + "html_url": "https://github.com/anatolec" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3877, - "title": "Self host Langfuse not working - column `t6.cloud_config` does not exist", - "href": "https://github.com/orgs/langfuse/discussions/3877", - "created_at": "2024-10-23T11:54:13Z", + "number": 3862, + "title": "python generator request - return values", + "href": "https://github.com/orgs/langfuse/discussions/3862", + "created_at": "2024-10-22T11:43:22Z", "upvotes": 1, - "comment_count": 4, + "comment_count": 1, "resolved": false, "labels": [ - "self-hosting" + "integration-python-decorator" ], "author": { - "login": "SugumarRavichandran", - "html_url": "https://github.com/SugumarRavichandran" + "login": "benji-finster", + "html_url": "https://github.com/benji-finster" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3868, - "title": "Langfuse Tracing not showing up on UI", - "href": "https://github.com/orgs/langfuse/discussions/3868", - "created_at": "2024-10-22T21:26:13Z", + "number": 3842, + "title": "Scores: Conditional Annotation", + "href": "https://github.com/orgs/langfuse/discussions/3842", + "created_at": "2024-10-21T08:37:48Z", "upvotes": 1, - "comment_count": 2, - "resolved": true, - "labels": [], + "comment_count": 0, + "resolved": false, + "labels": [ + "feat-scores", + "feat-annotation" + ], "author": { - "login": "nthanapaisal", - "html_url": "https://github.com/nthanapaisal" + "login": "marliessophie", + "html_url": "https://github.com/marliessophie" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3863, - "title": "Request Timeout for Dashboard", - "href": "https://github.com/orgs/langfuse/discussions/3863", - "created_at": "2024-10-22T14:18:43Z", + "number": 3841, + "title": "Annotation Queues: define optional/mandatory score configs by queue", + "href": "https://github.com/orgs/langfuse/discussions/3841", + "created_at": "2024-10-21T08:32:46Z", "upvotes": 1, - "comment_count": 2, - "resolved": true, + "comment_count": 0, + "resolved": false, "labels": [ - "self-hosting" + "feat-annotation" ], "author": { - "login": "mritonia", - "html_url": "https://github.com/mritonia" - }, - "category": "Support" + "login": "marliessophie", + "html_url": "https://github.com/marliessophie" + }, + "category": "Ideas" }, { - "number": 3858, - "title": "Monitoring self-hosted langfuse.", - "href": "https://github.com/orgs/langfuse/discussions/3858", - "created_at": "2024-10-22T07:04:26Z", + "number": 3840, + "title": "Scores: support for recording multiple choice selection as score value", + "href": "https://github.com/orgs/langfuse/discussions/3840", + "created_at": "2024-10-21T08:20:01Z", "upvotes": 1, - "comment_count": 2, - "resolved": true, + "comment_count": 0, + "resolved": false, "labels": [ - "self-hosting" + "feat-scores" ], "author": { - "login": "SinghCoder", - "html_url": "https://github.com/SinghCoder" + "login": "marliessophie", + "html_url": "https://github.com/marliessophie" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3854, - "title": "Open AI Python SDK - 'OpenAI' object has no attribute 'langfuse_auth_check'", - "href": "https://github.com/orgs/langfuse/discussions/3854", - "created_at": "2024-10-21T21:41:17Z", - "upvotes": 1, - "comment_count": 4, - "resolved": true, + "number": 3839, + "title": "Prompts: ability to share prompt or playground session", + "href": "https://github.com/orgs/langfuse/discussions/3839", + "created_at": "2024-10-21T08:00:15Z", + "upvotes": 2, + "comment_count": 0, + "resolved": false, "labels": [ - "integration-openai" + "feat-prompt-management" ], "author": { - "login": "hjensen", - "html_url": "https://github.com/hjensen" + "login": "marliessophie", + "html_url": "https://github.com/marliessophie" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3845, - "title": "Traces: Link a trace to multiple sessions", - "href": "https://github.com/orgs/langfuse/discussions/3845", - "created_at": "2024-10-21T11:31:54Z", + "number": 3836, + "title": "Distinguishing various steps", + "href": "https://github.com/orgs/langfuse/discussions/3836", + "created_at": "2024-10-20T16:54:32Z", "upvotes": 1, + "comment_count": 0, + "resolved": false, + "labels": [], + "author": { + "login": "ajram23", + "html_url": "https://github.com/ajram23" + }, + "category": "Ideas" + }, + { + "number": 3818, + "title": "Filter by status in dataset items table", + "href": "https://github.com/orgs/langfuse/discussions/3818", + "created_at": "2024-10-18T03:17:50Z", + "upvotes": 2, "comment_count": 2, - "resolved": true, + "resolved": false, "labels": [ - "feat-sessions" + "feat-datasets" ], "author": { - "login": "nikitagupta5566", - "html_url": "https://github.com/nikitagupta5566" + "login": "FrankyCTY", + "html_url": "https://github.com/FrankyCTY" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3838, - "title": "How do I user wise \"Total Token\" counts via API or via python, As I want to track which user is consuming how much tokens", - "href": "https://github.com/orgs/langfuse/discussions/3838", - "created_at": "2024-10-21T06:51:06Z", - "upvotes": 2, - "comment_count": 3, - "resolved": true, + "number": 3817, + "title": "Add generic types for prompt variables in the sdk clients, e.g. `langfuse.getPrompt<{input: string}>(\"prompt name\")`", + "href": "https://github.com/orgs/langfuse/discussions/3817", + "created_at": "2024-10-17T23:40:45Z", + "upvotes": 1, + "comment_count": 0, + "resolved": false, "labels": [ - "feat-cost-tracking" + "feat-prompt-management" ], "author": { - "login": "hrone-dev-satyammishra", - "html_url": "https://github.com/hrone-dev-satyammishra" + "login": "marcklingen", + "html_url": "https://github.com/marcklingen" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3835, - "title": "To use Gemini on playground", - "href": "https://github.com/orgs/langfuse/discussions/3835", - "created_at": "2024-10-20T12:20:22Z", + "number": 3801, + "title": "Add image type with image_url for vision apo", + "href": "https://github.com/orgs/langfuse/discussions/3801", + "created_at": "2024-10-17T15:27:23Z", "upvotes": 1, - "comment_count": 3, + "comment_count": 1, "resolved": false, - "labels": [], + "labels": [ + "feat-prompt-management", + "feat-playground" + ], "author": { - "login": "yu-tarrrr", - "html_url": "https://github.com/yu-tarrrr" + "login": "profikid", + "html_url": "https://github.com/profikid" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3824, - "title": "Traces and events not going through to Langfuse server even though they're generating", - "href": "https://github.com/orgs/langfuse/discussions/3824", - "created_at": "2024-10-18T13:49:53Z", - "upvotes": 1, - "comment_count": 2, + "number": 3798, + "title": "Versioning/edit of Evaluator Configuration", + "href": "https://github.com/orgs/langfuse/discussions/3798", + "created_at": "2024-10-17T11:59:39Z", + "upvotes": 3, + "comment_count": 1, "resolved": false, "labels": [ - "integration-python-decorator" + "feat-evals" ], "author": { - "login": "FaresKi", - "html_url": "https://github.com/FaresKi" + "login": "filipmihal", + "html_url": "https://github.com/filipmihal" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3800, - "title": "Insert API Keys in database", - "href": "https://github.com/orgs/langfuse/discussions/3800", - "created_at": "2024-10-17T12:40:17Z", - "upvotes": 1, - "comment_count": 3, + "number": 3782, + "title": "Measure time to last generated token", + "href": "https://github.com/orgs/langfuse/discussions/3782", + "created_at": "2024-10-16T17:45:12Z", + "upvotes": 2, + "comment_count": 0, "resolved": false, "labels": [], "author": { - "login": "kryvokhyzha", - "html_url": "https://github.com/kryvokhyzha" + "login": "dsherry", + "html_url": "https://github.com/dsherry" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3799, - "title": "Weird behaviour of metric values and their reasoning", - "href": "https://github.com/orgs/langfuse/discussions/3799", - "created_at": "2024-10-17T12:17:48Z", + "number": 3772, + "title": "Support annotation role permission to only access Annotation Queue feature", + "href": "https://github.com/orgs/langfuse/discussions/3772", + "created_at": "2024-10-16T03:49:43Z", "upvotes": 1, - "comment_count": 2, - "resolved": true, + "comment_count": 1, + "resolved": false, "labels": [ - "feat-evals" + "feat-annotation" ], "author": { - "login": "filipmihal", - "html_url": "https://github.com/filipmihal" + "login": "ytqh", + "html_url": "https://github.com/ytqh" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3797, - "title": "Filter Categorical Score Values", - "href": "https://github.com/orgs/langfuse/discussions/3797", - "created_at": "2024-10-17T10:15:58Z", - "upvotes": 1, + "number": 3765, + "title": "OpenAI integration support for realtime api", + "href": "https://github.com/orgs/langfuse/discussions/3765", + "created_at": "2024-10-15T21:35:13Z", + "upvotes": 5, "comment_count": 3, - "resolved": true, + "resolved": false, "labels": [ - "feat-scores" + "integration-openai" ], "author": { - "login": "alabrashJr", - "html_url": "https://github.com/alabrashJr" + "login": "marcklingen", + "html_url": "https://github.com/marcklingen" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3796, - "title": "Manually setting up Langchain Callback handler with explicit values doesn't configure langfuse client in decorator approach", - "href": "https://github.com/orgs/langfuse/discussions/3796", - "created_at": "2024-10-17T08:36:51Z", + "number": 3761, + "title": "DsPY type optimization functionality", + "href": "https://github.com/orgs/langfuse/discussions/3761", + "created_at": "2024-10-15T20:02:39Z", "upvotes": 1, - "comment_count": 2, - "resolved": true, + "comment_count": 1, + "resolved": false, "labels": [ - "integration-langchain" + "integration-dspy" ], "author": { - "login": "FaresKi", - "html_url": "https://github.com/FaresKi" + "login": "nikshepsvn", + "html_url": "https://github.com/nikshepsvn" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3780, - "title": "How to use prompt management with litellm's integration with langfuse?", - "href": "https://github.com/orgs/langfuse/discussions/3780", - "created_at": "2024-10-16T16:48:40Z", - "upvotes": 2, - "comment_count": 8, - "resolved": true, + "number": 3755, + "title": "Intergrate with Ragflow", + "href": "https://github.com/orgs/langfuse/discussions/3755", + "created_at": "2024-10-15T06:54:12Z", + "upvotes": 3, + "comment_count": 1, + "resolved": false, "labels": [ - "feat-prompt-management", - "integration-litellm" + "integrations" ], "author": { - "login": "GildeshAbhay", - "html_url": "https://github.com/GildeshAbhay" + "login": "chuwe000", + "html_url": "https://github.com/chuwe000" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3779, - "title": "Annotation Queues and Session IDs and Datasets and LLM Security", - "href": "https://github.com/orgs/langfuse/discussions/3779", - "created_at": "2024-10-16T14:55:09Z", + "number": 3802, + "title": "Get Observation IDs of sub chains when using @observe decorator combined with Langchain", + "href": "https://github.com/orgs/langfuse/discussions/3802", + "created_at": "2024-10-14T14:22:38Z", "upvotes": 1, - "comment_count": 3, + "comment_count": 4, "resolved": false, - "labels": [], - "author": { - "login": "paolotamag", - "html_url": "https://github.com/paolotamag" + "labels": [ + "sdk-python", + "integration-langchain", + "integration-python-decorator" + ], + "author": { + "login": "guusfrenken-wk", + "html_url": "https://github.com/guusfrenken-wk" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3778, - "title": "Observe decorator not working with custom langchain model & custom langfuse callback handler", - "href": "https://github.com/orgs/langfuse/discussions/3778", - "created_at": "2024-10-16T12:36:02Z", + "number": 3725, + "title": "observe context manager", + "href": "https://github.com/orgs/langfuse/discussions/3725", + "created_at": "2024-10-12T07:33:09Z", "upvotes": 1, - "comment_count": 2, - "resolved": true, + "comment_count": 1, + "resolved": false, "labels": [], "author": { - "login": "FaresKi", - "html_url": "https://github.com/FaresKi" + "login": "eliorc", + "html_url": "https://github.com/eliorc" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3777, - "title": "Error when trying to upgrade my langfuse deployment", - "href": "https://github.com/orgs/langfuse/discussions/3777", - "created_at": "2024-10-16T09:25:53Z", - "upvotes": 2, + "number": 3723, + "title": "Terminal version of Langfuse (Langfuse CLI)", + "href": "https://github.com/orgs/langfuse/discussions/3723", + "created_at": "2024-10-11T21:06:48Z", + "upvotes": 3, "comment_count": 2, "resolved": false, - "labels": [ - "self-hosting" - ], - "author": { - "login": "nithin1995", - "html_url": "https://github.com/nithin1995" - }, - "category": "Support" - }, - { - "number": 3766, - "title": "Latency and total cost for runs are not computed", - "href": "https://github.com/orgs/langfuse/discussions/3766", - "created_at": "2024-10-15T21:38:15Z", - "upvotes": 1, - "comment_count": 3, - "resolved": true, "labels": [], "author": { - "login": "ldbolanos", - "html_url": "https://github.com/ldbolanos" + "login": "Shahin-rmz", + "html_url": "https://github.com/Shahin-rmz" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3764, - "title": "Best practices for tracing an app with history and tool usage", - "href": "https://github.com/orgs/langfuse/discussions/3764", - "created_at": "2024-10-15T21:27:34Z", - "upvotes": 2, - "comment_count": 3, - "resolved": true, + "number": 3681, + "title": "Evalution of a prompt by a LLM", + "href": "https://github.com/orgs/langfuse/discussions/3681", + "created_at": "2024-10-09T19:17:30Z", + "upvotes": 3, + "comment_count": 0, + "resolved": false, "labels": [ - "integration-openai" + "feat-prompt-management" ], "author": { - "login": "machulav", - "html_url": "https://github.com/machulav" + "login": "jannikmaierhoefer", + "html_url": "https://github.com/jannikmaierhoefer" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3756, - "title": "How to create an eval config for prompts using python api?", - "href": "https://github.com/orgs/langfuse/discussions/3756", - "created_at": "2024-10-15T09:20:06Z", - "upvotes": 1, - "comment_count": 2, - "resolved": true, + "number": 3663, + "title": "Dashboard: Add time to first token chart (ttft)", + "href": "https://github.com/orgs/langfuse/discussions/3663", + "created_at": "2024-10-08T23:56:42Z", + "upvotes": 6, + "comment_count": 0, + "resolved": false, "labels": [ - "feat-evals" + "feat-dashboard" ], "author": { - "login": "GildeshAbhay", - "html_url": "https://github.com/GildeshAbhay" + "login": "marcklingen", + "html_url": "https://github.com/marcklingen" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3737, - "title": "Monitoring for multi agent systems (OpenWebUI)", - "href": "https://github.com/orgs/langfuse/discussions/3737", - "created_at": "2024-10-14T16:50:17Z", - "upvotes": 1, - "comment_count": 3, - "resolved": true, - "labels": [ - "integration-openwebui" - ], + "number": 3646, + "title": "Table sorting and filtering in database runs", + "href": "https://github.com/orgs/langfuse/discussions/3646", + "created_at": "2024-10-08T11:13:52Z", + "upvotes": 2, + "comment_count": 0, + "resolved": false, + "labels": [], "author": { - "login": "OM-EL", - "html_url": "https://github.com/OM-EL" + "login": "FlorDonnaSanders", + "html_url": "https://github.com/FlorDonnaSanders" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3735, - "title": "Is it possible to use tools calling and structured output in the Prompts UI and Playground?", - "href": "https://github.com/orgs/langfuse/discussions/3735", - "created_at": "2024-10-14T16:43:23Z", + "number": 3618, + "title": "User Aliases", + "href": "https://github.com/orgs/langfuse/discussions/3618", + "created_at": "2024-10-07T07:51:49Z", "upvotes": 1, - "comment_count": 2, - "resolved": true, - "labels": [ - "feat-prompt-management", - "feat-playground" - ], + "comment_count": 1, + "resolved": false, + "labels": [], "author": { - "login": "mifopen", - "html_url": "https://github.com/mifopen" + "login": "FlorDonnaSanders", + "html_url": "https://github.com/FlorDonnaSanders" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3718, - "title": "How to delete a Session?", - "href": "https://github.com/orgs/langfuse/discussions/3718", - "created_at": "2024-10-11T14:51:46Z", - "upvotes": 1, - "comment_count": 2, - "resolved": true, - "labels": [ - "feat-sessions" - ], + "number": 3576, + "title": "feat: edit custom model definitions", + "href": "https://github.com/orgs/langfuse/discussions/3576", + "created_at": "2024-10-04T12:40:54Z", + "upvotes": 3, + "comment_count": 0, + "resolved": false, + "labels": [], "author": { - "login": "augustoolucas", - "html_url": "https://github.com/augustoolucas" + "login": "nialldevlin1", + "html_url": "https://github.com/nialldevlin1" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3717, - "title": "Llamaindex Workflow does't work with Instrumentation Module", - "href": "https://github.com/orgs/langfuse/discussions/3717", - "created_at": "2024-10-11T10:27:09Z", - "upvotes": 1, - "comment_count": 3, - "resolved": true, + "number": 3558, + "title": "Dashboard: split prompt/completion/total tokens", + "href": "https://github.com/orgs/langfuse/discussions/3558", + "created_at": "2024-10-02T02:17:47Z", + "upvotes": 6, + "comment_count": 0, + "resolved": false, "labels": [ - "integraton-llamaindex" + "feat-dashboard" ], "author": { - "login": "ntdanhtma", - "html_url": "https://github.com/ntdanhtma" + "login": "marcklingen", + "html_url": "https://github.com/marcklingen" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3698, - "title": "Can I use Amazon Bedrock for Langfuse Evals?", - "href": "https://github.com/orgs/langfuse/discussions/3698", - "created_at": "2024-10-10T15:34:48Z", - "upvotes": 1, - "comment_count": 5, - "resolved": true, - "labels": [ - "feat-evals", - "integration-amazon-bedrock" - ], + "number": 3551, + "title": "Metrics API to support the OpenMetrics format", + "href": "https://github.com/orgs/langfuse/discussions/3551", + "created_at": "2024-10-01T15:03:02Z", + "upvotes": 3, + "comment_count": 0, + "resolved": false, + "labels": [], "author": { - "login": "j10sanders", - "html_url": "https://github.com/j10sanders" + "login": "shukawam", + "html_url": "https://github.com/shukawam" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3679, - "title": "Langfuse / Langflow not intergrating", - "href": "https://github.com/orgs/langfuse/discussions/3679", - "created_at": "2024-10-09T17:06:32Z", - "upvotes": 1, - "comment_count": 2, + "number": 3550, + "title": "Asynchronous Langfuse Client.", + "href": "https://github.com/orgs/langfuse/discussions/3550", + "created_at": "2024-10-01T14:03:48Z", + "upvotes": 8, + "comment_count": 1, "resolved": false, "labels": [ - "integration-langflow" + "sdk-python" ], "author": { - "login": "colecal", - "html_url": "https://github.com/colecal" + "login": "fimselamse", + "html_url": "https://github.com/fimselamse" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3678, - "title": "Langfuse not tracing code from my VM (server)", - "href": "https://github.com/orgs/langfuse/discussions/3678", - "created_at": "2024-10-09T14:56:05Z", + "number": 3546, + "title": "Add SCIM support for user/role/identity management", + "href": "https://github.com/orgs/langfuse/discussions/3546", + "created_at": "2024-10-01T02:18:33Z", "upvotes": 1, "comment_count": 1, "resolved": false, "labels": [ - "self-hosting" + "feat-api", + "security" ], "author": { - "login": "akbar-mta", - "html_url": "https://github.com/akbar-mta" + "login": "marcklingen", + "html_url": "https://github.com/marcklingen" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3674, - "title": "Docs for K8s deployments", - "href": "https://github.com/orgs/langfuse/discussions/3674", - "created_at": "2024-10-09T09:52:05Z", + "number": 3538, + "title": "Vector search for datasets for few-shot prompting", + "href": "https://github.com/orgs/langfuse/discussions/3538", + "created_at": "2024-09-30T17:31:18Z", "upvotes": 1, - "comment_count": 2, - "resolved": true, + "comment_count": 1, + "resolved": false, "labels": [ - "self-hosting" + "feat-datasets" ], "author": { - "login": "Brant-lzh", - "html_url": "https://github.com/Brant-lzh" + "login": "antoniomdk", + "html_url": "https://github.com/antoniomdk" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3645, - "title": "Cannot Sign In or Sign Up to Local Langfuse Instance", - "href": "https://github.com/orgs/langfuse/discussions/3645", - "created_at": "2024-10-08T11:09:48Z", - "upvotes": 1, - "comment_count": 2, - "resolved": true, - "labels": [], + "number": 3529, + "title": "Sampling for JS/TS SDKs and integrations", + "href": "https://github.com/orgs/langfuse/discussions/3529", + "created_at": "2024-09-30T05:44:07Z", + "upvotes": 8, + "comment_count": 0, + "resolved": false, + "labels": [ + "feat-sampling" + ], "author": { - "login": "Patryk-Chlanda", - "html_url": "https://github.com/Patryk-Chlanda" + "login": "marcklingen", + "html_url": "https://github.com/marcklingen" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3641, - "title": "Sign in and Sign up button is greyed out", - "href": "https://github.com/orgs/langfuse/discussions/3641", - "created_at": "2024-10-08T09:32:16Z", + "number": 3528, + "title": "Add saved filters config", + "href": "https://github.com/orgs/langfuse/discussions/3528", + "created_at": "2024-09-30T05:36:44Z", "upvotes": 1, - "comment_count": 2, - "resolved": true, - "labels": [], + "comment_count": 1, + "resolved": false, + "labels": [ + "ui" + ], "author": { - "login": "akbar-mta", - "html_url": "https://github.com/akbar-mta" + "login": "emaugars12", + "html_url": "https://github.com/emaugars12" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3637, - "title": "Sign In Button Remains Disabled When Logging in with Email/Password on Langfuse Self-Hosted", - "href": "https://github.com/orgs/langfuse/discussions/3637", - "created_at": "2024-10-08T06:40:05Z", - "upvotes": 2, - "comment_count": 2, - "resolved": true, - "labels": [], + "number": 3527, + "title": "Show prompt-level aggregate metrics on the prompts table", + "href": "https://github.com/orgs/langfuse/discussions/3527", + "created_at": "2024-09-30T00:33:43Z", + "upvotes": 4, + "comment_count": 0, + "resolved": false, + "labels": [ + "feat-prompt-management" + ], "author": { - "login": "tubone24", - "html_url": "https://github.com/tubone24" + "login": "marcklingen", + "html_url": "https://github.com/marcklingen" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3615, - "title": "Failing with internal server error when trying to add score to a trace", - "href": "https://github.com/orgs/langfuse/discussions/3615", - "created_at": "2024-10-07T06:15:14Z", + "number": 3524, + "title": "Field-level selection for input/output filtering in decorator instead of using update_current_observation/trace", + "href": "https://github.com/orgs/langfuse/discussions/3524", + "created_at": "2024-09-29T08:28:45Z", "upvotes": 1, - "comment_count": 2, - "resolved": true, - "labels": [], + "comment_count": 4, + "resolved": false, + "labels": [ + "integration-python-decorator" + ], "author": { - "login": "nithin1995", - "html_url": "https://github.com/nithin1995" + "login": "amir-mic-lin", + "html_url": "https://github.com/amir-mic-lin" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3592, - "title": "Set trace_id in Langchain CallbackHandler", - "href": "https://github.com/orgs/langfuse/discussions/3592", - "created_at": "2024-10-05T11:09:30Z", + "number": 3508, + "title": "feat: organization level dashboard", + "href": "https://github.com/orgs/langfuse/discussions/3508", + "created_at": "2024-09-27T13:48:13Z", "upvotes": 1, "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [], "author": { - "login": "michaelpoluektov", - "html_url": "https://github.com/michaelpoluektov" + "login": "nialldevlin1", + "html_url": "https://github.com/nialldevlin1" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3574, - "title": "Automated provisioning of default resources in self hosting", - "href": "https://github.com/orgs/langfuse/discussions/3574", - "created_at": "2024-10-04T06:44:45Z", + "number": 3478, + "title": "TextGrad integration", + "href": "https://github.com/orgs/langfuse/discussions/3478", + "created_at": "2024-09-25T16:13:45Z", "upvotes": 1, - "comment_count": 2, - "resolved": true, + "comment_count": 1, + "resolved": false, "labels": [ - "self-hosting" + "integrations" ], "author": { - "login": "Harinisri29", - "html_url": "https://github.com/Harinisri29" + "login": "sakthi-geek", + "html_url": "https://github.com/sakthi-geek" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3569, - "title": "UnauthorizedError: No authorization header After Switching to Headless Initialization", - "href": "https://github.com/orgs/langfuse/discussions/3569", - "created_at": "2024-10-03T08:52:35Z", + "number": 3476, + "title": "Chart: usage/metrics grouped by tags", + "href": "https://github.com/orgs/langfuse/discussions/3476", + "created_at": "2024-09-25T13:54:14Z", "upvotes": 2, - "comment_count": 2, + "comment_count": 0, "resolved": false, - "labels": [], + "labels": [ + "feat-dashboard", + "feat-tags" + ], "author": { - "login": "chandel-aman", - "html_url": "https://github.com/chandel-aman" + "login": "marcklingen", + "html_url": "https://github.com/marcklingen" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3559, - "title": "Token Cost using OpenRouter", - "href": "https://github.com/orgs/langfuse/discussions/3559", - "created_at": "2024-10-02T05:25:14Z", - "upvotes": 1, - "comment_count": 1, - "resolved": true, - "labels": [], + "number": 3472, + "title": "Dashboard: add chart for unique users (MAU/WAU/DAU)", + "href": "https://github.com/orgs/langfuse/discussions/3472", + "created_at": "2024-09-25T11:37:30Z", + "upvotes": 2, + "comment_count": 0, + "resolved": false, + "labels": [ + "feat-dashboard", + "feat-users" + ], "author": { - "login": "austinm911", - "html_url": "https://github.com/austinm911" + "login": "marcklingen", + "html_url": "https://github.com/marcklingen" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3557, - "title": "Link 2 traces", - "href": "https://github.com/orgs/langfuse/discussions/3557", - "created_at": "2024-10-02T02:14:27Z", - "upvotes": 1, - "comment_count": 1, - "resolved": true, - "labels": [], + "number": 3447, + "title": "Playground: Move messages / add messages in-between others", + "href": "https://github.com/orgs/langfuse/discussions/3447", + "created_at": "2024-09-23T09:16:23Z", + "upvotes": 2, + "comment_count": 0, + "resolved": false, + "labels": [ + "feat-playground" + ], "author": { - "login": "saiprasath21", - "html_url": "https://github.com/saiprasath21" + "login": "jannikmaierhoefer", + "html_url": "https://github.com/jannikmaierhoefer" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3556, - "title": "Update a trace", - "href": "https://github.com/orgs/langfuse/discussions/3556", - "created_at": "2024-10-02T02:10:15Z", + "number": 3443, + "title": "Why not extend observeOpenAI to support message-level user id?", + "href": "https://github.com/orgs/langfuse/discussions/3443", + "created_at": "2024-09-21T23:57:57Z", "upvotes": 1, "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [], "author": { - "login": "saiprasath21", - "html_url": "https://github.com/saiprasath21" + "login": "derrickstaten", + "html_url": "https://github.com/derrickstaten" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3553, - "title": "How to track DSPy call within Langgraph", - "href": "https://github.com/orgs/langfuse/discussions/3553", - "created_at": "2024-10-01T20:00:11Z", - "upvotes": 1, - "comment_count": 1, + "number": 3439, + "title": "Filtering dataset items", + "href": "https://github.com/orgs/langfuse/discussions/3439", + "created_at": "2024-09-21T01:51:33Z", + "upvotes": 3, + "comment_count": 0, "resolved": false, "labels": [ - "integration-langchain", - "integration-dspy" + "feat-datasets" ], "author": { - "login": "marcklingen", - "html_url": "https://github.com/marcklingen" + "login": "emaugars12", + "html_url": "https://github.com/emaugars12" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3552, - "title": "LlamaIndex traces grouping", - "href": "https://github.com/orgs/langfuse/discussions/3552", - "created_at": "2024-10-01T18:35:11Z", - "upvotes": 1, - "comment_count": 2, - "resolved": true, + "number": 3438, + "title": "Support export for Dataset Items", + "href": "https://github.com/orgs/langfuse/discussions/3438", + "created_at": "2024-09-20T22:57:21Z", + "upvotes": 4, + "comment_count": 0, + "resolved": false, "labels": [ - "integraton-llamaindex" + "feat-datasets" ], "author": { - "login": "ivanviragine", - "html_url": "https://github.com/ivanviragine" + "login": "uladkaminski", + "html_url": "https://github.com/uladkaminski" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3549, - "title": "create api keys pair using some method or api", - "href": "https://github.com/orgs/langfuse/discussions/3549", - "created_at": "2024-10-01T11:45:12Z", + "number": 3436, + "title": "Prompt label promotion via api/sdk", + "href": "https://github.com/orgs/langfuse/discussions/3436", + "created_at": "2024-09-20T21:32:07Z", + "upvotes": 2, + "comment_count": 1, + "resolved": false, + "labels": [], + "author": { + "login": "mrdrprofuroboros", + "html_url": "https://github.com/mrdrprofuroboros" + }, + "category": "Ideas" + }, + { + "number": 3431, + "title": "3rd option for \"sharing\" traces publicly", + "href": "https://github.com/orgs/langfuse/discussions/3431", + "created_at": "2024-09-20T16:29:28Z", "upvotes": 1, - "comment_count": 2, - "resolved": true, - "labels": [ - "self-hosting" - ], + "comment_count": 0, + "resolved": false, + "labels": [], "author": { - "login": "ryanrib14", - "html_url": "https://github.com/ryanrib14" + "login": "jannikmaierhoefer", + "html_url": "https://github.com/jannikmaierhoefer" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3545, - "title": "How to Set Custom Trace ID with a Decorator and Include langfuse_observation_id?", - "href": "https://github.com/orgs/langfuse/discussions/3545", - "created_at": "2024-10-01T02:04:03Z", + "number": 3415, + "title": "Only use traces in the dataset to render score columns", + "href": "https://github.com/orgs/langfuse/discussions/3415", + "created_at": "2024-09-19T17:36:44Z", "upvotes": 1, - "comment_count": 2, - "resolved": true, + "comment_count": 1, + "resolved": false, "labels": [ - "integration-python-decorator" + "feat-datasets" ], "author": { - "login": "octadion", - "html_url": "https://github.com/octadion" + "login": "micahstairs", + "html_url": "https://github.com/micahstairs" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3540, - "title": "error ❌ tRPC failed on public.checkUpdate: Failed to fetch or json parse the latest releases Failed to fetch or json parse the latest releases", - "href": "https://github.com/orgs/langfuse/discussions/3540", - "created_at": "2024-09-30T20:29:22Z", + "number": 3412, + "title": "Source code versioning and automatic statistics caluclation from scores", + "href": "https://github.com/orgs/langfuse/discussions/3412", + "created_at": "2024-09-19T10:44:02Z", "upvotes": 1, "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [ - "self-hosting" + "feat-scores" ], "author": { - "login": "FaresKi", - "html_url": "https://github.com/FaresKi" + "login": "ge28yen", + "html_url": "https://github.com/ge28yen" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3531, - "title": "is it possible to assign a label to an existing prompt via API/SDK ?", - "href": "https://github.com/orgs/langfuse/discussions/3531", - "created_at": "2024-09-30T07:49:28Z", - "upvotes": 1, - "comment_count": 2, - "resolved": true, + "number": 3409, + "title": "Add graph view for LangGraph traces", + "href": "https://github.com/orgs/langfuse/discussions/3409", + "created_at": "2024-09-19T07:55:02Z", + "upvotes": 5, + "comment_count": 1, + "resolved": false, "labels": [ - "feat-prompt-management" + "integration-langchain" ], "author": { - "login": "simicvm", - "html_url": "https://github.com/simicvm" + "login": "hassiebp", + "html_url": "https://github.com/hassiebp" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3525, - "title": "Applying database migrations failed. This is mostly caused by the database being unavailable", - "href": "https://github.com/orgs/langfuse/discussions/3525", - "created_at": "2024-09-29T11:14:04Z", - "upvotes": 1, + "number": 3402, + "title": "Mask / redact PII from traces logged to langfuse", + "href": "https://github.com/orgs/langfuse/discussions/3402", + "created_at": "2024-09-18T21:04:06Z", + "upvotes": 6, "comment_count": 3, "resolved": false, "labels": [ - "self-hosting" + "✅ Done", + "security" ], "author": { - "login": "NanthagopalEswaran", - "html_url": "https://github.com/NanthagopalEswaran" + "login": "marcklingen", + "html_url": "https://github.com/marcklingen" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3521, - "title": "is it open source or not?", - "href": "https://github.com/orgs/langfuse/discussions/3521", - "created_at": "2024-09-27T22:07:52Z", + "number": 3401, + "title": "Make compile and get_langchain_prompt interoperable when using a prompt from langfuse in langchain", + "href": "https://github.com/orgs/langfuse/discussions/3401", + "created_at": "2024-09-18T21:03:20Z", "upvotes": 1, - "comment_count": 1, - "resolved": true, - "labels": [], + "comment_count": 2, + "resolved": false, + "labels": [ + "feat-prompt-management", + "integration-langchain", + "✅ Done" + ], "author": { - "login": "severfire", - "html_url": "https://github.com/severfire" + "login": "ajram23", + "html_url": "https://github.com/ajram23" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3520, - "title": "Langfuse not logging costs on Vertex AI gemini-1.5-flash-002.", - "href": "https://github.com/orgs/langfuse/discussions/3520", - "created_at": "2024-09-27T18:51:08Z", - "upvotes": 1, - "comment_count": 1, - "resolved": true, + "number": 3396, + "title": "Better mustache/jinja support in langfuse playground", + "href": "https://github.com/orgs/langfuse/discussions/3396", + "created_at": "2024-09-18T11:54:28Z", + "upvotes": 3, + "comment_count": 2, + "resolved": false, "labels": [ - "integraton-llamaindex" + "feat-playground" ], "author": { - "login": "arthurbrenno", - "html_url": "https://github.com/arthurbrenno" + "login": "FlorDonnaSanders", + "html_url": "https://github.com/FlorDonnaSanders" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3503, - "title": "Not possible to delete prompts programmatically, (langfuse python library or api)", - "href": "https://github.com/orgs/langfuse/discussions/3503", - "created_at": "2024-09-27T12:33:52Z", + "number": 3395, + "title": "Add fine-grained filtering options in python `fetch_traces` API to match web UI", + "href": "https://github.com/orgs/langfuse/discussions/3395", + "created_at": "2024-09-18T11:18:20Z", "upvotes": 2, - "comment_count": 2, - "resolved": true, - "labels": [ - "feat-prompt-management" - ], + "comment_count": 0, + "resolved": false, + "labels": [], "author": { - "login": "RealGammaNL", - "html_url": "https://github.com/RealGammaNL" + "login": "evangriffiths", + "html_url": "https://github.com/evangriffiths" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3496, - "title": "Unable to fetch prompts without production label", - "href": "https://github.com/orgs/langfuse/discussions/3496", - "created_at": "2024-09-27T03:27:52Z", + "number": 3376, + "title": "Allow LangchainCallbackHandler to specify custom input/output?", + "href": "https://github.com/orgs/langfuse/discussions/3376", + "created_at": "2024-09-16T23:45:18Z", "upvotes": 1, "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [ - "feat-prompt-management" + "integration-langchain" ], "author": { - "login": "chandel-aman", - "html_url": "https://github.com/chandel-aman" + "login": "xxkennyxu", + "html_url": "https://github.com/xxkennyxu" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3489, - "title": "Missing input/output on trace when using openai js integration", - "href": "https://github.com/orgs/langfuse/discussions/3489", - "created_at": "2024-09-26T15:36:06Z", - "upvotes": 1, - "comment_count": 2, + "number": 3375, + "title": "Promptfoo integration", + "href": "https://github.com/orgs/langfuse/discussions/3375", + "created_at": "2024-09-16T23:34:34Z", + "upvotes": 2, + "comment_count": 1, "resolved": false, "labels": [ - "integration-openai" + "integrations" ], "author": { - "login": "dimitrydesilias", - "html_url": "https://github.com/dimitrydesilias" + "login": "aiseei", + "html_url": "https://github.com/aiseei" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3486, - "title": "Bind all multiple hierarchical call against session-id instead of opening multiple threads", - "href": "https://github.com/orgs/langfuse/discussions/3486", - "created_at": "2024-09-26T06:31:20Z", - "upvotes": 1, - "comment_count": 3, - "resolved": true, + "number": 3367, + "title": "Default closed dropdown view in trace details", + "href": "https://github.com/orgs/langfuse/discussions/3367", + "created_at": "2024-09-16T12:47:26Z", + "upvotes": 2, + "comment_count": 1, + "resolved": false, "labels": [ - "integration-python-decorator" + "ui" ], "author": { - "login": "ajeet6261", - "html_url": "https://github.com/ajeet6261" + "login": "jannikmaierhoefer", + "html_url": "https://github.com/jannikmaierhoefer" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3485, - "title": "How to avoid memory leaks due to LangchainCallbackHandler while using userId and sessionId", - "href": "https://github.com/orgs/langfuse/discussions/3485", - "created_at": "2024-09-26T00:07:14Z", - "upvotes": 1, - "comment_count": 6, - "resolved": true, + "number": 3363, + "title": "Dashboard: TPM chart", + "href": "https://github.com/orgs/langfuse/discussions/3363", + "created_at": "2024-09-16T07:53:52Z", + "upvotes": 2, + "comment_count": 1, + "resolved": false, "labels": [ - "integration-langchain", - "feat-users", - "feat-sessions" + "feat-dashboard" ], "author": { - "login": "Chengdyc", - "html_url": "https://github.com/Chengdyc" + "login": "afonsomatos", + "html_url": "https://github.com/afonsomatos" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3480, - "title": "How to provide a TLS Cert for PGSQL cloud connection in Langfuse docker container?", - "href": "https://github.com/orgs/langfuse/discussions/3480", - "created_at": "2024-09-25T20:44:17Z", + "number": 3361, + "title": "Group Similar or Consecutive Traces", + "href": "https://github.com/orgs/langfuse/discussions/3361", + "created_at": "2024-09-16T05:38:40Z", "upvotes": 1, - "comment_count": 2, - "resolved": true, - "labels": [ - "self-hosting" - ], + "comment_count": 1, + "resolved": false, + "labels": [], "author": { - "login": "barvhaim", - "html_url": "https://github.com/barvhaim" + "login": "rvndbalaji", + "html_url": "https://github.com/rvndbalaji" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3477, - "title": "LangFuse Low Level SDK does not render images by passing the link", - "href": "https://github.com/orgs/langfuse/discussions/3477", - "created_at": "2024-09-25T15:15:54Z", + "number": 3358, + "title": "More customization in graphs and dashboard panels", + "href": "https://github.com/orgs/langfuse/discussions/3358", + "created_at": "2024-09-14T03:12:38Z", "upvotes": 1, "comment_count": 1, "resolved": false, "labels": [ - "feat-multimodal" + "feat-dashboard" ], "author": { - "login": "VikramShenoy97", - "html_url": "https://github.com/VikramShenoy97" + "login": "emaugars12", + "html_url": "https://github.com/emaugars12" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3469, - "title": "raise exception when handle_span_events", - "href": "https://github.com/orgs/langfuse/discussions/3469", - "created_at": "2024-09-25T00:56:32Z", - "upvotes": 1, - "comment_count": 2, + "number": 3352, + "title": "LLM Based Evaluation - more control with mapping a variable e.g. {{query}}, {{ground_truth}} etc inside of Input/Output/Metadata observation", + "href": "https://github.com/orgs/langfuse/discussions/3352", + "created_at": "2024-09-13T16:58:05Z", + "upvotes": 2, + "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "nightosong", - "html_url": "https://github.com/nightosong" + "login": "stepanogil", + "html_url": "https://github.com/stepanogil" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3466, - "title": "How to get costs associated with an API call / user?", - "href": "https://github.com/orgs/langfuse/discussions/3466", - "created_at": "2024-09-24T19:33:56Z", + "number": 3351, + "title": "Support for Firebase Genkit", + "href": "https://github.com/orgs/langfuse/discussions/3351", + "created_at": "2024-09-13T16:29:07Z", "upvotes": 1, "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [ - "feat-users", - "feat-cost-tracking" + "integrations" ], "author": { - "login": "punkpeye", - "html_url": "https://github.com/punkpeye" + "login": "debkanchan", + "html_url": "https://github.com/debkanchan" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3465, - "title": "How to run langfuse locally while using a hosted database", - "href": "https://github.com/orgs/langfuse/discussions/3465", - "created_at": "2024-09-24T14:24:29Z", - "upvotes": 1, - "comment_count": 1, - "resolved": true, + "number": 3338, + "title": "o1-preview and o1-mini support", + "href": "https://github.com/orgs/langfuse/discussions/3338", + "created_at": "2024-09-13T07:16:22Z", + "upvotes": 2, + "comment_count": 3, + "resolved": false, "labels": [ - "self-hosting" + "✅ Done" ], "author": { - "login": "wil0u", - "html_url": "https://github.com/wil0u" + "login": "juan-abia", + "html_url": "https://github.com/juan-abia" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3462, - "title": "how to set user_id or session_id in trace?", - "href": "https://github.com/orgs/langfuse/discussions/3462", - "created_at": "2024-09-24T08:34:59Z", + "number": 3336, + "title": "Add Notification for / in Comments Objects", + "href": "https://github.com/orgs/langfuse/discussions/3336", + "created_at": "2024-09-13T00:04:16Z", "upvotes": 1, - "comment_count": 2, - "resolved": true, - "labels": [ - "integration-python-decorator", - "feat-users", - "feat-sessions" - ], - "author": { - "login": "yumc2573", - "html_url": "https://github.com/yumc2573" - }, - "category": "Support" - }, - { - "number": 3460, - "title": "Langfuse observation for openai embeddings method", - "href": "https://github.com/orgs/langfuse/discussions/3460", - "created_at": "2024-09-24T06:01:06Z", - "upvotes": 2, - "comment_count": 2, - "resolved": true, + "comment_count": 1, + "resolved": false, "labels": [ - "integration-openai", - "integration-python-decorator", - "feat-cost-tracking" + "feat-comments" ], "author": { - "login": "simrangulati-jktech", - "html_url": "https://github.com/simrangulati-jktech" + "login": "Zugunruhekami", + "html_url": "https://github.com/Zugunruhekami" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3446, - "title": "Right way to migrate langfuse deployed on K8s within an AWS account", - "href": "https://github.com/orgs/langfuse/discussions/3446", - "created_at": "2024-09-23T06:32:02Z", + "number": 3335, + "title": "Extend Searchability (through filter) for Comments Objects", + "href": "https://github.com/orgs/langfuse/discussions/3335", + "created_at": "2024-09-12T23:58:17Z", "upvotes": 1, - "comment_count": 1, - "resolved": true, + "comment_count": 0, + "resolved": false, "labels": [ - "self-hosting" + "feat-comments" ], "author": { - "login": "nithin1995", - "html_url": "https://github.com/nithin1995" + "login": "Zugunruhekami", + "html_url": "https://github.com/Zugunruhekami" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3435, - "title": "Langfuse is inconsistently generating span latencies table in traces greater than 36K entiries", - "href": "https://github.com/orgs/langfuse/discussions/3435", - "created_at": "2024-09-20T18:54:28Z", - "upvotes": 1, + "number": 3291, + "title": "Filter by error in sub span", + "href": "https://github.com/orgs/langfuse/discussions/3291", + "created_at": "2024-09-10T13:20:11Z", + "upvotes": 2, "comment_count": 3, - "resolved": true, - "labels": [], + "resolved": false, + "labels": [ + "✅ Done", + "feat-log-levels" + ], "author": { - "login": "databloom", - "html_url": "https://github.com/databloom" + "login": "bettlebrox", + "html_url": "https://github.com/bettlebrox" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3429, - "title": "Async version of Langfuse.get_prompt", - "href": "https://github.com/orgs/langfuse/discussions/3429", - "created_at": "2024-09-20T14:26:51Z", + "number": 3289, + "title": "Deleting old, unused tags or making them unseen if weren't used in the chosen time window.", + "href": "https://github.com/orgs/langfuse/discussions/3289", + "created_at": "2024-09-10T12:56:43Z", "upvotes": 1, "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [ - "feat-prompt-management" + "feat-tags" ], "author": { - "login": "antoniomdk", - "html_url": "https://github.com/antoniomdk" + "login": "constalozinschi", + "html_url": "https://github.com/constalozinschi" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3420, - "title": "Help setting up GCP host (cloudbuild or console)", - "href": "https://github.com/orgs/langfuse/discussions/3420", - "created_at": "2024-09-20T04:34:35Z", - "upvotes": 1, - "comment_count": 3, + "number": 3285, + "title": "SDK-JS: Allow to delete one or more trace", + "href": "https://github.com/orgs/langfuse/discussions/3285", + "created_at": "2024-09-10T09:26:04Z", + "upvotes": 5, + "comment_count": 2, "resolved": false, "labels": [ - "self-hosting" + "sdk-js" ], "author": { - "login": "elliottower", - "html_url": "https://github.com/elliottower" + "login": "Lunik", + "html_url": "https://github.com/Lunik" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3410, - "title": "Configuring Evaluation with \"Correctness\" Template & Python Code Invocation", - "href": "https://github.com/orgs/langfuse/discussions/3410", - "created_at": "2024-09-19T09:44:42Z", - "upvotes": 1, - "comment_count": 3, - "resolved": true, + "number": 3276, + "title": "Retrieve the trace by metdata", + "href": "https://github.com/orgs/langfuse/discussions/3276", + "created_at": "2024-09-09T20:51:08Z", + "upvotes": 3, + "comment_count": 0, + "resolved": false, "labels": [ - "feat-scores" + "feat-metadata" ], "author": { - "login": "zoulou00", - "html_url": "https://github.com/zoulou00" + "login": "gingerjx", + "html_url": "https://github.com/gingerjx" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3406, - "title": "Module not found: Can't resolve '@langfuse'", - "href": "https://github.com/orgs/langfuse/discussions/3406", - "created_at": "2024-09-19T05:57:04Z", - "upvotes": 1, - "comment_count": 1, - "resolved": true, + "number": 3275, + "title": "Include metrics and scores in getDatasetRun / `GET /api/public/datasets/{datasetName}/runs/{runName}`", + "href": "https://github.com/orgs/langfuse/discussions/3275", + "created_at": "2024-09-09T20:48:16Z", + "upvotes": 3, + "comment_count": 0, + "resolved": false, "labels": [ - "self-hosting" + "feat-datasets" ], "author": { - "login": "christosuster", - "html_url": "https://github.com/christosuster" + "login": "gingerjx", + "html_url": "https://github.com/gingerjx" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3397, - "title": "tokens and usage cost", - "href": "https://github.com/orgs/langfuse/discussions/3397", - "created_at": "2024-09-18T13:05:07Z", + "number": 3273, + "title": "Custom Themes", + "href": "https://github.com/orgs/langfuse/discussions/3273", + "created_at": "2024-09-09T15:08:25Z", "upvotes": 1, - "comment_count": 2, - "resolved": true, - "labels": [ - "feat-cost-tracking" - ], + "comment_count": 1, + "resolved": false, + "labels": [], "author": { - "login": "Karanaiinfox", - "html_url": "https://github.com/Karanaiinfox" + "login": "rvndbalaji", + "html_url": "https://github.com/rvndbalaji" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3393, - "title": "Self-Host evaluation feature", - "href": "https://github.com/orgs/langfuse/discussions/3393", - "created_at": "2024-09-18T07:55:30Z", + "number": 3263, + "title": "Comment API", + "href": "https://github.com/orgs/langfuse/discussions/3263", + "created_at": "2024-09-07T05:53:31Z", "upvotes": 1, - "comment_count": 2, - "resolved": true, + "comment_count": 1, + "resolved": false, "labels": [ - "feat-evals" + "feat-api", + "feat-datasets" ], "author": { - "login": "MayankBitcot", - "html_url": "https://github.com/MayankBitcot" + "login": "darvin", + "html_url": "https://github.com/darvin" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3392, - "title": "not able to track entire request end to end in langchain + langfuse", - "href": "https://github.com/orgs/langfuse/discussions/3392", - "created_at": "2024-09-18T07:08:49Z", - "upvotes": 1, + "number": 3256, + "title": "Integration with LangChain4j", + "href": "https://github.com/orgs/langfuse/discussions/3256", + "created_at": "2024-09-06T15:50:51Z", + "upvotes": 2, "comment_count": 2, "resolved": false, "labels": [ + "integrations", + "feat-prompt-management", "integration-langchain" ], "author": { - "login": "jaiswalvineet", - "html_url": "https://github.com/jaiswalvineet" + "login": "ruizrube", + "html_url": "https://github.com/ruizrube" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3379, - "title": "Feedback for “Langfuse Documentation”", - "href": "https://github.com/orgs/langfuse/discussions/3379", - "created_at": "2024-09-17T07:44:56Z", + "number": 3252, + "title": "Need to retain the old evaluation history results, including input and all ground truth", + "href": "https://github.com/orgs/langfuse/discussions/3252", + "created_at": "2024-09-06T03:29:17Z", "upvotes": 1, - "comment_count": 3, + "comment_count": 1, "resolved": false, - "labels": [], + "labels": [ + "feat-datasets" + ], "author": { - "login": "Preet1234-ux", - "html_url": "https://github.com/Preet1234-ux" + "login": "serlina", + "html_url": "https://github.com/serlina" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3364, - "title": "Hey want to change the Eval Templates name, can we do it from UI", - "href": "https://github.com/orgs/langfuse/discussions/3364", - "created_at": "2024-09-16T08:07:30Z", - "upvotes": 1, - "comment_count": 3, - "resolved": true, + "number": 3243, + "title": "Add organization / project / user / API key management API", + "href": "https://github.com/orgs/langfuse/discussions/3243", + "created_at": "2024-09-05T08:10:12Z", + "upvotes": 9, + "comment_count": 5, + "resolved": false, "labels": [ - "feat-evals" + "self-hosting" ], "author": { - "login": "divyanshubhuta", - "html_url": "https://github.com/divyanshubhuta" + "login": "EricAntidot", + "html_url": "https://github.com/EricAntidot" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3344, - "title": "How to use langfuse with LangGraph Studio", - "href": "https://github.com/orgs/langfuse/discussions/3344", - "created_at": "2024-09-13T11:35:53Z", - "upvotes": 1, - "comment_count": 2, + "number": 3240, + "title": "Ability to export all traces/sessions/scores from langfuse and import back to another langfuse instance", + "href": "https://github.com/orgs/langfuse/discussions/3240", + "created_at": "2024-09-05T07:11:48Z", + "upvotes": 5, + "comment_count": 1, "resolved": false, "labels": [ - "integration-langchain" + "self-hosting" ], "author": { - "login": "debkanchan", - "html_url": "https://github.com/debkanchan" + "login": "SinghCoder", + "html_url": "https://github.com/SinghCoder" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3321, - "title": "Session ids for Langserve", - "href": "https://github.com/orgs/langfuse/discussions/3321", - "created_at": "2024-09-11T22:40:01Z", - "upvotes": 1, - "comment_count": 1, + "number": 3237, + "title": "Support for Selecting Specific Paths from JSON Objects in Evaluation Prompts", + "href": "https://github.com/orgs/langfuse/discussions/3237", + "created_at": "2024-09-05T05:05:48Z", + "upvotes": 2, + "comment_count": 2, "resolved": false, "labels": [ - "integration-langchain", - "feat-sessions" + "feat-evals" ], "author": { - "login": "YaphetKG", - "html_url": "https://github.com/YaphetKG" + "login": "divyanshubhuta", + "html_url": "https://github.com/divyanshubhuta" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3313, - "title": "how to pass custom user managed model name to calculate the cost via langchain", - "href": "https://github.com/orgs/langfuse/discussions/3313", - "created_at": "2024-09-11T13:25:48Z", - "upvotes": 1, - "comment_count": 3, - "resolved": true, + "number": 3220, + "title": "Trace Logprobs from OpenAI models", + "href": "https://github.com/orgs/langfuse/discussions/3220", + "created_at": "2024-09-04T01:25:15Z", + "upvotes": 2, + "comment_count": 0, + "resolved": false, "labels": [ - "integration-langchain", - "feat-cost-tracking" + "integration-openai" ], "author": { - "login": "jaiswalvineet", - "html_url": "https://github.com/jaiswalvineet" + "login": "yusuke-intern", + "html_url": "https://github.com/yusuke-intern" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3308, - "title": "Automated Prompt Management across Environments", - "href": "https://github.com/orgs/langfuse/discussions/3308", - "created_at": "2024-09-11T09:31:26Z", - "upvotes": 1, - "comment_count": 1, - "resolved": true, - "labels": [ - "feat-prompt-management" - ], + "number": 3215, + "title": "(ui) Ability to hide \"scores\" column", + "href": "https://github.com/orgs/langfuse/discussions/3215", + "created_at": "2024-09-03T15:34:14Z", + "upvotes": 2, + "comment_count": 2, + "resolved": false, + "labels": [], "author": { - "login": "jonnyforsterMSG", - "html_url": "https://github.com/jonnyforsterMSG" + "login": "marctorsoc", + "html_url": "https://github.com/marctorsoc" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3307, - "title": "DataSet Scores are not being displayed", - "href": "https://github.com/orgs/langfuse/discussions/3307", - "created_at": "2024-09-11T08:46:31Z", + "number": 3212, + "title": "Dataset run description and metadata should not be fixed on the page", + "href": "https://github.com/orgs/langfuse/discussions/3212", + "created_at": "2024-09-03T12:30:34Z", "upvotes": 1, - "comment_count": 3, - "resolved": true, + "comment_count": 1, + "resolved": false, "labels": [ "feat-datasets" ], "author": { - "login": "MaxYaz", - "html_url": "https://github.com/MaxYaz" + "login": "justinas-kazanavicius", + "html_url": "https://github.com/justinas-kazanavicius" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3305, - "title": "bug: cost usage are not getting captured automatically from llm response", - "href": "https://github.com/orgs/langfuse/discussions/3305", - "created_at": "2024-09-11T05:02:03Z", - "upvotes": 1, + "number": 3208, + "title": "Support for exporting traces to CSV/JSON", + "href": "https://github.com/orgs/langfuse/discussions/3208", + "created_at": "2024-09-03T08:00:36Z", + "upvotes": 4, "comment_count": 2, "resolved": false, - "labels": [], + "labels": [ + "✅ Done" + ], "author": { - "login": "ajeet6261", - "html_url": "https://github.com/ajeet6261" + "login": "david1542", + "html_url": "https://github.com/david1542" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3271, - "title": "Understanding pricing model (self-hosting vs cloud serving) from security perspective", - "href": "https://github.com/orgs/langfuse/discussions/3271", - "created_at": "2024-09-09T14:07:32Z", + "number": 3194, + "title": "Optionally set timestamp when creating a score", + "href": "https://github.com/orgs/langfuse/discussions/3194", + "created_at": "2024-09-02T15:20:20Z", "upvotes": 1, - "comment_count": 2, + "comment_count": 1, "resolved": false, - "labels": [], + "labels": [ + "feat-api", + "feat-scores" + ], "author": { - "login": "uahmad235", - "html_url": "https://github.com/uahmad235" + "login": "FlorDonnaSanders", + "html_url": "https://github.com/FlorDonnaSanders" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3267, - "title": "python decorator grouping in trace when using FastAPI Server Sent Events and Langraph + custom function", - "href": "https://github.com/orgs/langfuse/discussions/3267", - "created_at": "2024-09-09T11:10:00Z", + "number": 3186, + "title": "Setting trace ID and parent observation ID with Python decorator SDK", + "href": "https://github.com/orgs/langfuse/discussions/3186", + "created_at": "2024-09-02T09:27:36Z", "upvotes": 1, - "comment_count": 4, + "comment_count": 3, "resolved": false, "labels": [ - "integration-langchain", + "✅ Done", "integration-python-decorator" ], "author": { - "login": "lixxvsky", - "html_url": "https://github.com/lixxvsky" + "login": "MrOrz", + "html_url": "https://github.com/MrOrz" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3254, - "title": "Vercel AI SDK and Svelte. How to push traces intermittently back to langfuse", - "href": "https://github.com/orgs/langfuse/discussions/3254", - "created_at": "2024-09-06T13:37:17Z", + "number": 3181, + "title": "Log only metadata", + "href": "https://github.com/orgs/langfuse/discussions/3181", + "created_at": "2024-08-31T18:31:11Z", + "upvotes": 2, + "comment_count": 0, + "resolved": false, + "labels": [], + "author": { + "login": "jan-kubica", + "html_url": "https://github.com/jan-kubica" + }, + "category": "Ideas" + }, + { + "number": 3178, + "title": "The display time on the x-axis of the chart in the Dashboard shows only the date, without hours, minutes, and seconds.", + "href": "https://github.com/orgs/langfuse/discussions/3178", + "created_at": "2024-08-31T04:09:07Z", "upvotes": 1, "comment_count": 1, "resolved": false, "labels": [ - "integration-vercel-ai-sdk" + "bug", + "✅ Done", + "feat-dashboard" ], "author": { - "login": "oghaAI", - "html_url": "https://github.com/oghaAI" + "login": "HGladiator", + "html_url": "https://github.com/HGladiator" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3210, - "title": "When using callbacks, the langfuse_context.update_current_trace method does not function properly.", - "href": "https://github.com/orgs/langfuse/discussions/3210", - "created_at": "2024-09-03T10:29:29Z", - "upvotes": 1, - "comment_count": 4, + "number": 3166, + "title": "Support Tool Calls / Functions in Playground", + "href": "https://github.com/orgs/langfuse/discussions/3166", + "created_at": "2024-08-30T20:04:34Z", + "upvotes": 15, + "comment_count": 10, "resolved": false, - "labels": [], + "labels": [ + "feat-playground" + ], "author": { - "login": "hgliyuhao", - "html_url": "https://github.com/hgliyuhao" + "login": "yuyuma", + "html_url": "https://github.com/yuyuma" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3207, - "title": "change of data region", - "href": "https://github.com/orgs/langfuse/discussions/3207", - "created_at": "2024-09-03T06:06:48Z", - "upvotes": 1, - "comment_count": 1, - "resolved": true, + "number": 3147, + "title": "Add the ability to search by message words in traces and scores", + "href": "https://github.com/orgs/langfuse/discussions/3147", + "created_at": "2024-08-30T08:02:32Z", + "upvotes": 4, + "comment_count": 0, + "resolved": false, "labels": [], "author": { - "login": "divyanshubhuta", - "html_url": "https://github.com/divyanshubhuta" + "login": "ValentinKovalev", + "html_url": "https://github.com/ValentinKovalev" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3191, - "title": "Evaluation config setup related query", - "href": "https://github.com/orgs/langfuse/discussions/3191", - "created_at": "2024-09-02T14:48:01Z", - "upvotes": 1, - "comment_count": 2, + "number": 3131, + "title": "Diff of prompt versions", + "href": "https://github.com/orgs/langfuse/discussions/3131", + "created_at": "2024-08-29T11:43:24Z", + "upvotes": 6, + "comment_count": 1, "resolved": false, - "labels": [], + "labels": [ + "feat-prompt-management" + ], "author": { - "login": "divyanshubhuta", - "html_url": "https://github.com/divyanshubhuta" + "login": "dylanjcastillo", + "html_url": "https://github.com/dylanjcastillo" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3182, - "title": "What does `version` means when ingesting trace?", - "href": "https://github.com/orgs/langfuse/discussions/3182", - "created_at": "2024-08-31T20:44:26Z", - "upvotes": 1, + "number": 3129, + "title": "The LangchainCallbackHandler supports statistical delay of the first token", + "href": "https://github.com/orgs/langfuse/discussions/3129", + "created_at": "2024-08-29T09:26:11Z", + "upvotes": 3, "comment_count": 2, - "resolved": true, - "labels": [], + "resolved": false, + "labels": [ + "integration-langchain", + "✅ Done" + ], "author": { - "login": "STRRL", - "html_url": "https://github.com/STRRL" + "login": "Hacky-DH", + "html_url": "https://github.com/Hacky-DH" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3176, - "title": "Get all the generations, events, etc. under Trace", - "href": "https://github.com/orgs/langfuse/discussions/3176", - "created_at": "2024-08-31T02:10:28Z", + "number": 3112, + "title": "Request Role elevation from Langfuse UI", + "href": "https://github.com/orgs/langfuse/discussions/3112", + "created_at": "2024-08-28T13:15:21Z", "upvotes": 1, - "comment_count": 1, - "resolved": true, - "labels": [], + "comment_count": 0, + "resolved": false, + "labels": [ + "feat-rbac" + ], "author": { - "login": "bytecod3r", - "html_url": "https://github.com/bytecod3r" + "login": "thund3rbrd", + "html_url": "https://github.com/thund3rbrd" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3168, - "title": "usage pattern for new llamaindex integration", - "href": "https://github.com/orgs/langfuse/discussions/3168", - "created_at": "2024-08-30T20:23:17Z", + "number": 3111, + "title": "Improve RBAC", + "href": "https://github.com/orgs/langfuse/discussions/3111", + "created_at": "2024-08-28T13:08:57Z", "upvotes": 1, - "comment_count": 2, - "resolved": true, + "comment_count": 0, + "resolved": false, "labels": [ - "integraton-llamaindex" + "feat-rbac" ], "author": { - "login": "erik-squared", - "html_url": "https://github.com/erik-squared" + "login": "thund3rbrd", + "html_url": "https://github.com/thund3rbrd" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3132, - "title": "Tracing ChatGoogleGenerativeAI calls in langchain doesn't return usage metadata", - "href": "https://github.com/orgs/langfuse/discussions/3132", - "created_at": "2024-08-29T13:09:13Z", - "upvotes": 1, + "number": 3074, + "title": "Add \"image_url\" to Langfuse Prompt types.", + "href": "https://github.com/orgs/langfuse/discussions/3074", + "created_at": "2024-08-26T11:54:32Z", + "upvotes": 2, "comment_count": 1, "resolved": false, "labels": [ - "integration-langchain" + "feat-prompt-management" ], "author": { - "login": "NeerajG03", - "html_url": "https://github.com/NeerajG03" + "login": "grobruegge", + "html_url": "https://github.com/grobruegge" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3124, - "title": "Generation does not come under @observe trace", - "href": "https://github.com/orgs/langfuse/discussions/3124", - "created_at": "2024-08-29T00:28:14Z", + "number": 3062, + "title": "Support for OpenAI.client.chat.completions.with_raw_response", + "href": "https://github.com/orgs/langfuse/discussions/3062", + "created_at": "2024-08-24T12:55:39Z", "upvotes": 1, - "comment_count": 2, - "resolved": true, - "labels": [], + "comment_count": 1, + "resolved": false, + "labels": [ + "integration-openai" + ], "author": { - "login": "SatheeshJM", - "html_url": "https://github.com/SatheeshJM" + "login": "aman-gupta-doc", + "html_url": "https://github.com/aman-gupta-doc" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3120, - "title": "Langfuse 2.74.0 integration with Flowise 2.0.5", - "href": "https://github.com/orgs/langfuse/discussions/3120", - "created_at": "2024-08-28T20:18:19Z", - "upvotes": 1, + "number": 3053, + "title": "Being able to link Prompts with Traces when using the LangChain integration", + "href": "https://github.com/orgs/langfuse/discussions/3053", + "created_at": "2024-08-23T13:14:21Z", + "upvotes": 2, "comment_count": 2, "resolved": false, - "labels": [], + "labels": [ + "✅ Done" + ], "author": { - "login": "harshad-c1", - "html_url": "https://github.com/harshad-c1" + "login": "jonnyforsterMSG", + "html_url": "https://github.com/jonnyforsterMSG" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3110, - "title": "How to set SMTP_CONNECTION_URL and reset password?", - "href": "https://github.com/orgs/langfuse/discussions/3110", - "created_at": "2024-08-28T10:05:06Z", - "upvotes": 1, - "comment_count": 2, - "resolved": true, - "labels": [], + "number": 3050, + "title": "Implement dataset removal method", + "href": "https://github.com/orgs/langfuse/discussions/3050", + "created_at": "2024-08-23T11:40:13Z", + "upvotes": 4, + "comment_count": 0, + "resolved": false, + "labels": [ + "feat-datasets" + ], "author": { - "login": "zs856", - "html_url": "https://github.com/zs856" + "login": "justinas-kazanavicius", + "html_url": "https://github.com/justinas-kazanavicius" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3105, - "title": "Dockerfile of langfuse/langfuse:2 image", - "href": "https://github.com/orgs/langfuse/discussions/3105", - "created_at": "2024-08-28T00:13:57Z", - "upvotes": 1, - "comment_count": 2, - "resolved": true, + "number": 3023, + "title": "Track openai token usage from stream_options instead of tokenizing the response server-side", + "href": "https://github.com/orgs/langfuse/discussions/3023", + "created_at": "2024-08-22T17:08:08Z", + "upvotes": 3, + "comment_count": 3, + "resolved": false, "labels": [ - "self-hosting" + "integration-openai", + "✅ Done", + "feat-cost-tracking" ], "author": { - "login": "pparreira", - "html_url": "https://github.com/pparreira" + "login": "kilimchoi", + "html_url": "https://github.com/kilimchoi" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3100, - "title": "Time to first token is not populating in trace detail or generations view", - "href": "https://github.com/orgs/langfuse/discussions/3100", - "created_at": "2024-08-27T20:12:14Z", + "number": 3021, + "title": "Pre-defined user access", + "href": "https://github.com/orgs/langfuse/discussions/3021", + "created_at": "2024-08-22T16:08:19Z", "upvotes": 1, - "comment_count": 2, - "resolved": true, - "labels": [], + "comment_count": 0, + "resolved": false, + "labels": [ + "self-hosting" + ], "author": { - "login": "databloom", - "html_url": "https://github.com/databloom" + "login": "LucasMagnum", + "html_url": "https://github.com/LucasMagnum" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3099, - "title": "Pulling prompts by tag?", - "href": "https://github.com/orgs/langfuse/discussions/3099", - "created_at": "2024-08-27T20:01:45Z", + "number": 3014, + "title": "Supports filter string using regular expression matching", + "href": "https://github.com/orgs/langfuse/discussions/3014", + "created_at": "2024-08-22T14:39:34Z", "upvotes": 1, "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "mayajosifo", - "html_url": "https://github.com/mayajosifo" + "login": "chai3", + "html_url": "https://github.com/chai3" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3092, - "title": "Deployment into Azure", - "href": "https://github.com/orgs/langfuse/discussions/3092", - "created_at": "2024-08-27T10:05:32Z", - "upvotes": 1, - "comment_count": 2, - "resolved": true, + "number": 3004, + "title": "Support for more modalities and base64 content", + "href": "https://github.com/orgs/langfuse/discussions/3004", + "created_at": "2024-08-22T09:50:47Z", + "upvotes": 45, + "comment_count": 17, + "resolved": false, "labels": [ - "self-hosting" + "✅ Done", + "feat-multimodal" ], "author": { - "login": "GaryFail", - "html_url": "https://github.com/GaryFail" + "login": "marliessophie", + "html_url": "https://github.com/marliessophie" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3079, - "title": "How to change the Level to ERROR when there is an error in SPAN?", - "href": "https://github.com/orgs/langfuse/discussions/3079", - "created_at": "2024-08-26T15:46:23Z", - "upvotes": 3, - "comment_count": 2, - "resolved": true, - "labels": [ - "feat-log-levels" - ], + "number": 2997, + "title": "Filter Span events in dashboard", + "href": "https://github.com/orgs/langfuse/discussions/2997", + "created_at": "2024-08-21T16:25:02Z", + "upvotes": 2, + "comment_count": 0, + "resolved": false, + "labels": [], "author": { - "login": "kftam1994", - "html_url": "https://github.com/kftam1994" + "login": "tagaretiro", + "html_url": "https://github.com/tagaretiro" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3056, - "title": "Support for configuring SMTP email at project level", - "href": "https://github.com/orgs/langfuse/discussions/3056", - "created_at": "2024-08-23T14:41:45Z", - "upvotes": 1, - "comment_count": 1, - "resolved": true, + "number": 2987, + "title": "Claude/openai/google prompt caching", + "href": "https://github.com/orgs/langfuse/discussions/2987", + "created_at": "2024-08-21T04:18:55Z", + "upvotes": 5, + "comment_count": 4, + "resolved": false, "labels": [ - "self-hosting" + "feat-cost-tracking" ], "author": { - "login": "rvndbalaji", - "html_url": "https://github.com/rvndbalaji" + "login": "mrdrprofuroboros", + "html_url": "https://github.com/mrdrprofuroboros" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3003, - "title": "Example GenAI bot with guardrails", - "href": "https://github.com/orgs/langfuse/discussions/3003", - "created_at": "2024-08-22T06:37:29Z", + "number": 2978, + "title": "Unexpected event format when using `ibm-watsonx-ai` with LangChain extension", + "href": "https://github.com/orgs/langfuse/discussions/2978", + "created_at": "2024-08-20T11:20:28Z", "upvotes": 1, - "comment_count": 1, + "comment_count": 0, "resolved": false, - "labels": [], + "labels": [ + "integration-langchain" + ], "author": { - "login": "wangxj03", - "html_url": "https://github.com/wangxj03" + "login": "barvhaim", + "html_url": "https://github.com/barvhaim" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2990, - "title": "[Question] using langfuse with llama_index", - "href": "https://github.com/orgs/langfuse/discussions/2990", - "created_at": "2024-08-21T08:00:59Z", + "number": 2975, + "title": "fetch all users via sdk/api", + "href": "https://github.com/orgs/langfuse/discussions/2975", + "created_at": "2024-08-20T06:52:47Z", "upvotes": 1, - "comment_count": 2, - "resolved": true, + "comment_count": 3, + "resolved": false, "labels": [ - "integraton-llamaindex" + "feat-users" ], "author": { - "login": "nightosong", - "html_url": "https://github.com/nightosong" + "login": "vincent-larisma", + "html_url": "https://github.com/vincent-larisma" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2988, - "title": "Non-langchain generation nested within LangGraph execution", - "href": "https://github.com/orgs/langfuse/discussions/2988", - "created_at": "2024-08-21T05:13:51Z", + "number": 2967, + "title": "Tag based usage", + "href": "https://github.com/orgs/langfuse/discussions/2967", + "created_at": "2024-08-19T07:13:26Z", "upvotes": 1, - "comment_count": 2, - "resolved": true, + "comment_count": 1, + "resolved": false, "labels": [ - "integration-langchain" + "feat-dashboard", + "feat-tags" ], "author": { - "login": "mrdrprofuroboros", - "html_url": "https://github.com/mrdrprofuroboros" + "login": "aakash-vwo", + "html_url": "https://github.com/aakash-vwo" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2983, - "title": "Tracing directly to queue instead of http api", - "href": "https://github.com/orgs/langfuse/discussions/2983", - "created_at": "2024-08-20T14:33:17Z", - "upvotes": 0, + "number": 2949, + "title": "Auto-patching Langchain to include Langfuse callback handler", + "href": "https://github.com/orgs/langfuse/discussions/2949", + "created_at": "2024-08-15T12:17:32Z", + "upvotes": 3, "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [ - "self-hosting" + "integration-langchain" ], "author": { - "login": "exotikh3", - "html_url": "https://github.com/exotikh3" + "login": "kongzii", + "html_url": "https://github.com/kongzii" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3901, - "title": "How to resolve memory leak when integrating Langfuse with LangChain", - "href": "https://github.com/orgs/langfuse/discussions/3901", - "created_at": "2024-08-20T03:14:45Z", - "upvotes": 1, - "comment_count": 6, - "resolved": true, + "number": 2923, + "title": "Feature: Add CAS (and maybe SAML) as a authentication method", + "href": "https://github.com/orgs/langfuse/discussions/2923", + "created_at": "2024-08-13T17:18:42Z", + "upvotes": 2, + "comment_count": 1, + "resolved": false, "labels": [ - "integration-langchain" + "self-hosting" ], "author": { - "login": "ivan-94", - "html_url": "https://github.com/ivan-94" + "login": "jayteaftw", + "html_url": "https://github.com/jayteaftw" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2959, - "title": "Duplicate usage data in observation api endpoint response", - "href": "https://github.com/orgs/langfuse/discussions/2959", - "created_at": "2024-08-16T10:57:00Z", + "number": 2919, + "title": "Adding access to User's sessions directly", + "href": "https://github.com/orgs/langfuse/discussions/2919", + "created_at": "2024-08-13T12:42:16Z", "upvotes": 1, - "comment_count": 2, - "resolved": true, - "labels": [], + "comment_count": 0, + "resolved": false, + "labels": [ + "feat-users", + "feat-sessions" + ], "author": { - "login": "jonnyforsterMSG", - "html_url": "https://github.com/jonnyforsterMSG" + "login": "Youneesz", + "html_url": "https://github.com/Youneesz" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2958, - "title": "Time to first token query", - "href": "https://github.com/orgs/langfuse/discussions/2958", - "created_at": "2024-08-16T10:08:42Z", - "upvotes": 1, - "comment_count": 2, + "number": 2883, + "title": "Compare two dataset runs side by side", + "href": "https://github.com/orgs/langfuse/discussions/2883", + "created_at": "2024-08-09T10:40:05Z", + "upvotes": 5, + "comment_count": 1, "resolved": false, - "labels": [], + "labels": [ + "feat-datasets" + ], "author": { - "login": "GaryFail", - "html_url": "https://github.com/GaryFail" + "login": "dmaslov", + "html_url": "https://github.com/dmaslov" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2952, - "title": "Locally hosted PrivateGPT + pgpt_python + Langfuse", - "href": "https://github.com/orgs/langfuse/discussions/2952", - "created_at": "2024-08-15T15:12:16Z", + "number": 2881, + "title": "feat (ui): Collapse sidebar by default", + "href": "https://github.com/orgs/langfuse/discussions/2881", + "created_at": "2024-08-09T10:03:39Z", "upvotes": 1, - "comment_count": 1, + "comment_count": 5, + "resolved": false, + "labels": [ + "ui" + ], + "author": { + "login": "marctorsoc", + "html_url": "https://github.com/marctorsoc" + }, + "category": "Ideas" + }, + { + "number": 2877, + "title": "Make langfuse deployable to AWS Lambda", + "href": "https://github.com/orgs/langfuse/discussions/2877", + "created_at": "2024-08-09T08:24:14Z", + "upvotes": 3, + "comment_count": 2, "resolved": false, "labels": [], "author": { - "login": "qdingle404", - "html_url": "https://github.com/qdingle404" + "login": "MeddahAbdellah", + "html_url": "https://github.com/MeddahAbdellah" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2945, - "title": "Unit of token count for cost analysis", - "href": "https://github.com/orgs/langfuse/discussions/2945", - "created_at": "2024-08-15T09:33:59Z", + "number": 2870, + "title": "custom base path deployments", + "href": "https://github.com/orgs/langfuse/discussions/2870", + "created_at": "2024-08-08T13:15:51Z", "upvotes": 1, "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [], "author": { - "login": "thomasjv799", - "html_url": "https://github.com/thomasjv799" + "login": "marioweid", + "html_url": "https://github.com/marioweid" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2933, - "title": "how to return trace_id in openai completion response when using langfuse as a proxy in litellm?", - "href": "https://github.com/orgs/langfuse/discussions/2933", - "created_at": "2024-08-14T07:52:30Z", - "upvotes": 1, - "comment_count": 2, - "resolved": true, + "number": 2864, + "title": "Add Bedrock Guardrails to the LLM Security documentation", + "href": "https://github.com/orgs/langfuse/discussions/2864", + "created_at": "2024-08-07T23:56:05Z", + "upvotes": 2, + "comment_count": 0, + "resolved": false, "labels": [ - "integration-litellm" + "feat-llm-security", + "integration-amazon-bedrock" ], "author": { - "login": "octadion", - "html_url": "https://github.com/octadion" + "login": "wirjo", + "html_url": "https://github.com/wirjo" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2927, - "title": "Span created with Langchain not showing up in traces.", - "href": "https://github.com/orgs/langfuse/discussions/2927", - "created_at": "2024-08-13T20:32:35Z", - "upvotes": 1, - "comment_count": 2, - "resolved": true, + "number": 2863, + "title": "Add AWS as a deployment option in the documentation", + "href": "https://github.com/orgs/langfuse/discussions/2863", + "created_at": "2024-08-07T23:53:40Z", + "upvotes": 3, + "comment_count": 1, + "resolved": false, "labels": [ - "integration-langchain" + "✅ Done", + "self-hosting" ], "author": { - "login": "HardKothari", - "html_url": "https://github.com/HardKothari" + "login": "wirjo", + "html_url": "https://github.com/wirjo" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2909, - "title": "Change port database in file docker-compose.yml", - "href": "https://github.com/orgs/langfuse/discussions/2909", - "created_at": "2024-08-13T08:05:37Z", + "number": 2850, + "title": "Feat (ui): Move columns", + "href": "https://github.com/orgs/langfuse/discussions/2850", + "created_at": "2024-08-07T11:55:55Z", "upvotes": 1, - "comment_count": 2, - "resolved": true, - "labels": [ - "self-hosting" - ], + "comment_count": 0, + "resolved": false, + "labels": [], "author": { - "login": "hungvipqt15", - "html_url": "https://github.com/hungvipqt15" + "login": "marctorsoc", + "html_url": "https://github.com/marctorsoc" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2907, - "title": "Change port connection in docker compose", - "href": "https://github.com/orgs/langfuse/discussions/2907", - "created_at": "2024-08-13T06:40:30Z", + "number": 2848, + "title": "Feat: Allow not sorting tags", + "href": "https://github.com/orgs/langfuse/discussions/2848", + "created_at": "2024-08-07T11:50:44Z", "upvotes": 1, "comment_count": 1, "resolved": false, "labels": [ - "self-hosting" + "feat-tags" ], "author": { - "login": "hungvipqt15", - "html_url": "https://github.com/hungvipqt15" + "login": "marctorsoc", + "html_url": "https://github.com/marctorsoc" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2904, - "title": "How to append current trace when calling function second time?", - "href": "https://github.com/orgs/langfuse/discussions/2904", - "created_at": "2024-08-12T15:12:22Z", + "number": 2823, + "title": "Need support for ChatOCIGenAI", + "href": "https://github.com/orgs/langfuse/discussions/2823", + "created_at": "2024-08-05T13:34:30Z", "upvotes": 2, - "comment_count": 2, - "resolved": true, - "labels": [ - "integration-python-decorator" - ], + "comment_count": 0, + "resolved": false, + "labels": [], "author": { - "login": "nathan-vo810", - "html_url": "https://github.com/nathan-vo810" + "login": "engchina", + "html_url": "https://github.com/engchina" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2895, - "title": "How to update an event", - "href": "https://github.com/orgs/langfuse/discussions/2895", - "created_at": "2024-08-11T16:51:18Z", - "upvotes": 1, + "number": 2821, + "title": "Need API endpoints to add projects and users", + "href": "https://github.com/orgs/langfuse/discussions/2821", + "created_at": "2024-08-05T13:10:49Z", + "upvotes": 2, "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [], "author": { - "login": "bytecod3r", - "html_url": "https://github.com/bytecod3r" + "login": "kameshbrao", + "html_url": "https://github.com/kameshbrao" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2888, - "title": "How to change the level of a trace?", - "href": "https://github.com/orgs/langfuse/discussions/2888", - "created_at": "2024-08-09T14:35:34Z", - "upvotes": 3, - "comment_count": 2, - "resolved": true, + "number": 2812, + "title": "Could you make the Prompt label 36 char long?", + "href": "https://github.com/orgs/langfuse/discussions/2812", + "created_at": "2024-08-02T11:03:08Z", + "upvotes": 1, + "comment_count": 1, + "resolved": false, "labels": [ - "feat-log-levels" + "feat-prompt-management", + "✅ Done" ], "author": { - "login": "ldbolanos", - "html_url": "https://github.com/ldbolanos" + "login": "DevSageH", + "html_url": "https://github.com/DevSageH" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2879, - "title": "ERROR:langfuse:status_code: 404, body: {'message': 'Trace not found within authorized project', 'error': 'LangfuseNotFoundError'}", - "href": "https://github.com/orgs/langfuse/discussions/2879", - "created_at": "2024-08-09T09:31:33Z", - "upvotes": 1, - "comment_count": 3, + "number": 2810, + "title": "Enable setting a label to an existing prompt version via the api/sdk.", + "href": "https://github.com/orgs/langfuse/discussions/2810", + "created_at": "2024-08-01T16:53:06Z", + "upvotes": 10, + "comment_count": 4, "resolved": false, - "labels": [], + "labels": [ + "feat-prompt-management" + ], "author": { - "login": "nithin1995", - "html_url": "https://github.com/nithin1995" + "login": "ClementNguyen", + "html_url": "https://github.com/ClementNguyen" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2874, - "title": "Does langfuse trace parallel api calls? I tried a sample with parallel call but it didn't traced.", - "href": "https://github.com/orgs/langfuse/discussions/2874", - "created_at": "2024-08-09T05:09:26Z", - "upvotes": 1, - "comment_count": 4, + "number": 2797, + "title": "Enable list_prompts/search_prompts using client", + "href": "https://github.com/orgs/langfuse/discussions/2797", + "created_at": "2024-07-31T13:45:38Z", + "upvotes": 4, + "comment_count": 2, "resolved": false, - "labels": [], + "labels": [ + "feat-prompt-management" + ], "author": { - "login": "ksundarraj-c-rpx", - "html_url": "https://github.com/ksundarraj-c-rpx" + "login": "krlng", + "html_url": "https://github.com/krlng" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2871, - "title": "Self-hosted Langfuse running as a Google cloud service not showing traces", - "href": "https://github.com/orgs/langfuse/discussions/2871", - "created_at": "2024-08-08T13:40:34Z", + "number": 2781, + "title": "Add support for custom serialization of observation fields", + "href": "https://github.com/orgs/langfuse/discussions/2781", + "created_at": "2024-07-29T18:49:03Z", "upvotes": 1, "comment_count": 2, - "resolved": true, + "resolved": false, "labels": [ - "🐞❔ unconfirmed bug" + "sdk-python" ], "author": { - "login": "SectumPsempra", - "html_url": "https://github.com/SectumPsempra" + "login": "ashamlian-roadway", + "html_url": "https://github.com/ashamlian-roadway" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2867, - "title": "Using the API to record traces from multiple platforms?", - "href": "https://github.com/orgs/langfuse/discussions/2867", - "created_at": "2024-08-08T13:15:49Z", + "number": 2770, + "title": "Add clickable link to the 'release' kwargs in a Trace - this will route to the documentations/change log of that release/version", + "href": "https://github.com/orgs/langfuse/discussions/2770", + "created_at": "2024-07-28T07:08:07Z", "upvotes": 1, - "comment_count": 1, + "comment_count": 0, "resolved": false, "labels": [], "author": { - "login": "appliraz", - "html_url": "https://github.com/appliraz" + "login": "stepanogil", + "html_url": "https://github.com/stepanogil" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2858, - "title": "Langfuse observeOpenAI not logging generations using new zodResponseFormat.", - "href": "https://github.com/orgs/langfuse/discussions/2858", - "created_at": "2024-08-07T21:45:41Z", - "upvotes": 1, - "comment_count": 3, - "resolved": true, + "number": 2766, + "title": "Support Exporting LangSmith Run Traces into Langfuse!", + "href": "https://github.com/orgs/langfuse/discussions/2766", + "created_at": "2024-07-27T02:34:44Z", + "upvotes": 3, + "comment_count": 1, + "resolved": false, "labels": [], "author": { - "login": "fabstu", - "html_url": "https://github.com/fabstu" + "login": "p-barman", + "html_url": "https://github.com/p-barman" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2852, - "title": "How run Langfuse evaluations over specifics spans?", - "href": "https://github.com/orgs/langfuse/discussions/2852", - "created_at": "2024-08-07T13:40:02Z", + "number": 2747, + "title": "A new configuration env variable for custom URL prefix", + "href": "https://github.com/orgs/langfuse/discussions/2747", + "created_at": "2024-07-25T17:00:57Z", "upvotes": 1, - "comment_count": 2, - "resolved": true, - "labels": [ - "integration-langchain", - "feat-evals" - ], + "comment_count": 1, + "resolved": false, + "labels": [], "author": { - "login": "joaoCrulhas", - "html_url": "https://github.com/joaoCrulhas" + "login": "abdullah-retorio", + "html_url": "https://github.com/abdullah-retorio" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2844, - "title": "LangFuse not logging LlamaIndex events", - "href": "https://github.com/orgs/langfuse/discussions/2844", - "created_at": "2024-08-07T10:46:19Z", - "upvotes": 2, - "comment_count": 3, + "number": 2746, + "title": "Returning prompts from expired cache may be disabled using a boolean argument", + "href": "https://github.com/orgs/langfuse/discussions/2746", + "created_at": "2024-07-25T15:57:26Z", + "upvotes": 1, + "comment_count": 1, "resolved": false, "labels": [ - "integraton-llamaindex" + "feat-prompt-management" ], "author": { - "login": "adieyal", - "html_url": "https://github.com/adieyal" + "login": "ogunoz", + "html_url": "https://github.com/ogunoz" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2830, - "title": "UpdateRoot in the callback handler seems not work", - "href": "https://github.com/orgs/langfuse/discussions/2830", - "created_at": "2024-08-06T08:58:25Z", + "number": 2745, + "title": "Lazy fallback for get_prompt", + "href": "https://github.com/orgs/langfuse/discussions/2745", + "created_at": "2024-07-25T15:50:32Z", "upvotes": 1, "comment_count": 1, - "resolved": true, - "labels": [], + "resolved": false, + "labels": [ + "feat-prompt-management" + ], "author": { - "login": "joaoCrulhas", - "html_url": "https://github.com/joaoCrulhas" + "login": "ogunoz", + "html_url": "https://github.com/ogunoz" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2828, - "title": "Issue: Integration of Langfuse with DSPy Framework - Zero Values for Cost and Token Usage", - "href": "https://github.com/orgs/langfuse/discussions/2828", - "created_at": "2024-08-06T05:55:30Z", - "upvotes": 1, - "comment_count": 3, - "resolved": true, + "number": 2738, + "title": "Set variables in playground from dataset", + "href": "https://github.com/orgs/langfuse/discussions/2738", + "created_at": "2024-07-25T09:27:30Z", + "upvotes": 4, + "comment_count": 2, + "resolved": false, "labels": [ - "integration-dspy" + "feat-datasets", + "feat-playground" ], "author": { - "login": "mahitha-29", - "html_url": "https://github.com/mahitha-29" + "login": "hbenyamina", + "html_url": "https://github.com/hbenyamina" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2817, - "title": "Praise for the Langfuse library! 🚀", - "href": "https://github.com/orgs/langfuse/discussions/2817", - "created_at": "2024-08-03T10:53:41Z", - "upvotes": 2, - "comment_count": 1, - "resolved": true, - "labels": [], + "number": 2729, + "title": "Comment thread on Traces", + "href": "https://github.com/orgs/langfuse/discussions/2729", + "created_at": "2024-07-24T13:52:51Z", + "upvotes": 1, + "comment_count": 3, + "resolved": false, + "labels": [ + "✅ Done", + "feat-comments" + ], "author": { - "login": "ttamg", - "html_url": "https://github.com/ttamg" + "login": "guptakvgaurav", + "html_url": "https://github.com/guptakvgaurav" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2809, - "title": "No space left on device db error", - "href": "https://github.com/orgs/langfuse/discussions/2809", - "created_at": "2024-08-01T15:10:52Z", - "upvotes": 1, - "comment_count": 2, - "resolved": true, + "number": 2728, + "title": "Session-level scores", + "href": "https://github.com/orgs/langfuse/discussions/2728", + "created_at": "2024-07-24T10:05:40Z", + "upvotes": 3, + "comment_count": 3, + "resolved": false, "labels": [ - "self-hosting" + "feat-scores", + "feat-sessions" ], "author": { - "login": "nithin1995", - "html_url": "https://github.com/nithin1995" + "login": "felixsg", + "html_url": "https://github.com/felixsg" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2808, - "title": "Dynamic prompt generation", - "href": "https://github.com/orgs/langfuse/discussions/2808", - "created_at": "2024-08-01T14:41:48Z", - "upvotes": 1, - "comment_count": 2, - "resolved": true, + "number": 2721, + "title": "Add note on each prompt version", + "href": "https://github.com/orgs/langfuse/discussions/2721", + "created_at": "2024-07-23T14:48:02Z", + "upvotes": 2, + "comment_count": 1, + "resolved": false, "labels": [ "feat-prompt-management" ], "author": { - "login": "LLazzar", - "html_url": "https://github.com/LLazzar" + "login": "cubxxw", + "html_url": "https://github.com/cubxxw" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2801, - "title": "Unable to update generation span after LLM invocation", - "href": "https://github.com/orgs/langfuse/discussions/2801", - "created_at": "2024-08-01T03:23:15Z", + "number": 2720, + "title": "Feature request [UI]: Remember column selection PER project in Traces view", + "href": "https://github.com/orgs/langfuse/discussions/2720", + "created_at": "2024-07-23T13:53:38Z", "upvotes": 1, "comment_count": 2, - "resolved": true, - "labels": [ - "integration-langchain" - ], - "author": { - "login": "Heucles", - "html_url": "https://github.com/Heucles" - }, - "category": "Support" - }, - { - "number": 2787, - "title": "Self-hosted (Railway) Authorization error (401) while connecting to host", - "href": "https://github.com/orgs/langfuse/discussions/2787", - "created_at": "2024-07-30T19:23:59Z", - "upvotes": 1, - "comment_count": 3, "resolved": false, "labels": [], "author": { - "login": "vishnumallela", - "html_url": "https://github.com/vishnumallela" - }, - "category": "Support" - }, - { - "number": 2769, - "title": "Continue trace on Celery worker with observe decorator", - "href": "https://github.com/orgs/langfuse/discussions/2769", - "created_at": "2024-07-27T18:23:13Z", - "upvotes": 1, - "comment_count": 2, - "resolved": true, - "labels": [ - "integration-python-decorator" - ], - "author": { - "login": "artefactop", - "html_url": "https://github.com/artefactop" + "login": "justingodden", + "html_url": "https://github.com/justingodden" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2768, - "title": "How do i register the token count and cost for observe decorator", - "href": "https://github.com/orgs/langfuse/discussions/2768", - "created_at": "2024-07-27T14:47:58Z", + "number": 2710, + "title": "Support JSON messages in prompt management", + "href": "https://github.com/orgs/langfuse/discussions/2710", + "created_at": "2024-07-23T01:59:12Z", "upvotes": 1, - "comment_count": 2, - "resolved": true, - "labels": [ - "integration-python-decorator", - "feat-cost-tracking" - ], + "comment_count": 0, + "resolved": false, + "labels": [], "author": { - "login": "yevkim", - "html_url": "https://github.com/yevkim" + "login": "jasonslyvia", + "html_url": "https://github.com/jasonslyvia" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2767, - "title": "Missing evaluation metrics", - "href": "https://github.com/orgs/langfuse/discussions/2767", - "created_at": "2024-07-27T05:07:56Z", - "upvotes": 1, + "number": 2704, + "title": "Deleting user's traces via API to be GDPR compliant", + "href": "https://github.com/orgs/langfuse/discussions/2704", + "created_at": "2024-07-22T12:03:22Z", + "upvotes": 8, "comment_count": 2, - "resolved": true, + "resolved": false, "labels": [], "author": { - "login": "MayankBitcot", - "html_url": "https://github.com/MayankBitcot" + "login": "Stormyy", + "html_url": "https://github.com/Stormyy" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2736, - "title": "Ability to upload Cost and Usage metrics in Langfuse for Gemini Models from LlamaIndex", - "href": "https://github.com/orgs/langfuse/discussions/2736", - "created_at": "2024-07-25T06:17:14Z", - "upvotes": 2, + "number": 2699, + "title": "Schemad or structured configuration for prompt", + "href": "https://github.com/orgs/langfuse/discussions/2699", + "created_at": "2024-07-22T02:29:13Z", + "upvotes": 1, "comment_count": 1, "resolved": false, "labels": [ - "integraton-llamaindex", - "feat-cost-tracking" + "feat-prompt-management" ], "author": { - "login": "ansu86d", - "html_url": "https://github.com/ansu86d" + "login": "jasonslyvia", + "html_url": "https://github.com/jasonslyvia" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2735, - "title": "Deployment on K8s", - "href": "https://github.com/orgs/langfuse/discussions/2735", - "created_at": "2024-07-25T04:38:19Z", + "number": 2697, + "title": "A transparent mode", + "href": "https://github.com/orgs/langfuse/discussions/2697", + "created_at": "2024-07-21T20:55:43Z", "upvotes": 1, - "comment_count": 2, - "resolved": true, + "comment_count": 1, + "resolved": false, "labels": [], "author": { - "login": "nithin1995", - "html_url": "https://github.com/nithin1995" + "login": "emsi", + "html_url": "https://github.com/emsi" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2718, - "title": "How to ignore inputs when using LangChain?", - "href": "https://github.com/orgs/langfuse/discussions/2718", - "created_at": "2024-07-23T10:58:07Z", + "number": 2684, + "title": "Langfuse batch prompts api should return prompt configs as well", + "href": "https://github.com/orgs/langfuse/discussions/2684", + "created_at": "2024-07-19T10:05:45Z", "upvotes": 2, "comment_count": 3, "resolved": false, "labels": [ - "integration-langchain" - ], - "author": { - "login": "justingodden", - "html_url": "https://github.com/justingodden" - }, - "category": "Support" - }, - { - "number": 2716, - "title": "Langgraph with langfuse", - "href": "https://github.com/orgs/langfuse/discussions/2716", - "created_at": "2024-07-23T09:12:20Z", - "upvotes": 1, - "comment_count": 4, - "resolved": true, - "labels": [ - "integration-langchain" + "feat-prompt-management", + "✅ Done" ], "author": { - "login": "MayankBitcot", - "html_url": "https://github.com/MayankBitcot" + "login": "ashutoshsaboo", + "html_url": "https://github.com/ashutoshsaboo" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2714, - "title": "Using langfuse without saving promps", - "href": "https://github.com/orgs/langfuse/discussions/2714", - "created_at": "2024-07-23T08:44:44Z", - "upvotes": 1, - "comment_count": 2, - "resolved": true, + "number": 2669, + "title": "Visualisation of graph execution", + "href": "https://github.com/orgs/langfuse/discussions/2669", + "created_at": "2024-07-18T08:44:03Z", + "upvotes": 2, + "comment_count": 1, + "resolved": false, "labels": [], "author": { - "login": "molntamas", - "html_url": "https://github.com/molntamas" + "login": "VMinB12", + "html_url": "https://github.com/VMinB12" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2712, - "title": "cannot execute INSERT in a read-only transaction", - "href": "https://github.com/orgs/langfuse/discussions/2712", - "created_at": "2024-07-23T07:49:30Z", + "number": 2668, + "title": "I want to say something about user feedback", + "href": "https://github.com/orgs/langfuse/discussions/2668", + "created_at": "2024-07-18T07:57:50Z", "upvotes": 1, - "comment_count": 2, + "comment_count": 1, "resolved": false, - "labels": [ - "self-hosting" - ], + "labels": [], "author": { - "login": "damianradowiecki", - "html_url": "https://github.com/damianradowiecki" + "login": "cubxxw", + "html_url": "https://github.com/cubxxw" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2706, - "title": "Disable tracing of input and output for nested elements with in a chain.", - "href": "https://github.com/orgs/langfuse/discussions/2706", - "created_at": "2024-07-22T16:17:53Z", - "upvotes": 2, + "number": 2664, + "title": "Prompts are supported for export", + "href": "https://github.com/orgs/langfuse/discussions/2664", + "created_at": "2024-07-18T00:43:12Z", + "upvotes": 1, "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "jaitd", - "html_url": "https://github.com/jaitd" + "login": "cubxxw", + "html_url": "https://github.com/cubxxw" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2705, - "title": "Support for adding traces/observations/sessions/events/spans/generations related logging to LF via API", - "href": "https://github.com/orgs/langfuse/discussions/2705", - "created_at": "2024-07-22T12:57:05Z", + "number": 2653, + "title": "Web page request is a little slow, whether to consider using golang to reconstruct", + "href": "https://github.com/orgs/langfuse/discussions/2653", + "created_at": "2024-07-17T07:08:45Z", "upvotes": 1, "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [], "author": { - "login": "ashutoshsaboo", - "html_url": "https://github.com/ashutoshsaboo" + "login": "cubxxw", + "html_url": "https://github.com/cubxxw" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2671, - "title": "Cannot connect prompt to trace when using Langchain AzureChatOpenai", - "href": "https://github.com/orgs/langfuse/discussions/2671", - "created_at": "2024-07-18T13:30:14Z", - "upvotes": 1, - "comment_count": 2, + "number": 2642, + "title": "Add ability to add name or label to a Langfuse API key", + "href": "https://github.com/orgs/langfuse/discussions/2642", + "created_at": "2024-07-16T17:08:42Z", + "upvotes": 5, + "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "nihadazimli", - "html_url": "https://github.com/nihadazimli" + "login": "agibralter", + "html_url": "https://github.com/agibralter" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2658, - "title": "how to customize trace id when using callback handler in langchain integration", - "href": "https://github.com/orgs/langfuse/discussions/2658", - "created_at": "2024-07-17T13:38:18Z", - "upvotes": 3, - "comment_count": 2, - "resolved": true, - "labels": [ - "integration-langchain" - ], - "author": { - "login": "shawnzhu", - "html_url": "https://github.com/shawnzhu" - }, - "category": "Support" - }, - { - "number": 2640, - "title": "Adding Scores to langfuse with dify", - "href": "https://github.com/orgs/langfuse/discussions/2640", - "created_at": "2024-07-16T16:00:11Z", - "upvotes": 2, - "comment_count": 1, - "resolved": true, + "number": 2625, + "title": "Track Openai Assistant API costs", + "href": "https://github.com/orgs/langfuse/discussions/2625", + "created_at": "2024-07-15T07:50:18Z", + "upvotes": 4, + "comment_count": 0, + "resolved": false, "labels": [ - "integration-dify" + "integration-openai" ], "author": { - "login": "shaquelsamir", - "html_url": "https://github.com/shaquelsamir" + "login": "christos-bsq", + "html_url": "https://github.com/christos-bsq" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2619, - "title": "How to add a function to current trace instead of seperate since it's outside lcel chain?", - "href": "https://github.com/orgs/langfuse/discussions/2619", - "created_at": "2024-07-12T07:08:47Z", - "upvotes": 1, - "comment_count": 1, - "resolved": true, + "number": 2624, + "title": "Add tool / function calling and tool messages to Prompt Management", + "href": "https://github.com/orgs/langfuse/discussions/2624", + "created_at": "2024-07-15T06:49:50Z", + "upvotes": 3, + "comment_count": 0, + "resolved": false, "labels": [ - "integration-langchain" + "feat-prompt-management" ], "author": { - "login": "sarim2000", - "html_url": "https://github.com/sarim2000" + "login": "eloko7", + "html_url": "https://github.com/eloko7" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2616, - "title": "Weird Output for scores when using fetch_traces()", - "href": "https://github.com/orgs/langfuse/discussions/2616", - "created_at": "2024-07-11T12:46:23Z", + "number": 2622, + "title": "Inbuild langfuse tracing.", + "href": "https://github.com/orgs/langfuse/discussions/2622", + "created_at": "2024-07-13T10:39:13Z", "upvotes": 1, - "comment_count": 2, + "comment_count": 0, "resolved": false, "labels": [], "author": { - "login": "kevinpkaria", - "html_url": "https://github.com/kevinpkaria" + "login": "rashid-globallogic", + "html_url": "https://github.com/rashid-globallogic" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2600, - "title": "Add input Price and Output price for gemini-1.5-pro and gemini-1.5-flash in Models", - "href": "https://github.com/orgs/langfuse/discussions/2600", - "created_at": "2024-07-10T09:52:23Z", - "upvotes": 4, + "number": 2605, + "title": "DSPy tracing", + "href": "https://github.com/orgs/langfuse/discussions/2605", + "created_at": "2024-07-10T12:52:35Z", + "upvotes": 2, "comment_count": 1, "resolved": false, - "labels": [], - "author": { - "login": "fjeanchar", - "html_url": "https://github.com/fjeanchar" - }, - "category": "Support" - }, - { - "number": 2599, - "title": "Overall projects dashboard?", - "href": "https://github.com/orgs/langfuse/discussions/2599", - "created_at": "2024-07-10T09:09:02Z", - "upvotes": 1, - "comment_count": 1, - "resolved": true, "labels": [ - "feat-dashboard" + "integrations", + "✅ Done", + "integration-dspy" ], "author": { - "login": "justingodden", - "html_url": "https://github.com/justingodden" + "login": "paolotamag", + "html_url": "https://github.com/paolotamag" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2597, - "title": "[Errno 111] Connection refused when connecting to langfuse within docker compose", - "href": "https://github.com/orgs/langfuse/discussions/2597", - "created_at": "2024-07-10T09:00:34Z", - "upvotes": 1, + "number": 2586, + "title": "Feat: Ability to change curreny for model usage costs.", + "href": "https://github.com/orgs/langfuse/discussions/2586", + "created_at": "2024-07-09T15:40:22Z", + "upvotes": 2, "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [ - "self-hosting" + "feat-cost-tracking" ], "author": { - "login": "bspetrov", - "html_url": "https://github.com/bspetrov" + "login": "jannikstdl", + "html_url": "https://github.com/jannikstdl" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2595, - "title": "Migrate a local deployment of langfuse from one computer to another", - "href": "https://github.com/orgs/langfuse/discussions/2595", - "created_at": "2024-07-10T07:46:04Z", - "upvotes": 1, - "comment_count": 2, - "resolved": true, - "labels": [ - "self-hosting" - ], + "number": 2578, + "title": "Conditional Trace Content/Message submission", + "href": "https://github.com/orgs/langfuse/discussions/2578", + "created_at": "2024-07-09T09:57:26Z", + "upvotes": 3, + "comment_count": 1, + "resolved": false, + "labels": [], "author": { - "login": "nithin1995", - "html_url": "https://github.com/nithin1995" + "login": "simonwh", + "html_url": "https://github.com/simonwh" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2590, - "title": "Experiments running but inputs and outputs of LLM are not linked to dashboard", - "href": "https://github.com/orgs/langfuse/discussions/2590", - "created_at": "2024-07-09T18:29:22Z", + "number": 2577, + "title": "Detailed and Interactive Plot Visualization like WandB", + "href": "https://github.com/orgs/langfuse/discussions/2577", + "created_at": "2024-07-09T09:19:38Z", "upvotes": 1, - "comment_count": 1, + "comment_count": 3, "resolved": false, "labels": [], "author": { - "login": "IbrahimAhmed03", - "html_url": "https://github.com/IbrahimAhmed03" + "login": "yusuke-intern", + "html_url": "https://github.com/yusuke-intern" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2574, - "title": "how to embed langfuse dashboard in other tool", - "href": "https://github.com/orgs/langfuse/discussions/2574", - "created_at": "2024-07-08T21:24:13Z", + "number": 2576, + "title": "Log prob on Langfuse", + "href": "https://github.com/orgs/langfuse/discussions/2576", + "created_at": "2024-07-09T09:16:23Z", "upvotes": 1, "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [ - "feat-dashboard" + "integration-openai" ], "author": { - "login": "deepakdeore2004", - "html_url": "https://github.com/deepakdeore2004" + "login": "yusuke-intern", + "html_url": "https://github.com/yusuke-intern" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2567, - "title": "How to use prompt management with openai JS?", - "href": "https://github.com/orgs/langfuse/discussions/2567", - "created_at": "2024-07-08T08:22:49Z", + "number": 2573, + "title": "Prompt Cataloguing and prompt github", + "href": "https://github.com/orgs/langfuse/discussions/2573", + "created_at": "2024-07-08T20:05:23Z", "upvotes": 1, - "comment_count": 2, + "comment_count": 1, "resolved": false, "labels": [ "feat-prompt-management" ], "author": { - "login": "oscarmorrison", - "html_url": "https://github.com/oscarmorrison" + "login": "kunal2002", + "html_url": "https://github.com/kunal2002" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2564, - "title": "Update metadata when using OpenAI JS Integration", - "href": "https://github.com/orgs/langfuse/discussions/2564", - "created_at": "2024-07-08T07:37:38Z", + "number": 2571, + "title": "If Data/Metadata given to Langfuse SDK that exceeds Langfuse's limit, log/throw/emit Stack Trace", + "href": "https://github.com/orgs/langfuse/discussions/2571", + "created_at": "2024-07-08T15:17:52Z", "upvotes": 1, - "comment_count": 3, + "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "oscarmorrison", - "html_url": "https://github.com/oscarmorrison" + "login": "josiahbryan", + "html_url": "https://github.com/josiahbryan" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2527, - "title": "Can't set trace params e.g session_id when using with llhama_index", - "href": "https://github.com/orgs/langfuse/discussions/2527", - "created_at": "2024-07-02T20:41:53Z", + "number": 2539, + "title": "Include request's `tools` configuration in OpenAI LLM calls", + "href": "https://github.com/orgs/langfuse/discussions/2539", + "created_at": "2024-07-04T11:39:43Z", "upvotes": 2, - "comment_count": 2, + "comment_count": 1, "resolved": false, "labels": [ - "integraton-llamaindex" + "integration-openai" ], "author": { - "login": "famoraes", - "html_url": "https://github.com/famoraes" + "login": "ricwo", + "html_url": "https://github.com/ricwo" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2498, - "title": "Method to update prompt template for Langserve use case", - "href": "https://github.com/orgs/langfuse/discussions/2498", - "created_at": "2024-07-01T11:20:08Z", + "number": 2534, + "title": "Simple graphs and metrics for scores and evaluations", + "href": "https://github.com/orgs/langfuse/discussions/2534", + "created_at": "2024-07-03T17:14:42Z", "upvotes": 2, "comment_count": 1, - "resolved": true, - "labels": [ - "integration-langchain" - ], + "resolved": false, + "labels": [], "author": { - "login": "quadcube", - "html_url": "https://github.com/quadcube" - }, - "category": "Support" - }, - { - "number": 2486, - "title": "Cost of embedding in langfuse", - "href": "https://github.com/orgs/langfuse/discussions/2486", - "created_at": "2024-06-29T07:50:06Z", - "upvotes": 1, - "comment_count": 2, - "resolved": true, - "labels": [], - "author": { - "login": "Amitt1412", - "html_url": "https://github.com/Amitt1412" + "login": "justinwiley", + "html_url": "https://github.com/justinwiley" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2481, - "title": "Getting all traces logged in a timerange for custom scoring", - "href": "https://github.com/orgs/langfuse/discussions/2481", - "created_at": "2024-06-28T12:09:14Z", + "number": 2529, + "title": "feat: Track Exceptions while using Decorators", + "href": "https://github.com/orgs/langfuse/discussions/2529", + "created_at": "2024-07-03T11:40:19Z", "upvotes": 1, "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [ - "feat-scores" + "integration-python-decorator" ], "author": { - "login": "sanandnarayan", - "html_url": "https://github.com/sanandnarayan" + "login": "Manonandan", + "html_url": "https://github.com/Manonandan" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2479, - "title": "Cost of embedding", - "href": "https://github.com/orgs/langfuse/discussions/2479", - "created_at": "2024-06-28T06:58:16Z", + "number": 2523, + "title": "Feature Request: Sidebar Display for Trace Details in Dataset Runs", + "href": "https://github.com/orgs/langfuse/discussions/2523", + "created_at": "2024-07-02T15:00:47Z", "upvotes": 1, "comment_count": 3, - "resolved": true, - "labels": [], + "resolved": false, + "labels": [ + "feat-datasets" + ], "author": { - "login": "Amitt1412", - "html_url": "https://github.com/Amitt1412" + "login": "tuan3w", + "html_url": "https://github.com/tuan3w" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2455, - "title": "Getting issue with local setup", - "href": "https://github.com/orgs/langfuse/discussions/2455", - "created_at": "2024-06-27T10:23:02Z", - "upvotes": 1, + "number": 2511, + "title": "Scoring dataset runs, e.g. precision, recall, f-value", + "href": "https://github.com/orgs/langfuse/discussions/2511", + "created_at": "2024-07-02T08:10:21Z", + "upvotes": 8, "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [ - "self-hosting" + "feat-datasets", + "feat-scores" ], "author": { - "login": "kiranraut7709", - "html_url": "https://github.com/kiranraut7709" + "login": "yusuke-intern", + "html_url": "https://github.com/yusuke-intern" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2447, - "title": "Access observation id in langchain runnable", - "href": "https://github.com/orgs/langfuse/discussions/2447", - "created_at": "2024-06-26T21:03:07Z", + "number": 2510, + "title": "How can we see traces of MULTIMODAL llms over langfuse ?", + "href": "https://github.com/orgs/langfuse/discussions/2510", + "created_at": "2024-07-02T05:15:59Z", "upvotes": 4, - "comment_count": 1, + "comment_count": 3, "resolved": false, "labels": [ - "integration-langchain" + "✅ Done", + "feat-multimodal" ], "author": { - "login": "snikch", - "html_url": "https://github.com/snikch" + "login": "Aaryaveerkrishna23", + "html_url": "https://github.com/Aaryaveerkrishna23" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2431, - "title": "Trying to work with llama3 in Azure using AzureMLChatOnlineEndpoint but no cost showing up", - "href": "https://github.com/orgs/langfuse/discussions/2431", - "created_at": "2024-06-25T21:20:25Z", - "upvotes": 1, - "comment_count": 2, + "number": 2509, + "title": "Support OpenTelemetry-based instrumentation (traceloop openllmetry and others)", + "href": "https://github.com/orgs/langfuse/discussions/2509", + "created_at": "2024-07-02T02:29:14Z", + "upvotes": 8, + "comment_count": 7, "resolved": false, - "labels": [], + "labels": [ + "integrations" + ], "author": { - "login": "spacepirate0001", - "html_url": "https://github.com/spacepirate0001" + "login": "gyliu513", + "html_url": "https://github.com/gyliu513" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2416, - "title": "some tests failed for langfuse-js", - "href": "https://github.com/orgs/langfuse/discussions/2416", - "created_at": "2024-06-25T04:31:35Z", - "upvotes": 1, - "comment_count": 3, + "number": 2508, + "title": "Enable Langfuse can expose metrics in Prometheus format", + "href": "https://github.com/orgs/langfuse/discussions/2508", + "created_at": "2024-07-02T02:25:24Z", + "upvotes": 7, + "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "4t8dd", - "html_url": "https://github.com/4t8dd" + "login": "gyliu513", + "html_url": "https://github.com/gyliu513" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2415, - "title": "AUTH AZURE AD returns AADSTS9002325: Proof Key for Code Exchange is required for cross-origin authorization code redemption.", - "href": "https://github.com/orgs/langfuse/discussions/2415", - "created_at": "2024-06-24T18:00:45Z", - "upvotes": 1, + "number": 2501, + "title": "Use Langchain LCEL + Langserve + run time user_id/session_id", + "href": "https://github.com/orgs/langfuse/discussions/2501", + "created_at": "2024-07-01T15:51:47Z", + "upvotes": 4, "comment_count": 1, - "resolved": true, - "labels": [], + "resolved": false, + "labels": [ + "integration-langchain", + "feat-users", + "feat-sessions" + ], "author": { - "login": "spacepirate0001", - "html_url": "https://github.com/spacepirate0001" + "login": "ravediamond", + "html_url": "https://github.com/ravediamond" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2401, - "title": "Trying to understand why in Langfuse Trace under Stream Completion I get this output:", - "href": "https://github.com/orgs/langfuse/discussions/2401", - "created_at": "2024-06-21T12:22:38Z", + "number": 2493, + "title": "Easy token price estimates for 400+ LLMs", + "href": "https://github.com/orgs/langfuse/discussions/2493", + "created_at": "2024-07-01T06:55:56Z", "upvotes": 1, "comment_count": 1, "resolved": false, - "labels": [], + "labels": [ + "feat-cost-tracking" + ], "author": { - "login": "howtodoml", - "html_url": "https://github.com/howtodoml" + "login": "derevyan", + "html_url": "https://github.com/derevyan" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2385, - "title": "Modify trace after getting response from OpenAI", - "href": "https://github.com/orgs/langfuse/discussions/2385", - "created_at": "2024-06-20T18:00:09Z", - "upvotes": 2, + "number": 2488, + "title": "Add contextmanager support to python decorator", + "href": "https://github.com/orgs/langfuse/discussions/2488", + "created_at": "2024-06-29T20:43:50Z", + "upvotes": 6, + "comment_count": 2, + "resolved": false, + "labels": [ + "integration-python-decorator" + ], + "author": { + "login": "yaniv-aknin", + "html_url": "https://github.com/yaniv-aknin" + }, + "category": "Ideas" + }, + { + "number": 2469, + "title": "Adding userId / author to score (custom metadata)", + "href": "https://github.com/orgs/langfuse/discussions/2469", + "created_at": "2024-06-27T19:02:17Z", + "upvotes": 4, "comment_count": 3, "resolved": false, - "labels": [], + "labels": [ + "feat-scores", + "feat-users" + ], "author": { - "login": "tylerlittlefield", - "html_url": "https://github.com/tylerlittlefield" + "login": "ivanviragine", + "html_url": "https://github.com/ivanviragine" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2381, - "title": "LangFuse UI doesn't show all traces despite debug logging saying that all are sent to the server", - "href": "https://github.com/orgs/langfuse/discussions/2381", - "created_at": "2024-06-20T14:02:12Z", - "upvotes": 3, + "number": 2456, + "title": "Export to CSV feature in the Traces", + "href": "https://github.com/orgs/langfuse/discussions/2456", + "created_at": "2024-06-27T11:02:47Z", + "upvotes": 1, "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "stokedout", - "html_url": "https://github.com/stokedout" + "login": "Aniket3007", + "html_url": "https://github.com/Aniket3007" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2379, - "title": "Langfuse was not able to parse the LLM model", - "href": "https://github.com/orgs/langfuse/discussions/2379", - "created_at": "2024-06-20T08:56:57Z", + "number": 2454, + "title": "Expand all json-views of Dataset items etc.", + "href": "https://github.com/orgs/langfuse/discussions/2454", + "created_at": "2024-06-27T08:18:23Z", "upvotes": 1, - "comment_count": 2, - "resolved": true, + "comment_count": 1, + "resolved": false, "labels": [ - "integration-langchain", - "integration-amazon-bedrock" + "✅ Done", + "feat-datasets" ], "author": { - "login": "fdbvega", - "html_url": "https://github.com/fdbvega" + "login": "tkreuder", + "html_url": "https://github.com/tkreuder" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2377, - "title": "Can't see any traces or logs when running Langfuse locally.", - "href": "https://github.com/orgs/langfuse/discussions/2377", - "created_at": "2024-06-19T23:51:46Z", + "number": 2438, + "title": "Bedrock provider when using llamaindex", + "href": "https://github.com/orgs/langfuse/discussions/2438", + "created_at": "2024-06-26T11:00:54Z", "upvotes": 1, - "comment_count": 6, - "resolved": true, + "comment_count": 1, + "resolved": false, "labels": [ - "self-hosting" + "integraton-llamaindex", + "integration-amazon-bedrock" ], "author": { - "login": "ibdafna", - "html_url": "https://github.com/ibdafna" + "login": "mdciri", + "html_url": "https://github.com/mdciri" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2373, - "title": "Not recording llamaindex response. Please help", - "href": "https://github.com/orgs/langfuse/discussions/2373", - "created_at": "2024-06-19T19:26:30Z", - "upvotes": 1, + "number": 2437, + "title": "Project members management via public API", + "href": "https://github.com/orgs/langfuse/discussions/2437", + "created_at": "2024-06-26T10:03:50Z", + "upvotes": 3, "comment_count": 1, "resolved": false, "labels": [ - "integraton-llamaindex" + "feat-rbac" ], "author": { - "login": "mraguth", - "html_url": "https://github.com/mraguth" + "login": "tmarenko", + "html_url": "https://github.com/tmarenko" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2366, - "title": "Add label to prompt from Langfuse UI", - "href": "https://github.com/orgs/langfuse/discussions/2366", - "created_at": "2024-06-18T14:26:14Z", + "number": 2402, + "title": "Add string data type in score config", + "href": "https://github.com/orgs/langfuse/discussions/2402", + "created_at": "2024-06-24T11:12:54Z", "upvotes": 1, "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [ - "feat-prompt-management" + "feat-scores" ], "author": { - "login": "charlieviettq", - "html_url": "https://github.com/charlieviettq" + "login": "emfhal", + "html_url": "https://github.com/emfhal" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2354, - "title": "Link Prompt & Trace with langchain CallbackHandler", - "href": "https://github.com/orgs/langfuse/discussions/2354", - "created_at": "2024-06-17T08:21:56Z", - "upvotes": 2, - "comment_count": 2, - "resolved": true, - "labels": [], + "number": 2400, + "title": "Support for Custom Base URL Prefix in Langfuse (nextjs basepath)", + "href": "https://github.com/orgs/langfuse/discussions/2400", + "created_at": "2024-06-24T09:57:57Z", + "upvotes": 21, + "comment_count": 9, + "resolved": false, + "labels": [ + "✅ Done", + "self-hosting" + ], "author": { - "login": "derevyan", - "html_url": "https://github.com/derevyan" + "login": "databill86", + "html_url": "https://github.com/databill86" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2353, - "title": "[Migration] Auto-migration DB error when upgrade langfuse version", - "href": "https://github.com/orgs/langfuse/discussions/2353", - "created_at": "2024-06-17T08:02:03Z", + "number": 2397, + "title": "Add ARM64 docker image", + "href": "https://github.com/orgs/langfuse/discussions/2397", + "created_at": "2024-06-21T13:35:24Z", "upvotes": 1, - "comment_count": 1, - "resolved": true, + "comment_count": 2, + "resolved": false, "labels": [ + "✅ Done", "self-hosting" ], "author": { - "login": "charlieviettq", - "html_url": "https://github.com/charlieviettq" + "login": "lucasiscovici", + "html_url": "https://github.com/lucasiscovici" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2351, - "title": "Customize Langchain callback handler to add spans to existing traces created by separate thread/process", - "href": "https://github.com/orgs/langfuse/discussions/2351", - "created_at": "2024-06-17T03:41:57Z", + "number": 2390, + "title": "Implement Duplication Check for Prompt Versions in Langfuse", + "href": "https://github.com/orgs/langfuse/discussions/2390", + "created_at": "2024-06-21T08:03:39Z", "upvotes": 1, - "comment_count": 2, + "comment_count": 1, "resolved": false, "labels": [ - "integration-langchain" + "feat-prompt-management" ], "author": { - "login": "Chengdyc", - "html_url": "https://github.com/Chengdyc" + "login": "sapipoZZZ", + "html_url": "https://github.com/sapipoZZZ" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2348, - "title": "not serializable object of type: LangfuseResponseGeneratorSync", - "href": "https://github.com/orgs/langfuse/discussions/2348", - "created_at": "2024-06-14T22:33:09Z", - "upvotes": 1, - "comment_count": 1, + "number": 2378, + "title": "Number of times a prompt was fetched", + "href": "https://github.com/orgs/langfuse/discussions/2378", + "created_at": "2024-06-20T07:37:12Z", + "upvotes": 3, + "comment_count": 0, "resolved": false, - "labels": [], + "labels": [ + "feat-prompt-management" + ], "author": { - "login": "howtodoml", - "html_url": "https://github.com/howtodoml" + "login": "subhampasari", + "html_url": "https://github.com/subhampasari" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2346, - "title": "Chain two prompts", - "href": "https://github.com/orgs/langfuse/discussions/2346", - "created_at": "2024-06-14T08:20:48Z", + "number": 2376, + "title": "Allow for custom OAuth scopes when self-hosing", + "href": "https://github.com/orgs/langfuse/discussions/2376", + "created_at": "2024-06-19T22:23:59Z", "upvotes": 1, "comment_count": 1, "resolved": false, "labels": [ - "feat-prompt-management", - "integration-langchain" + "feat-auth" ], "author": { - "login": "darkostanimirovic", - "html_url": "https://github.com/darkostanimirovic" + "login": "0x77dev", + "html_url": "https://github.com/0x77dev" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2344, - "title": "Can you use internal Kubernetes DNS to receive traffic from other Kubernetes workloads?", - "href": "https://github.com/orgs/langfuse/discussions/2344", - "created_at": "2024-06-14T08:15:36Z", + "number": 2371, + "title": "SBS Markdown mode for dataset runs", + "href": "https://github.com/orgs/langfuse/discussions/2371", + "created_at": "2024-06-19T14:57:32Z", "upvotes": 1, "comment_count": 1, - "resolved": true, - "labels": [], + "resolved": false, + "labels": [ + "feat-datasets" + ], "author": { - "login": "smeasures", - "html_url": "https://github.com/smeasures" + "login": "pfurovYnP", + "html_url": "https://github.com/pfurovYnP" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2342, - "title": "Getting trace id out of a langchain runnable", - "href": "https://github.com/orgs/langfuse/discussions/2342", - "created_at": "2024-06-14T01:15:26Z", + "number": 2358, + "title": "Add view mode to Settings", + "href": "https://github.com/orgs/langfuse/discussions/2358", + "created_at": "2024-06-17T12:48:04Z", "upvotes": 1, "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [], "author": { - "login": "salmanmashayekh", - "html_url": "https://github.com/salmanmashayekh" + "login": "emfhal", + "html_url": "https://github.com/emfhal" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2338, - "title": "Can RBAC Role Assignment be done using Azure AD SSO token?", - "href": "https://github.com/orgs/langfuse/discussions/2338", - "created_at": "2024-06-13T11:29:59Z", + "number": 2352, + "title": "Support SAML login protocol", + "href": "https://github.com/orgs/langfuse/discussions/2352", + "created_at": "2024-06-17T07:14:14Z", "upvotes": 4, - "comment_count": 2, + "comment_count": 1, "resolved": false, "labels": [ - "feat-rbac", "self-hosting" ], "author": { - "login": "joshwright10", - "html_url": "https://github.com/joshwright10" + "login": "emfhal", + "html_url": "https://github.com/emfhal" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2298, - "title": "llamaindex: function_call does not generate subspans for a custom AsyncBaseTool class", - "href": "https://github.com/orgs/langfuse/discussions/2298", - "created_at": "2024-06-11T09:28:33Z", - "upvotes": 1, - "comment_count": 3, + "number": 2343, + "title": "Bring Langfuse to Cloud Marketplaces", + "href": "https://github.com/orgs/langfuse/discussions/2343", + "created_at": "2024-06-14T06:41:18Z", + "upvotes": 2, + "comment_count": 2, "resolved": false, "labels": [ - "integraton-llamaindex" + "self-hosting" ], "author": { - "login": "ootkin", - "html_url": "https://github.com/ootkin" + "login": "aiakubovich", + "html_url": "https://github.com/aiakubovich" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2290, - "title": "There are no evaluation component in the 2.50 version", - "href": "https://github.com/orgs/langfuse/discussions/2290", - "created_at": "2024-06-10T19:36:30Z", + "number": 2336, + "title": "Saving a filter", + "href": "https://github.com/orgs/langfuse/discussions/2336", + "created_at": "2024-06-13T09:15:59Z", "upvotes": 1, - "comment_count": 1, - "resolved": true, + "comment_count": 0, + "resolved": false, "labels": [], "author": { - "login": "yanlinchn", - "html_url": "https://github.com/yanlinchn" + "login": "avinash361-devrev", + "html_url": "https://github.com/avinash361-devrev" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2254, - "title": "Unable to get hello world program working due to incorrect public key / host", - "href": "https://github.com/orgs/langfuse/discussions/2254", - "created_at": "2024-06-06T09:13:53Z", - "upvotes": 3, - "comment_count": 1, - "resolved": true, - "labels": [ - "self-hosting" - ], + "number": 2331, + "title": "Pendo integration", + "href": "https://github.com/orgs/langfuse/discussions/2331", + "created_at": "2024-06-12T18:22:32Z", + "upvotes": 1, + "comment_count": 1, + "resolved": false, + "labels": [], "author": { - "login": "mr-nano", - "html_url": "https://github.com/mr-nano" + "login": "mrunaaaaaal", + "html_url": "https://github.com/mrunaaaaaal" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2244, - "title": "2 traces generated instead of 1", - "href": "https://github.com/orgs/langfuse/discussions/2244", - "created_at": "2024-06-05T17:06:52Z", + "number": 2282, + "title": "[Dashboard] Update Scores Chart to include number of scores on secondary y axis", + "href": "https://github.com/orgs/langfuse/discussions/2282", + "created_at": "2024-06-10T08:41:41Z", "upvotes": 1, "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [ - "integration-langchain", - "feat-datasets" + "feat-dashboard" ], "author": { - "login": "nithin1995", - "html_url": "https://github.com/nithin1995" + "login": "charlieviettq", + "html_url": "https://github.com/charlieviettq" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2211, - "title": "How to clean the langfuse cache data periodically?", - "href": "https://github.com/orgs/langfuse/discussions/2211", - "created_at": "2024-06-03T07:40:22Z", - "upvotes": 1, + "number": 2278, + "title": "Type of input and output of each span visible in the UI", + "href": "https://github.com/orgs/langfuse/discussions/2278", + "created_at": "2024-06-08T21:17:48Z", + "upvotes": 3, "comment_count": 1, - "resolved": true, + "resolved": false, + "labels": [ + "ui" + ], + "author": { + "login": "arthurGrigo", + "html_url": "https://github.com/arthurGrigo" + }, + "category": "Ideas" + }, + { + "number": 2268, + "title": "Langfuse retention settings", + "href": "https://github.com/orgs/langfuse/discussions/2268", + "created_at": "2024-06-07T12:27:32Z", + "upvotes": 8, + "comment_count": 6, + "resolved": false, "labels": [], "author": { - "login": "He-Huang", - "html_url": "https://github.com/He-Huang" + "login": "sudhanshu746", + "html_url": "https://github.com/sudhanshu746" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2207, - "title": "Model Cost does not show up", - "href": "https://github.com/orgs/langfuse/discussions/2207", - "created_at": "2024-06-02T11:08:58Z", - "upvotes": 1, - "comment_count": 1, - "resolved": true, + "number": 2241, + "title": "Tracing integration with unify.ai", + "href": "https://github.com/orgs/langfuse/discussions/2241", + "created_at": "2024-06-05T15:17:00Z", + "upvotes": 5, + "comment_count": 3, + "resolved": false, "labels": [ - "feat-cost-tracking" + "integrations" ], "author": { - "login": "jannikstdl", - "html_url": "https://github.com/jannikstdl" + "login": "marcklingen", + "html_url": "https://github.com/marcklingen" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2206, - "title": "Possibilities for auth", - "href": "https://github.com/orgs/langfuse/discussions/2206", - "created_at": "2024-06-01T23:38:39Z", - "upvotes": 1, - "comment_count": 1, - "resolved": true, + "number": 2237, + "title": "Add Langchain Support to Prompt Management", + "href": "https://github.com/orgs/langfuse/discussions/2237", + "created_at": "2024-06-05T10:05:13Z", + "upvotes": 34, + "comment_count": 5, + "resolved": false, "labels": [ - "self-hosting" + "feat-prompt-management", + "integration-langchain", + "✅ Done" ], "author": { - "login": "Getty", - "html_url": "https://github.com/Getty" + "login": "guidev", + "html_url": "https://github.com/guidev" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2200, - "title": "How does one replace values for a ChatPromptTemplate for Langchain", - "href": "https://github.com/orgs/langfuse/discussions/2200", - "created_at": "2024-05-31T19:39:14Z", - "upvotes": 0, - "comment_count": 2, + "number": 2226, + "title": "Monitoring Costs and Traces generated by RAGAS", + "href": "https://github.com/orgs/langfuse/discussions/2226", + "created_at": "2024-06-04T09:35:25Z", + "upvotes": 4, + "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "ajram23", - "html_url": "https://github.com/ajram23" + "login": "paolotamag", + "html_url": "https://github.com/paolotamag" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2188, - "title": "Time to first token?", - "href": "https://github.com/orgs/langfuse/discussions/2188", - "created_at": "2024-05-30T12:45:37Z", + "number": 2215, + "title": "new chart in dashboard for booleans metrics", + "href": "https://github.com/orgs/langfuse/discussions/2215", + "created_at": "2024-06-03T12:48:37Z", "upvotes": 1, "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "jrcapicua", - "html_url": "https://github.com/jrcapicua" + "login": "paolotamag", + "html_url": "https://github.com/paolotamag" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2172, - "title": "How to reuse callback handler in langchain integration?", - "href": "https://github.com/orgs/langfuse/discussions/2172", - "created_at": "2024-05-28T15:25:39Z", - "upvotes": 1, + "number": 2210, + "title": "MessagesPlaceholder in \"Create New Prompt\" panel", + "href": "https://github.com/orgs/langfuse/discussions/2210", + "created_at": "2024-06-03T06:58:45Z", + "upvotes": 6, "comment_count": 2, "resolved": false, "labels": [ - "integration-langchain" + "feat-prompt-management" ], "author": { - "login": "SebastianStehle", - "html_url": "https://github.com/SebastianStehle" + "login": "NIKsun", + "html_url": "https://github.com/NIKsun" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2165, - "title": "Auth0 not working", - "href": "https://github.com/orgs/langfuse/discussions/2165", - "created_at": "2024-05-28T11:38:43Z", - "upvotes": 2, - "comment_count": 3, + "number": 2209, + "title": "Enhance data in daily metrics api endpoint", + "href": "https://github.com/orgs/langfuse/discussions/2209", + "created_at": "2024-06-02T14:38:15Z", + "upvotes": 1, + "comment_count": 1, "resolved": false, "labels": [ - "self-hosting" + "✅ Done", + "feat-api" ], "author": { - "login": "mforell", - "html_url": "https://github.com/mforell" + "login": "matthiaslau", + "html_url": "https://github.com/matthiaslau" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2162, - "title": "Connect Prompt ID to GENERATIONS when integrate Langfuse in LangChain.", - "href": "https://github.com/orgs/langfuse/discussions/2162", - "created_at": "2024-05-28T00:56:34Z", - "upvotes": 8, - "comment_count": 1, - "resolved": true, - "labels": [], + "number": 2203, + "title": "Ability to add comments to versions of prompts (\"commit message\")", + "href": "https://github.com/orgs/langfuse/discussions/2203", + "created_at": "2024-06-01T13:13:27Z", + "upvotes": 4, + "comment_count": 4, + "resolved": false, + "labels": [ + "feat-prompt-management" + ], "author": { - "login": "hdp173", - "html_url": "https://github.com/hdp173" + "login": "ajram23", + "html_url": "https://github.com/ajram23" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2154, - "title": "__root__ -> items -> 0 -> datasetName field required (type=value_error.missing)", - "href": "https://github.com/orgs/langfuse/discussions/2154", - "created_at": "2024-05-27T11:26:24Z", - "upvotes": 1, - "comment_count": 2, + "number": 2195, + "title": "Timeline/graph visualization for traces", + "href": "https://github.com/orgs/langfuse/discussions/2195", + "created_at": "2024-05-31T08:18:11Z", + "upvotes": 7, + "comment_count": 4, "resolved": false, - "labels": [], + "labels": [ + "✅ Done" + ], "author": { - "login": "emailic", - "html_url": "https://github.com/emailic" + "login": "david1542", + "html_url": "https://github.com/david1542" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2152, - "title": "get_langchain_handler() alwasy start from trace root.", - "href": "https://github.com/orgs/langfuse/discussions/2152", - "created_at": "2024-05-27T10:47:42Z", - "upvotes": 1, + "number": 2194, + "title": "Terraform Provider for internal Langfuse configuration", + "href": "https://github.com/orgs/langfuse/discussions/2194", + "created_at": "2024-05-31T06:23:11Z", + "upvotes": 2, "comment_count": 1, "resolved": false, "labels": [ - "integration-langchain" + "self-hosting" ], "author": { - "login": "hdp173", - "html_url": "https://github.com/hdp173" + "login": "mroedder-d7", + "html_url": "https://github.com/mroedder-d7" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2146, - "title": "Customize LangChain Integration.", - "href": "https://github.com/orgs/langfuse/discussions/2146", - "created_at": "2024-05-27T06:12:41Z", - "upvotes": 1, - "comment_count": 1, - "resolved": true, - "labels": [ - "integration-langchain" - ], + "number": 2184, + "title": "support query prompt via prompt id", + "href": "https://github.com/orgs/langfuse/discussions/2184", + "created_at": "2024-05-30T02:55:59Z", + "upvotes": 1, + "comment_count": 1, + "resolved": false, + "labels": [], "author": { - "login": "hdp173", - "html_url": "https://github.com/hdp173" + "login": "hu9029", + "html_url": "https://github.com/hu9029" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2145, - "title": "Need help on syntax for editing project roles", - "href": "https://github.com/orgs/langfuse/discussions/2145", - "created_at": "2024-05-26T18:50:59Z", + "number": 2181, + "title": "Support for SDK entry-point wrapper around async REST API client", + "href": "https://github.com/orgs/langfuse/discussions/2181", + "created_at": "2024-05-29T17:50:22Z", "upvotes": 1, - "comment_count": 2, + "comment_count": 0, "resolved": false, "labels": [], "author": { - "login": "hrithik062", - "html_url": "https://github.com/hrithik062" + "login": "blazing-gig", + "html_url": "https://github.com/blazing-gig" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2142, - "title": "Unable to login with SSO", - "href": "https://github.com/orgs/langfuse/discussions/2142", - "created_at": "2024-05-24T18:40:35Z", - "upvotes": 1, + "number": 2176, + "title": "Support querying Users (GET) to support analytics pipeline solutions", + "href": "https://github.com/orgs/langfuse/discussions/2176", + "created_at": "2024-05-29T02:42:13Z", + "upvotes": 2, "comment_count": 1, - "resolved": true, - "labels": [], + "resolved": false, + "labels": [ + "feat-users" + ], "author": { - "login": "alecor191", - "html_url": "https://github.com/alecor191" + "login": "Tjmstudios", + "html_url": "https://github.com/Tjmstudios" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2137, - "title": "Latency (Avg) showing 0 for dataset runs", - "href": "https://github.com/orgs/langfuse/discussions/2137", - "created_at": "2024-05-24T07:33:51Z", + "number": 2161, + "title": "Prompt version only create when different", + "href": "https://github.com/orgs/langfuse/discussions/2161", + "created_at": "2024-05-27T23:47:21Z", "upvotes": 4, - "comment_count": 1, - "resolved": true, - "labels": [], + "comment_count": 2, + "resolved": false, + "labels": [ + "feat-prompt-management" + ], "author": { - "login": "karthik-TLIT", - "html_url": "https://github.com/karthik-TLIT" + "login": "brightsparc", + "html_url": "https://github.com/brightsparc" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2130, - "title": "Evaluations Not Available in Self-Hosted Version?", - "href": "https://github.com/orgs/langfuse/discussions/2130", - "created_at": "2024-05-23T14:31:16Z", - "upvotes": 3, + "number": 2140, + "title": "clickhouse support", + "href": "https://github.com/orgs/langfuse/discussions/2140", + "created_at": "2024-05-24T15:21:14Z", + "upvotes": 2, "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [ - "feat-evals" + "work-in-progress", + "performance" ], "author": { - "login": "c0pper", - "html_url": "https://github.com/c0pper" + "login": "newcworld", + "html_url": "https://github.com/newcworld" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2114, - "title": "Careers link on HN is broken", - "href": "https://github.com/orgs/langfuse/discussions/2114", - "created_at": "2024-05-21T07:28:26Z", - "upvotes": 1, + "number": 2131, + "title": "Export to data warehouses (BigQuery etc)", + "href": "https://github.com/orgs/langfuse/discussions/2131", + "created_at": "2024-05-23T15:52:18Z", + "upvotes": 18, "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [], "author": { - "login": "davherrmann", - "html_url": "https://github.com/davherrmann" + "login": "rohan-mehta", + "html_url": "https://github.com/rohan-mehta" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2111, - "title": "Token cost is counted even if langchains LLM cache is utilized", - "href": "https://github.com/orgs/langfuse/discussions/2111", - "created_at": "2024-05-20T23:23:44Z", + "number": 2124, + "title": "Proposal: Add Support for Uploading Dataset Items via UI", + "href": "https://github.com/orgs/langfuse/discussions/2124", + "created_at": "2024-05-22T10:58:04Z", "upvotes": 5, "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [ - "integration-langchain" + "feat-datasets" ], "author": { - "login": "arthurGrigo", - "html_url": "https://github.com/arthurGrigo" - }, - "category": "Support" - }, - { - "number": 2106, - "title": "Hability to store pre defined initial message", - "href": "https://github.com/orgs/langfuse/discussions/2106", - "created_at": "2024-05-20T20:40:23Z", - "upvotes": 1, - "comment_count": 1, - "resolved": true, - "labels": [], - "author": { - "login": "Lunik", - "html_url": "https://github.com/Lunik" + "login": "vaddenz", + "html_url": "https://github.com/vaddenz" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2099, - "title": "Deleting Duplicate Items in a Dataset", - "href": "https://github.com/orgs/langfuse/discussions/2099", - "created_at": "2024-05-20T09:48:58Z", + "number": 2119, + "title": "Phidata support", + "href": "https://github.com/orgs/langfuse/discussions/2119", + "created_at": "2024-05-21T14:20:09Z", "upvotes": 1, "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [ - "feat-datasets" + "integrations" ], "author": { - "login": "emailic", - "html_url": "https://github.com/emailic" + "login": "michaelpoluektov", + "html_url": "https://github.com/michaelpoluektov" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2098, - "title": "Wrong model for billing", - "href": "https://github.com/orgs/langfuse/discussions/2098", - "created_at": "2024-05-20T09:29:33Z", + "number": 2104, + "title": "Feature Request: Tracing Sampling Rate Configuration for Langfuse", + "href": "https://github.com/orgs/langfuse/discussions/2104", + "created_at": "2024-05-20T16:23:05Z", "upvotes": 2, "comment_count": 1, - "resolved": true, - "labels": [], + "resolved": false, + "labels": [ + "✅ Done" + ], "author": { - "login": "wdxwj", - "html_url": "https://github.com/wdxwj" + "login": "himansrivastava", + "html_url": "https://github.com/himansrivastava" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2077, - "title": "Error Encountered During Migration for Applying Newly Supported Models to Existing Data", - "href": "https://github.com/orgs/langfuse/discussions/2077", - "created_at": "2024-05-16T15:30:33Z", + "number": 2101, + "title": "feat: Adding AWS Cognito Authentication", + "href": "https://github.com/orgs/langfuse/discussions/2101", + "created_at": "2024-05-20T14:30:32Z", "upvotes": 1, - "comment_count": 1, + "comment_count": 2, "resolved": false, - "labels": [], + "labels": [ + "✅ Done", + "feat-auth" + ], "author": { - "login": "Zherdev1996", - "html_url": "https://github.com/Zherdev1996" + "login": "Shekswess", + "html_url": "https://github.com/Shekswess" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2073, - "title": "Will Playground be available for self-hosted?", - "href": "https://github.com/orgs/langfuse/discussions/2073", - "created_at": "2024-05-16T12:40:30Z", - "upvotes": 5, - "comment_count": 2, - "resolved": true, + "number": 2097, + "title": "Markdown Rendering Option", + "href": "https://github.com/orgs/langfuse/discussions/2097", + "created_at": "2024-05-18T16:58:37Z", + "upvotes": 4, + "comment_count": 4, + "resolved": false, "labels": [ - "feat-playground" + "✅ Done" ], "author": { - "login": "sabatesduran", - "html_url": "https://github.com/sabatesduran" + "login": "hburrichter", + "html_url": "https://github.com/hburrichter" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2070, - "title": "Error on Local Deployment: \"Evals available in cloud only\" when Adding LLM API Key", - "href": "https://github.com/orgs/langfuse/discussions/2070", - "created_at": "2024-05-16T09:02:43Z", + "number": 2081, + "title": "feat: inject langfuse info into langchain metadata", + "href": "https://github.com/orgs/langfuse/discussions/2081", + "created_at": "2024-05-16T20:43:41Z", "upvotes": 1, - "comment_count": 1, + "comment_count": 0, "resolved": false, - "labels": [], + "labels": [ + "integration-langchain" + ], "author": { - "login": "youngsj951104", - "html_url": "https://github.com/youngsj951104" + "login": "benobytes", + "html_url": "https://github.com/benobytes" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2069, - "title": "Does langfuse uses any Postgres-only features?", - "href": "https://github.com/orgs/langfuse/discussions/2069", - "created_at": "2024-05-16T06:36:16Z", - "upvotes": 2, - "comment_count": 1, - "resolved": true, + "number": 2072, + "title": "Adding prompt tags via Python SDK (or other code based interactions)", + "href": "https://github.com/orgs/langfuse/discussions/2072", + "created_at": "2024-05-16T09:46:20Z", + "upvotes": 5, + "comment_count": 2, + "resolved": false, "labels": [], "author": { - "login": "rohts-patil", - "html_url": "https://github.com/rohts-patil" + "login": "simon-hiel", + "html_url": "https://github.com/simon-hiel" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2063, - "title": "Exception(\"parent run not found\")", - "href": "https://github.com/orgs/langfuse/discussions/2063", - "created_at": "2024-05-15T14:45:00Z", - "upvotes": 1, - "comment_count": 1, + "number": 2071, + "title": "Save playground conversation to a dataset", + "href": "https://github.com/orgs/langfuse/discussions/2071", + "created_at": "2024-05-16T09:24:29Z", + "upvotes": 3, + "comment_count": 0, "resolved": false, - "labels": [], + "labels": [ + "feat-datasets", + "feat-playground" + ], "author": { - "login": "emailic", - "html_url": "https://github.com/emailic" + "login": "bderenzi", + "html_url": "https://github.com/bderenzi" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2042, - "title": "Availability of evals when self-hosting", - "href": "https://github.com/orgs/langfuse/discussions/2042", - "created_at": "2024-05-13T14:06:11Z", - "upvotes": 2, + "number": 2065, + "title": "Support multiple prompts attached to a generation.", + "href": "https://github.com/orgs/langfuse/discussions/2065", + "created_at": "2024-05-15T22:16:35Z", + "upvotes": 3, "comment_count": 1, - "resolved": true, - "labels": [ - "feat-evals" - ], + "resolved": false, + "labels": [], "author": { - "login": "derevyan", - "html_url": "https://github.com/derevyan" + "login": "jansenderr", + "html_url": "https://github.com/jansenderr" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2031, - "title": "Starting a demo from JS SDK and local running Langfuse, but cannot create init trace currently", - "href": "https://github.com/orgs/langfuse/discussions/2031", - "created_at": "2024-05-10T08:49:40Z", + "number": 2064, + "title": "Show explicit error when viewing a project that doesn't exist", + "href": "https://github.com/orgs/langfuse/discussions/2064", + "created_at": "2024-05-15T16:49:32Z", "upvotes": 1, - "comment_count": 1, + "comment_count": 0, "resolved": false, "labels": [], "author": { - "login": "JamieLee0510", - "html_url": "https://github.com/JamieLee0510" + "login": "backmask", + "html_url": "https://github.com/backmask" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2009, - "title": "Custom name of Span when using Langchain handler instead of RunnableSequence", - "href": "https://github.com/orgs/langfuse/discussions/2009", - "created_at": "2024-05-08T12:23:08Z", - "upvotes": 1, - "comment_count": 1, - "resolved": true, + "number": 2045, + "title": "Requesting official support OpenAI's new gpt-4o model", + "href": "https://github.com/orgs/langfuse/discussions/2045", + "created_at": "2024-05-13T21:37:38Z", + "upvotes": 3, + "comment_count": 5, + "resolved": false, "labels": [ - "integration-langchain" + "integration-openai", + "✅ Done", + "feat-cost-tracking" ], "author": { - "login": "nathan-vo810", - "html_url": "https://github.com/nathan-vo810" + "login": "varenc", + "html_url": "https://github.com/varenc" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2008, - "title": "Not able to add dataset item", - "href": "https://github.com/orgs/langfuse/discussions/2008", - "created_at": "2024-05-08T12:11:04Z", - "upvotes": 1, + "number": 2043, + "title": "Support instrumentation through openllmetry", + "href": "https://github.com/orgs/langfuse/discussions/2043", + "created_at": "2024-05-13T19:27:59Z", + "upvotes": 8, "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "nithin1995", - "html_url": "https://github.com/nithin1995" + "login": "baggiponte", + "html_url": "https://github.com/baggiponte" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2007, - "title": "Langfuse in PHP. Which are the minimum functions needed to implement?", - "href": "https://github.com/orgs/langfuse/discussions/2007", - "created_at": "2024-05-08T10:55:07Z", - "upvotes": 1, + "number": 2039, + "title": "Introduce the concept of \"sub-prompt\" to improve prompt reusability", + "href": "https://github.com/orgs/langfuse/discussions/2039", + "created_at": "2024-05-13T10:14:44Z", + "upvotes": 3, "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "phpia", - "html_url": "https://github.com/phpia" + "login": "khaelys", + "html_url": "https://github.com/khaelys" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2005, - "title": "How to get trace data with langfuse-langchain in JS/TS?", - "href": "https://github.com/orgs/langfuse/discussions/2005", - "created_at": "2024-05-08T08:08:42Z", + "number": 2030, + "title": "Add number of 'successful request' to traces list view", + "href": "https://github.com/orgs/langfuse/discussions/2030", + "created_at": "2024-05-09T23:25:27Z", "upvotes": 1, - "comment_count": 2, - "resolved": true, - "labels": [ - "integration-langchain" - ], + "comment_count": 1, + "resolved": false, + "labels": [], "author": { - "login": "AdiletBekmuratov", - "html_url": "https://github.com/AdiletBekmuratov" + "login": "arthurGrigo", + "html_url": "https://github.com/arthurGrigo" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1982, - "title": "trace doesn't work with .batch handler on langserve", - "href": "https://github.com/orgs/langfuse/discussions/1982", - "created_at": "2024-05-06T02:32:30Z", - "upvotes": 2, - "comment_count": 0, + "number": 2021, + "title": "Ask for a import/export on prompt management page", + "href": "https://github.com/orgs/langfuse/discussions/2021", + "created_at": "2024-05-09T03:17:50Z", + "upvotes": 1, + "comment_count": 2, "resolved": false, "labels": [], "author": { - "login": "restuprajna", - "html_url": "https://github.com/restuprajna" + "login": "ShaunDeng", + "html_url": "https://github.com/ShaunDeng" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1979, - "title": "get_prompt function failed in langfuse-python 2.28.3", - "href": "https://github.com/orgs/langfuse/discussions/1979", - "created_at": "2024-05-05T19:57:40Z", + "number": 2006, + "title": "Gitlab Auth Provider", + "href": "https://github.com/orgs/langfuse/discussions/2006", + "created_at": "2024-05-08T10:12:51Z", "upvotes": 1, "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [], "author": { - "login": "nathan-vo810", - "html_url": "https://github.com/nathan-vo810" + "login": "jsirex", + "html_url": "https://github.com/jsirex" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1969, - "title": "How to utilize a dataset w/ typescript and langchain integration", - "href": "https://github.com/orgs/langfuse/discussions/1969", - "created_at": "2024-05-03T15:22:21Z", - "upvotes": 1, - "comment_count": 2, + "number": 1990, + "title": "Add batch actions to traces", + "href": "https://github.com/orgs/langfuse/discussions/1990", + "created_at": "2024-05-07T09:37:42Z", + "upvotes": 3, + "comment_count": 0, "resolved": false, - "labels": [ - "✅ Done", - "feat-datasets" - ], + "labels": [], "author": { - "login": "sahellebusch", - "html_url": "https://github.com/sahellebusch" + "login": "nimbusaeta", + "html_url": "https://github.com/nimbusaeta" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1957, - "title": "DevOps: What is the best way to create separate Langfuse instances in different environments: Dev, Test, QA, Prod?", - "href": "https://github.com/orgs/langfuse/discussions/1957", - "created_at": "2024-05-02T21:28:07Z", - "upvotes": 2, - "comment_count": 2, - "resolved": true, + "number": 1988, + "title": "Upload datasets via UI", + "href": "https://github.com/orgs/langfuse/discussions/1988", + "created_at": "2024-05-06T20:25:20Z", + "upvotes": 9, + "comment_count": 1, + "resolved": false, "labels": [ - "self-hosting" + "feat-datasets" ], "author": { - "login": "aiakubovich", - "html_url": "https://github.com/aiakubovich" + "login": "assafweinberg", + "html_url": "https://github.com/assafweinberg" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1952, - "title": "How to communicate trace-id between backend and frontend ? (langchain+langserve integration)", - "href": "https://github.com/orgs/langfuse/discussions/1952", - "created_at": "2024-05-02T13:48:20Z", - "upvotes": 1, - "comment_count": 3, + "number": 1987, + "title": "API/UI to delete dataset items and runs", + "href": "https://github.com/orgs/langfuse/discussions/1987", + "created_at": "2024-05-06T17:13:16Z", + "upvotes": 24, + "comment_count": 2, "resolved": false, "labels": [ - "integration-langchain" + "feat-datasets" ], "author": { - "login": "Sinnaeve", - "html_url": "https://github.com/Sinnaeve" + "login": "tomek82", + "html_url": "https://github.com/tomek82" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1946, - "title": "Not able to build docker image from web/Dockerfile", - "href": "https://github.com/orgs/langfuse/discussions/1946", - "created_at": "2024-05-02T09:41:18Z", - "upvotes": 2, - "comment_count": 1, - "resolved": true, + "number": 1963, + "title": "Is it possible integrate Langfuse with Microsoft Copilot Studio?", + "href": "https://github.com/orgs/langfuse/discussions/1963", + "created_at": "2024-05-03T03:33:22Z", + "upvotes": 1, + "comment_count": 0, + "resolved": false, + "labels": [], + "author": { + "login": "aiakubovich", + "html_url": "https://github.com/aiakubovich" + }, + "category": "Ideas" + }, + { + "number": 2055, + "title": "Openai: Support IO capture when streaming function / tool call", + "href": "https://github.com/orgs/langfuse/discussions/2055", + "created_at": "2024-05-01T15:25:15Z", + "upvotes": 16, + "comment_count": 7, + "resolved": false, "labels": [ - "self-hosting" + "sdk-python", + "integration-openai", + "✅ Done" ], "author": { - "login": "Subham0793", - "html_url": "https://github.com/Subham0793" + "login": "DanrForetellix", + "html_url": "https://github.com/DanrForetellix" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1940, - "title": "Simple Prompt -> LLM error with Usage Object?", - "href": "https://github.com/orgs/langfuse/discussions/1940", - "created_at": "2024-05-01T13:47:14Z", - "upvotes": 2, + "number": 1941, + "title": "Looking into allowing more customization of the table", + "href": "https://github.com/orgs/langfuse/discussions/1941", + "created_at": "2024-05-01T14:47:32Z", + "upvotes": 1, "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [], "author": { - "login": "tzilkha", - "html_url": "https://github.com/tzilkha" + "login": "Mohamed-Ayaan358", + "html_url": "https://github.com/Mohamed-Ayaan358" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1864, - "title": "Can't see traces in the webUI if callback_handler passed to LLM init constructor", - "href": "https://github.com/orgs/langfuse/discussions/1864", - "created_at": "2024-04-25T21:01:54Z", + "number": 1916, + "title": "Langchain integration Improvements", + "href": "https://github.com/orgs/langfuse/discussions/1916", + "created_at": "2024-04-30T13:23:19Z", "upvotes": 2, - "comment_count": 1, + "comment_count": 2, "resolved": false, - "labels": [], + "labels": [ + "integration-langchain", + "✅ Done" + ], "author": { - "login": "gabrielfior", - "html_url": "https://github.com/gabrielfior" + "login": "ajram23", + "html_url": "https://github.com/ajram23" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1860, - "title": "Alter generation names with LangChain integration", - "href": "https://github.com/orgs/langfuse/discussions/1860", - "created_at": "2024-04-25T18:12:35Z", + "number": 1904, + "title": "Retrieve prompts based on versioning rather than times for caching", + "href": "https://github.com/orgs/langfuse/discussions/1904", + "created_at": "2024-04-29T14:04:27Z", "upvotes": 1, - "comment_count": 1, - "resolved": true, + "comment_count": 2, + "resolved": false, "labels": [ - "integration-langchain" + "feat-prompt-management" ], "author": { - "login": "nic-asnes-klaviyo", - "html_url": "https://github.com/nic-asnes-klaviyo" + "login": "ajram23", + "html_url": "https://github.com/ajram23" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1831, - "title": "how to check only output tokens and models costs related to only output tokens?", - "href": "https://github.com/orgs/langfuse/discussions/1831", - "created_at": "2024-04-24T12:27:17Z", - "upvotes": 2, - "comment_count": 1, + "number": 1896, + "title": "Delete Session", + "href": "https://github.com/orgs/langfuse/discussions/1896", + "created_at": "2024-04-29T08:01:05Z", + "upvotes": 15, + "comment_count": 0, "resolved": false, - "labels": [], + "labels": [ + "feat-sessions" + ], "author": { - "login": "manishiitg", - "html_url": "https://github.com/manishiitg" + "login": "rohan-gt", + "html_url": "https://github.com/rohan-gt" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1814, - "title": "Deploy to heroku", - "href": "https://github.com/orgs/langfuse/discussions/1814", - "created_at": "2024-04-23T13:56:27Z", - "upvotes": 1, - "comment_count": 2, - "resolved": true, + "number": 1895, + "title": "linking prompts with tracing in langchain integration", + "href": "https://github.com/orgs/langfuse/discussions/1895", + "created_at": "2024-04-28T13:13:08Z", + "upvotes": 10, + "comment_count": 3, + "resolved": false, "labels": [ - "self-hosting" + "feat-prompt-management", + "integration-langchain", + "✅ Done" ], "author": { - "login": "MarcoSteinke", - "html_url": "https://github.com/MarcoSteinke" + "login": "SatheeshJM", + "html_url": "https://github.com/SatheeshJM" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1788, - "title": "Need help with resolving long runtimes when Langfuse tracing is enabled", - "href": "https://github.com/orgs/langfuse/discussions/1788", - "created_at": "2024-04-19T17:46:05Z", - "upvotes": 2, + "number": 1867, + "title": "Add integration with evaluation frameworks", + "href": "https://github.com/orgs/langfuse/discussions/1867", + "created_at": "2024-04-25T23:09:03Z", + "upvotes": 1, "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "pooja1423", - "html_url": "https://github.com/pooja1423" + "login": "johnnydevriese", + "html_url": "https://github.com/johnnydevriese" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1785, - "title": "How to limit the number of traces", - "href": "https://github.com/orgs/langfuse/discussions/1785", - "created_at": "2024-04-19T10:29:17Z", + "number": 1862, + "title": "Support Linking Execution Trace to DatasetItem without Fetching Entire Dataset", + "href": "https://github.com/orgs/langfuse/discussions/1862", + "created_at": "2024-04-25T18:57:08Z", "upvotes": 1, "comment_count": 1, "resolved": false, - "labels": [], + "labels": [ + "feat-datasets" + ], "author": { - "login": "secsilm", - "html_url": "https://github.com/secsilm" + "login": "sfarthin", + "html_url": "https://github.com/sfarthin" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1773, - "title": "Flowise 1.6.5 can not Trace", - "href": "https://github.com/orgs/langfuse/discussions/1773", - "created_at": "2024-04-18T11:55:32Z", + "number": 1858, + "title": "Platform User roles to allow or disable project creation", + "href": "https://github.com/orgs/langfuse/discussions/1858", + "created_at": "2024-04-25T16:00:12Z", "upvotes": 1, - "comment_count": 1, + "comment_count": 2, "resolved": false, - "labels": [], + "labels": [ + "✅ Done", + "feat-rbac" + ], "author": { - "login": "lknbv5", - "html_url": "https://github.com/lknbv5" + "login": "JMcGenn", + "html_url": "https://github.com/JMcGenn" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1759, - "title": "How to get generations and scores in the same trace when using OpenAI sdk or other tools", - "href": "https://github.com/orgs/langfuse/discussions/1759", - "created_at": "2024-04-17T15:56:51Z", - "upvotes": 1, + "number": 1851, + "title": "[oauth] Keycloak provider support", + "href": "https://github.com/orgs/langfuse/discussions/1851", + "created_at": "2024-04-25T12:39:26Z", + "upvotes": 7, "comment_count": 1, "resolved": false, - "labels": [], + "labels": [ + "self-hosting" + ], "author": { - "login": "databill86", - "html_url": "https://github.com/databill86" + "login": "9teen90nine", + "html_url": "https://github.com/9teen90nine" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1712, - "title": "Invalid public key", - "href": "https://github.com/orgs/langfuse/discussions/1712", - "created_at": "2024-04-14T18:11:51Z", + "number": 1843, + "title": "Support GigaChat model from LangChain", + "href": "https://github.com/orgs/langfuse/discussions/1843", + "created_at": "2024-04-25T09:24:07Z", "upvotes": 1, - "comment_count": 1, + "comment_count": 0, "resolved": false, - "labels": [], + "labels": [ + "integration-langchain" + ], "author": { - "login": "taaha3244", - "html_url": "https://github.com/taaha3244" + "login": "Rai220", + "html_url": "https://github.com/Rai220" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1672, - "title": "Cookies not allowed", - "href": "https://github.com/orgs/langfuse/discussions/1672", - "created_at": "2024-04-11T07:43:53Z", + "number": 1830, + "title": "Decorator should also be able to return JSON or Dictionary object", + "href": "https://github.com/orgs/langfuse/discussions/1830", + "created_at": "2024-04-24T09:41:39Z", "upvotes": 1, - "comment_count": 3, + "comment_count": 2, "resolved": false, "labels": [], "author": { - "login": "danielpirs", - "html_url": "https://github.com/danielpirs" + "login": "nathan-vo810", + "html_url": "https://github.com/nathan-vo810" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1649, - "title": "Run Langchain Evaluations on data in Langfuse , Why is the prompt not considered, and could this lead to evaluation flaws?", - "href": "https://github.com/orgs/langfuse/discussions/1649", - "created_at": "2024-04-10T05:25:28Z", + "number": 1826, + "title": "Having a session_with_user client", + "href": "https://github.com/orgs/langfuse/discussions/1826", + "created_at": "2024-04-24T08:31:05Z", "upvotes": 1, - "comment_count": 1, + "comment_count": 0, "resolved": false, "labels": [], "author": { - "login": "pengpengIlove", - "html_url": "https://github.com/pengpengIlove" + "login": "rtzy7", + "html_url": "https://github.com/rtzy7" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1610, - "title": "Scoring a trace after the LLM chain returns", - "href": "https://github.com/orgs/langfuse/discussions/1610", - "created_at": "2024-04-07T15:12:34Z", + "number": 1823, + "title": "Change `/api/chatCompletion` to be a standard OpenAI proxy on `/api/v1/chat/completions`?", + "href": "https://github.com/orgs/langfuse/discussions/1823", + "created_at": "2024-04-23T19:48:34Z", "upvotes": 1, "comment_count": 1, - "resolved": true, + "resolved": false, + "labels": [], + "author": { + "login": "Manouchehri", + "html_url": "https://github.com/Manouchehri" + }, + "category": "Ideas" + }, + { + "number": 1820, + "title": "Auth using Microsoft Entra ID", + "href": "https://github.com/orgs/langfuse/discussions/1820", + "created_at": "2024-04-23T18:32:42Z", + "upvotes": 1, + "comment_count": 2, + "resolved": false, "labels": [ - "feat-scores" + "✅ Done", + "self-hosting" ], "author": { - "login": "pooja1423", - "html_url": "https://github.com/pooja1423" + "login": "Stadly", + "html_url": "https://github.com/Stadly" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1601, - "title": "Okta auth got `read ECONNRESET`", - "href": "https://github.com/orgs/langfuse/discussions/1601", - "created_at": "2024-04-04T03:46:08Z", - "upvotes": 1, + "number": 1816, + "title": "Add a metrics endpoint for Prometheus", + "href": "https://github.com/orgs/langfuse/discussions/1816", + "created_at": "2024-04-23T14:33:38Z", + "upvotes": 5, "comment_count": 2, "resolved": false, "labels": [], "author": { - "login": "tmwatchanan", - "html_url": "https://github.com/tmwatchanan" + "login": "nolwennz", + "html_url": "https://github.com/nolwennz" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1538, - "title": "Trace input is null when passing in nodes, or Documents with transformations to VectorStoreIndex constructor", - "href": "https://github.com/orgs/langfuse/discussions/1538", - "created_at": "2024-03-29T00:30:49Z", - "upvotes": 1, - "comment_count": 1, + "number": 1813, + "title": "Provide an integration with Matomo Analytics so as for Posthog", + "href": "https://github.com/orgs/langfuse/discussions/1813", + "created_at": "2024-04-23T12:24:41Z", + "upvotes": 12, + "comment_count": 4, "resolved": false, - "labels": [], + "labels": [ + "integrations" + ], "author": { - "login": "mwertheim-zco", - "html_url": "https://github.com/mwertheim-zco" + "login": "Chardonneaur", + "html_url": "https://github.com/Chardonneaur" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1536, - "title": "Tracing and Session support on Integrations like LiteLLM Proxy and others and Is LangFuse logging a background process?", - "href": "https://github.com/orgs/langfuse/discussions/1536", - "created_at": "2024-03-28T20:22:49Z", + "number": 1800, + "title": "Add command r/command r plus via Azure Marketplace", + "href": "https://github.com/orgs/langfuse/discussions/1800", + "created_at": "2024-04-22T16:11:38Z", + "upvotes": 2, + "comment_count": 2, + "resolved": false, + "labels": [ + "bug", + "integration-langchain" + ], + "author": { + "login": "jayfk", + "html_url": "https://github.com/jayfk" + }, + "category": "Ideas" + }, + { + "number": 1794, + "title": "User-level dashboard", + "href": "https://github.com/orgs/langfuse/discussions/1794", + "created_at": "2024-04-22T01:56:15Z", "upvotes": 1, "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [ - "integration-litellm", - "feat-sessions" + "feat-users" ], "author": { - "login": "Harryalways317", - "html_url": "https://github.com/Harryalways317" + "login": "secsilm", + "html_url": "https://github.com/secsilm" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1528, - "title": "Aggregated project from multiple langfuse servers", - "href": "https://github.com/orgs/langfuse/discussions/1528", - "created_at": "2024-03-28T09:01:37Z", - "upvotes": 3, + "number": 1793, + "title": "Request chart of min/avg/max input/output tokens", + "href": "https://github.com/orgs/langfuse/discussions/1793", + "created_at": "2024-04-21T13:33:39Z", + "upvotes": 2, "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "juan-abia", - "html_url": "https://github.com/juan-abia" + "login": "secsilm", + "html_url": "https://github.com/secsilm" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1524, - "title": "How to add default user and project to self-hosted docker?", - "href": "https://github.com/orgs/langfuse/discussions/1524", - "created_at": "2024-03-28T08:00:07Z", + "number": 1783, + "title": "Limit new user registration", + "href": "https://github.com/orgs/langfuse/discussions/1783", + "created_at": "2024-04-19T09:34:55Z", "upvotes": 1, - "comment_count": 2, - "resolved": true, + "comment_count": 1, + "resolved": false, "labels": [ "self-hosting" ], "author": { - "login": "tzsombor95", - "html_url": "https://github.com/tzsombor95" + "login": "secsilm", + "html_url": "https://github.com/secsilm" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1512, - "title": "[Alerts] Connect to Slack", - "href": "https://github.com/orgs/langfuse/discussions/1512", - "created_at": "2024-03-27T08:04:49Z", - "upvotes": 4, + "number": 1781, + "title": "feature for python client:get traces by score", + "href": "https://github.com/orgs/langfuse/discussions/1781", + "created_at": "2024-04-19T09:12:48Z", + "upvotes": 1, "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [], "author": { - "login": "hypernovas", - "html_url": "https://github.com/hypernovas" + "login": "StarsSparkle", + "html_url": "https://github.com/StarsSparkle" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1486, - "title": "Update/delete score using python sdk", - "href": "https://github.com/orgs/langfuse/discussions/1486", - "created_at": "2024-03-25T20:13:55Z", - "upvotes": 5, + "number": 1780, + "title": "Log for Function Calling", + "href": "https://github.com/orgs/langfuse/discussions/1780", + "created_at": "2024-04-19T06:40:55Z", + "upvotes": 6, "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [ - "feat-scores" + "integration-openai" ], "author": { - "login": "msanand", - "html_url": "https://github.com/msanand" + "login": "jaindees", + "html_url": "https://github.com/jaindees" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1481, - "title": "502-Bad Request", - "href": "https://github.com/orgs/langfuse/discussions/1481", - "created_at": "2024-03-22T13:06:18Z", + "number": 1776, + "title": "SSO: Cognito", + "href": "https://github.com/orgs/langfuse/discussions/1776", + "created_at": "2024-04-18T20:40:43Z", "upvotes": 1, - "comment_count": 3, - "resolved": true, + "comment_count": 2, + "resolved": false, "labels": [ + "✅ Done", "self-hosting" ], "author": { - "login": "tbarbito", - "html_url": "https://github.com/tbarbito" + "login": "theluk", + "html_url": "https://github.com/theluk" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1466, - "title": "bug: Potential bug with AzureAD auth setup", - "href": "https://github.com/orgs/langfuse/discussions/1466", - "created_at": "2024-03-22T07:12:43Z", + "number": 1774, + "title": "PromptClient: Support mustache type export to langchain", + "href": "https://github.com/orgs/langfuse/discussions/1774", + "created_at": "2024-04-18T18:52:40Z", "upvotes": 1, "comment_count": 1, "resolved": false, - "labels": [ - "self-hosting" - ], + "labels": [], "author": { - "login": "mprudra", - "html_url": "https://github.com/mprudra" + "login": "maxjacu", + "html_url": "https://github.com/maxjacu" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1449, - "title": "Langfuse session ID when using Chainlit", - "href": "https://github.com/orgs/langfuse/discussions/1449", - "created_at": "2024-03-20T00:57:09Z", + "number": 1770, + "title": "New REST API endpoint to get all prompts", + "href": "https://github.com/orgs/langfuse/discussions/1770", + "created_at": "2024-04-18T02:40:14Z", "upvotes": 1, "comment_count": 2, "resolved": false, "labels": [], "author": { - "login": "tituslhy", - "html_url": "https://github.com/tituslhy" + "login": "zoltan-fedor", + "html_url": "https://github.com/zoltan-fedor" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1445, - "title": "Linking dataset run items with existing callback handler", - "href": "https://github.com/orgs/langfuse/discussions/1445", - "created_at": "2024-03-19T16:54:54Z", + "number": 1769, + "title": "Request chart of the generation speed of tokens (tokens/s)", + "href": "https://github.com/orgs/langfuse/discussions/1769", + "created_at": "2024-04-18T02:14:37Z", "upvotes": 1, "comment_count": 1, "resolved": false, - "labels": [ - "feat-datasets" - ], + "labels": [], "author": { - "login": "subandwho", - "html_url": "https://github.com/subandwho" + "login": "secsilm", + "html_url": "https://github.com/secsilm" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1434, - "title": "Add UserID and Feedback when using LlamaIndex Integration", - "href": "https://github.com/orgs/langfuse/discussions/1434", - "created_at": "2024-03-18T20:24:29Z", - "upvotes": 1, - "comment_count": 1, - "resolved": true, + "number": 1760, + "title": "annotation of traces in langfuse console?", + "href": "https://github.com/orgs/langfuse/discussions/1760", + "created_at": "2024-04-17T17:51:47Z", + "upvotes": 3, + "comment_count": 2, + "resolved": false, "labels": [ - "integraton-llamaindex" + "✅ Done", + "feat-annotation" ], "author": { - "login": "skelleex", - "html_url": "https://github.com/skelleex" + "login": "erik-squared", + "html_url": "https://github.com/erik-squared" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1432, - "title": "langfuse.api.resources.commons.errors.not_found_error.NotFoundError: status_code: 404, body: {'message': 'Observation not found'}", - "href": "https://github.com/orgs/langfuse/discussions/1432", - "created_at": "2024-03-18T13:29:05Z", - "upvotes": 1, - "comment_count": 1, + "number": 1755, + "title": "feat: Prompt API Search (by tags)", + "href": "https://github.com/orgs/langfuse/discussions/1755", + "created_at": "2024-04-17T09:37:50Z", + "upvotes": 2, + "comment_count": 2, "resolved": false, - "labels": [], - "author": { - "login": "emailic", - "html_url": "https://github.com/emailic" - }, - "category": "Support" - }, - { - "number": 1429, - "title": "Hybrid usage Langfuse among OpenAI calls as well Langchain", - "href": "https://github.com/orgs/langfuse/discussions/1429", - "created_at": "2024-03-17T14:09:57Z", - "upvotes": 1, - "comment_count": 1, - "resolved": true, - "labels": [], + "labels": [ + "✅ Done" + ], "author": { - "login": "mikeon", - "html_url": "https://github.com/mikeon" + "login": "bryan-agicap", + "html_url": "https://github.com/bryan-agicap" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1420, - "title": "Datasets list / by id", - "href": "https://github.com/orgs/langfuse/discussions/1420", - "created_at": "2024-03-15T02:22:27Z", + "number": 1744, + "title": "Is it possible to support Dify?", + "href": "https://github.com/orgs/langfuse/discussions/1744", + "created_at": "2024-04-16T20:55:11Z", "upvotes": 2, "comment_count": 2, - "resolved": true, + "resolved": false, "labels": [ - "feat-datasets" + "integrations", + "✅ Done", + "integration-dify" ], "author": { - "login": "norton120", - "html_url": "https://github.com/norton120" + "login": "jtsang4", + "html_url": "https://github.com/jtsang4" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1417, - "title": "Running Langfuse in Kubernetes", - "href": "https://github.com/orgs/langfuse/discussions/1417", - "created_at": "2024-03-14T19:59:42Z", + "number": 1716, + "title": "feat: Add `TRACE_EVENTS` flag", + "href": "https://github.com/orgs/langfuse/discussions/1716", + "created_at": "2024-04-15T12:29:30Z", "upvotes": 1, "comment_count": 2, - "resolved": true, - "labels": [], - "author": { - "login": "mikeon", - "html_url": "https://github.com/mikeon" - }, - "category": "Support" - }, - { - "number": 1382, - "title": "Match LLMs from AWS Bedrock to added model definition", - "href": "https://github.com/orgs/langfuse/discussions/1382", - "created_at": "2024-03-09T08:28:53Z", - "upvotes": 2, - "comment_count": 0, "resolved": false, - "labels": [], + "labels": [ + "✅ Done" + ], "author": { - "login": "DominikNeumaier", - "html_url": "https://github.com/DominikNeumaier" + "login": "JorisAndrade", + "html_url": "https://github.com/JorisAndrade" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1380, - "title": "Langfuse flush() taking a long time and hangs", - "href": "https://github.com/orgs/langfuse/discussions/1380", - "created_at": "2024-03-09T00:09:55Z", + "number": 1715, + "title": "Add support for ZITADEL OIDC", + "href": "https://github.com/orgs/langfuse/discussions/1715", + "created_at": "2024-04-15T12:27:54Z", "upvotes": 1, - "comment_count": 2, - "resolved": true, - "labels": [], + "comment_count": 1, + "resolved": false, + "labels": [ + "self-hosting" + ], "author": { - "login": "venu-shapley", - "html_url": "https://github.com/venu-shapley" + "login": "bitfactory-sem-denbroeder", + "html_url": "https://github.com/bitfactory-sem-denbroeder" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1373, - "title": "How to fix error when running docs app demo chat", - "href": "https://github.com/orgs/langfuse/discussions/1373", - "created_at": "2024-03-08T00:08:46Z", - "upvotes": 1, + "number": 1711, + "title": "Webhook to trigger CI/CD pipeline when new prompt version is created", + "href": "https://github.com/orgs/langfuse/discussions/1711", + "created_at": "2024-04-14T13:46:30Z", + "upvotes": 5, "comment_count": 1, - "resolved": true, - "labels": [], + "resolved": false, + "labels": [ + "feat-prompt-management", + "feat-api" + ], "author": { - "login": "luandro", - "html_url": "https://github.com/luandro" + "login": "tamdoEH", + "html_url": "https://github.com/tamdoEH" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1357, - "title": "Run items not appearing when linking to a trace and not a span or a generation", - "href": "https://github.com/orgs/langfuse/discussions/1357", - "created_at": "2024-03-07T10:17:34Z", - "upvotes": 1, - "comment_count": 2, - "resolved": true, + "number": 1710, + "title": "Review feature for prompt deployment", + "href": "https://github.com/orgs/langfuse/discussions/1710", + "created_at": "2024-04-14T13:39:50Z", + "upvotes": 3, + "comment_count": 3, + "resolved": false, "labels": [ - "feat-datasets" + "feat-prompt-management" ], "author": { - "login": "ladislasdellinger", - "html_url": "https://github.com/ladislasdellinger" + "login": "tamdoEH", + "html_url": "https://github.com/tamdoEH" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1353, - "title": "How do I add custom LLM APIs to the Langfuse UI?", - "href": "https://github.com/orgs/langfuse/discussions/1353", - "created_at": "2024-03-07T06:33:23Z", - "upvotes": 0, - "comment_count": 1, + "number": 1707, + "title": "API for custom model <> token usage pricing", + "href": "https://github.com/orgs/langfuse/discussions/1707", + "created_at": "2024-04-13T22:37:38Z", + "upvotes": 3, + "comment_count": 2, "resolved": false, - "labels": [], + "labels": [ + "✅ Done", + "feat-api" + ], "author": { - "login": "yudhiesh", - "html_url": "https://github.com/yudhiesh" + "login": "rydamckinney", + "html_url": "https://github.com/rydamckinney" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1336, - "title": "Applying database migrations failed. This is mostly caused by the database being unavailable.", - "href": "https://github.com/orgs/langfuse/discussions/1336", - "created_at": "2024-03-06T09:10:19Z", - "upvotes": 1, - "comment_count": 2, + "number": 1696, + "title": "Export & import for prompts, copy between projects", + "href": "https://github.com/orgs/langfuse/discussions/1696", + "created_at": "2024-04-12T20:28:47Z", + "upvotes": 16, + "comment_count": 7, "resolved": false, - "labels": [], + "labels": [ + "feat-prompt-management" + ], "author": { - "login": "everyfin-in", - "html_url": "https://github.com/everyfin-in" + "login": "zoltan-fedor", + "html_url": "https://github.com/zoltan-fedor" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1335, - "title": "Openai and null traces for input/output/metadata", - "href": "https://github.com/orgs/langfuse/discussions/1335", - "created_at": "2024-03-06T02:02:46Z", + "number": 1692, + "title": "Read-only prompt keys?", + "href": "https://github.com/orgs/langfuse/discussions/1692", + "created_at": "2024-04-12T00:57:44Z", "upvotes": 2, - "comment_count": 0, + "comment_count": 2, "resolved": false, "labels": [], "author": { - "login": "aiakubovich", - "html_url": "https://github.com/aiakubovich" + "login": "Manouchehri", + "html_url": "https://github.com/Manouchehri" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1328, - "title": "Incompatibility between openllmetry and langfuse OpenAI wrapper", - "href": "https://github.com/orgs/langfuse/discussions/1328", - "created_at": "2024-03-05T17:03:34Z", + "number": 1671, + "title": "Ability to run langfuse in tests automatically without manual involvement", + "href": "https://github.com/orgs/langfuse/discussions/1671", + "created_at": "2024-04-11T05:29:44Z", "upvotes": 1, - "comment_count": 1, + "comment_count": 2, "resolved": false, - "labels": [], + "labels": [ + "✅ Done", + "self-hosting" + ], "author": { - "login": "pamelafox", - "html_url": "https://github.com/pamelafox" + "login": "SinghCoder", + "html_url": "https://github.com/SinghCoder" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1326, - "title": "Does Langfuse integrate with LiteLLM Proxy Server?", - "href": "https://github.com/orgs/langfuse/discussions/1326", - "created_at": "2024-03-05T15:25:37Z", - "upvotes": 1, + "number": 1664, + "title": "\"Task\" and \"Bot\" core abstractions", + "href": "https://github.com/orgs/langfuse/discussions/1664", + "created_at": "2024-04-10T20:24:53Z", + "upvotes": 2, "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [], "author": { - "login": "alphanome", - "html_url": "https://github.com/alphanome" + "login": "sfarthin", + "html_url": "https://github.com/sfarthin" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1325, - "title": "Do you need a helm chart of langfuse?", - "href": "https://github.com/orgs/langfuse/discussions/1325", - "created_at": "2024-03-05T15:02:42Z", - "upvotes": 1, - "comment_count": 1, + "number": 1660, + "title": "Prompt Composability", + "href": "https://github.com/orgs/langfuse/discussions/1660", + "created_at": "2024-04-10T15:25:05Z", + "upvotes": 10, + "comment_count": 5, "resolved": false, - "labels": [], + "labels": [ + "feat-prompt-management" + ], "author": { - "login": "artemus717", - "html_url": "https://github.com/artemus717" + "login": "meissnereric", + "html_url": "https://github.com/meissnereric" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1323, - "title": "When referencing the local langfuse in the langserve code, an error occurs:“ImportError: cannot import name 'ChatDeepInfra' from 'langchain_community.chat_models...”", - "href": "https://github.com/orgs/langfuse/discussions/1323", - "created_at": "2024-03-05T13:03:49Z", + "number": 1633, + "title": "feat: Function Calling Under OpenAI Format", + "href": "https://github.com/orgs/langfuse/discussions/1633", + "created_at": "2024-04-09T08:49:58Z", "upvotes": 2, - "comment_count": 2, - "resolved": true, - "labels": [], + "comment_count": 1, + "resolved": false, + "labels": [ + "feat-playground" + ], "author": { - "login": "zhenlong-zhu", - "html_url": "https://github.com/zhenlong-zhu" + "login": "anhphong22", + "html_url": "https://github.com/anhphong22" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1225, - "title": "Can Langfuse be used to record the records of ConversationChain in LangChain?", - "href": "https://github.com/orgs/langfuse/discussions/1225", - "created_at": "2024-02-22T09:24:34Z", + "number": 1630, + "title": "Groq - Mixtral", + "href": "https://github.com/orgs/langfuse/discussions/1630", + "created_at": "2024-04-09T05:11:12Z", "upvotes": 1, "comment_count": 1, - "resolved": true, + "resolved": false, + "labels": [], + "author": { + "login": "mike4lyf", + "html_url": "https://github.com/mike4lyf" + }, + "category": "Ideas" + }, + { + "number": 1627, + "title": "VertexAI support", + "href": "https://github.com/orgs/langfuse/discussions/1627", + "created_at": "2024-04-08T22:43:38Z", + "upvotes": 3, + "comment_count": 1, + "resolved": false, "labels": [ "integration-langchain" ], "author": { - "login": "lyzltysgithub", - "html_url": "https://github.com/lyzltysgithub" + "login": "eles13", + "html_url": "https://github.com/eles13" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1193, - "title": "What is the shadow database needed for?", - "href": "https://github.com/orgs/langfuse/discussions/1193", - "created_at": "2024-02-17T08:23:33Z", + "number": 1613, + "title": "[Feature] Add a score value filter", + "href": "https://github.com/orgs/langfuse/discussions/1613", + "created_at": "2024-04-08T07:58:58Z", "upvotes": 1, - "comment_count": 2, - "resolved": true, + "comment_count": 0, + "resolved": false, "labels": [], "author": { - "login": "Stadly", - "html_url": "https://github.com/Stadly" + "login": "Hacky-DH", + "html_url": "https://github.com/Hacky-DH" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1184, - "title": "Unable to set session id or other CallbackHandler parameters when passing trace client in langchain sdk", - "href": "https://github.com/orgs/langfuse/discussions/1184", - "created_at": "2024-02-16T08:01:51Z", + "number": 1612, + "title": "DSPY integration", + "href": "https://github.com/orgs/langfuse/discussions/1612", + "created_at": "2024-04-07T18:54:32Z", "upvotes": 1, "comment_count": 1, - "resolved": true, + "resolved": false, + "labels": [], + "author": { + "login": "wdhitchc", + "html_url": "https://github.com/wdhitchc" + }, + "category": "Ideas" + }, + { + "number": 1566, + "title": "LangchainCallbackHandler httpx_client not accessible", + "href": "https://github.com/orgs/langfuse/discussions/1566", + "created_at": "2024-04-03T09:18:12Z", + "upvotes": 2, + "comment_count": 1, + "resolved": false, "labels": [ "integration-langchain" ], "author": { - "login": "sasidevtool", - "html_url": "https://github.com/sasidevtool" + "login": "dlmatt", + "html_url": "https://github.com/dlmatt" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1186, - "title": "How to set tags when using the Langchain Callback handler", - "href": "https://github.com/orgs/langfuse/discussions/1186", - "created_at": "2024-02-16T05:47:31Z", - "upvotes": 2, - "comment_count": 2, - "resolved": true, + "number": 1541, + "title": "Disable events logging", + "href": "https://github.com/orgs/langfuse/discussions/1541", + "created_at": "2024-03-29T18:08:13Z", + "upvotes": 8, + "comment_count": 3, + "resolved": false, "labels": [ - "sdk-python", - "integration-langchain", - "feat-tags" + "✅ Done" ], "author": { - "login": "reza-mohideen", - "html_url": "https://github.com/reza-mohideen" + "login": "omgovich", + "html_url": "https://github.com/omgovich" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1179, - "title": "Ollama token counts", - "href": "https://github.com/orgs/langfuse/discussions/1179", - "created_at": "2024-02-15T23:38:39Z", - "upvotes": 2, + "number": 1535, + "title": "Request for Integration of Mistral Models into Langfuse", + "href": "https://github.com/orgs/langfuse/discussions/1535", + "created_at": "2024-03-28T16:10:25Z", + "upvotes": 5, "comment_count": 2, - "resolved": true, + "resolved": false, "labels": [ - "feat-cost-tracking" + "integrations", + "✅ Done" ], "author": { - "login": "aiseei", - "html_url": "https://github.com/aiseei" + "login": "Zherdev1996", + "html_url": "https://github.com/Zherdev1996" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1310, - "title": "Trace of custom classes gives nondescriptive info", - "href": "https://github.com/orgs/langfuse/discussions/1310", - "created_at": "2024-02-06T14:13:26Z", + "number": 1533, + "title": "Managing Embeddings", + "href": "https://github.com/orgs/langfuse/discussions/1533", + "created_at": "2024-03-28T15:36:21Z", "upvotes": 1, "comment_count": 0, "resolved": false, "labels": [], "author": { - "login": "mjungiewicz-exadel", - "html_url": "https://github.com/mjungiewicz-exadel" + "login": "Botman-Hotman", + "html_url": "https://github.com/Botman-Hotman" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1091, - "title": "How to pass span id to OpenAI `chat.completions.create`", - "href": "https://github.com/orgs/langfuse/discussions/1091", - "created_at": "2024-02-06T09:33:30Z", - "upvotes": 1, - "comment_count": 1, - "resolved": true, + "number": 1513, + "title": "Langfuse Trace with OpenAI Assistants", + "href": "https://github.com/orgs/langfuse/discussions/1513", + "created_at": "2024-03-27T11:47:19Z", + "upvotes": 10, + "comment_count": 5, + "resolved": false, "labels": [ "integration-openai" ], "author": { - "login": "techytushar", - "html_url": "https://github.com/techytushar" + "login": "marco-introvigne", + "html_url": "https://github.com/marco-introvigne" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1081, - "title": "Sessions vs Traces?", - "href": "https://github.com/orgs/langfuse/discussions/1081", - "created_at": "2024-02-05T21:06:03Z", + "number": 1500, + "title": "Comment column can have any name the user chooses, there could be multiple comment columns per metric", + "href": "https://github.com/orgs/langfuse/discussions/1500", + "created_at": "2024-03-26T08:42:45Z", "upvotes": 1, - "comment_count": 2, - "resolved": true, - "labels": [ - "feat-sessions" - ], + "comment_count": 1, + "resolved": false, + "labels": [], "author": { - "login": "Manouchehri", - "html_url": "https://github.com/Manouchehri" + "login": "emailic", + "html_url": "https://github.com/emailic" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1071, - "title": "feat: support for custom httpx.client", - "href": "https://github.com/orgs/langfuse/discussions/1071", - "created_at": "2024-02-05T06:35:23Z", - "upvotes": 1, - "comment_count": 2, + "number": 1488, + "title": "Make Langfuse switchable", + "href": "https://github.com/orgs/langfuse/discussions/1488", + "created_at": "2024-03-25T21:05:17Z", + "upvotes": 2, + "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "brandonkzw", - "html_url": "https://github.com/brandonkzw" + "login": "MrMojoR", + "html_url": "https://github.com/MrMojoR" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1070, - "title": "Where to log request and response headers of generations? (litellm)", - "href": "https://github.com/orgs/langfuse/discussions/1070", - "created_at": "2024-02-05T02:40:38Z", + "number": 1479, + "title": "Add total filtered Generations to UI", + "href": "https://github.com/orgs/langfuse/discussions/1479", + "created_at": "2024-03-24T17:19:51Z", "upvotes": 1, - "comment_count": 2, - "resolved": true, - "labels": [ - "integration-litellm" - ], + "comment_count": 0, + "resolved": false, + "labels": [], "author": { - "login": "Manouchehri", - "html_url": "https://github.com/Manouchehri" + "login": "PhiBrandon", + "html_url": "https://github.com/PhiBrandon" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1055, - "title": "Best way to flush LF in Next.js?", - "href": "https://github.com/orgs/langfuse/discussions/1055", - "created_at": "2024-02-02T17:50:58Z", + "number": 1461, + "title": "Loose prisma datasource db provider.", + "href": "https://github.com/orgs/langfuse/discussions/1461", + "created_at": "2024-03-21T13:09:15Z", "upvotes": 1, "comment_count": 1, - "resolved": true, - "labels": [], + "resolved": false, + "labels": [ + "self-hosting" + ], "author": { - "login": "gullerg", - "html_url": "https://github.com/gullerg" + "login": "muazhari", + "html_url": "https://github.com/muazhari" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1054, - "title": "Sentry for self-hosted?", - "href": "https://github.com/orgs/langfuse/discussions/1054", - "created_at": "2024-02-02T17:21:06Z", + "number": 1460, + "title": "Langfuse images for arm64 (mac silicon, some cloud vms)", + "href": "https://github.com/orgs/langfuse/discussions/1460", + "created_at": "2024-03-21T05:48:56Z", "upvotes": 1, "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [], "author": { - "login": "Manouchehri", - "html_url": "https://github.com/Manouchehri" + "login": "verdverm", + "html_url": "https://github.com/verdverm" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1051, - "title": "How can I get the trace_id in langfuse.openai.OpenAI?", - "href": "https://github.com/orgs/langfuse/discussions/1051", - "created_at": "2024-02-02T09:39:55Z", - "upvotes": 1, - "comment_count": 1, - "resolved": true, + "number": 1454, + "title": "Add a time based filter option", + "href": "https://github.com/orgs/langfuse/discussions/1454", + "created_at": "2024-03-20T16:06:15Z", + "upvotes": 4, + "comment_count": 2, + "resolved": false, "labels": [ - "integration-openai" + "✅ Done" ], "author": { - "login": "yangge2333", - "html_url": "https://github.com/yangge2333" + "login": "Kurumindla-Kranthivardhan", + "html_url": "https://github.com/Kurumindla-Kranthivardhan" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1044, - "title": "AWS SES IAM Policy", - "href": "https://github.com/orgs/langfuse/discussions/1044", - "created_at": "2024-02-02T01:58:26Z", - "upvotes": 2, - "comment_count": 1, + "number": 1431, + "title": "Integration with Langserve", + "href": "https://github.com/orgs/langfuse/discussions/1431", + "created_at": "2024-03-18T08:40:32Z", + "upvotes": 1, + "comment_count": 2, "resolved": false, "labels": [], "author": { - "login": "Manouchehri", - "html_url": "https://github.com/Manouchehri" + "login": "Haxeebraja", + "html_url": "https://github.com/Haxeebraja" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1019, - "title": "WAF Rules for self-hosted", - "href": "https://github.com/orgs/langfuse/discussions/1019", - "created_at": "2024-02-01T01:41:51Z", - "upvotes": 3, - "comment_count": 0, + "number": 1428, + "title": "allow to delete sessions", + "href": "https://github.com/orgs/langfuse/discussions/1428", + "created_at": "2024-03-16T15:56:35Z", + "upvotes": 4, + "comment_count": 2, "resolved": false, - "labels": [], + "labels": [ + "feat-sessions" + ], "author": { - "login": "Manouchehri", - "html_url": "https://github.com/Manouchehri" + "login": "morganveyret", + "html_url": "https://github.com/morganveyret" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1016, - "title": "Scaling / Parallelism / Concurrency safe?", - "href": "https://github.com/orgs/langfuse/discussions/1016", - "created_at": "2024-01-31T22:33:36Z", + "number": 1427, + "title": "Toggle collection of traces on a per-trace basis", + "href": "https://github.com/orgs/langfuse/discussions/1427", + "created_at": "2024-03-16T15:19:07Z", "upvotes": 1, "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [], "author": { - "login": "Manouchehri", - "html_url": "https://github.com/Manouchehri" + "login": "foragerr", + "html_url": "https://github.com/foragerr" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1013, - "title": "Building Docker container without database connection?", - "href": "https://github.com/orgs/langfuse/discussions/1013", - "created_at": "2024-01-31T19:32:47Z", - "upvotes": 1, + "number": 1415, + "title": "Add a \"correction\" field on the user feedback info", + "href": "https://github.com/orgs/langfuse/discussions/1415", + "created_at": "2024-03-14T14:18:30Z", + "upvotes": 3, "comment_count": 2, - "resolved": true, + "resolved": false, "labels": [], "author": { - "login": "Manouchehri", - "html_url": "https://github.com/Manouchehri" + "login": "almirb", + "html_url": "https://github.com/almirb" }, - "category": "Support" + "category": "Ideas" }, { - "number": 973, - "title": "If we use cloud services, when we migrate to our own host later, do all the above data support export?", - "href": "https://github.com/orgs/langfuse/discussions/973", - "created_at": "2024-01-27T09:55:41Z", - "upvotes": 1, - "comment_count": 1, - "resolved": true, + "number": 1408, + "title": "Trace Latencies line chart please", + "href": "https://github.com/orgs/langfuse/discussions/1408", + "created_at": "2024-03-13T15:00:35Z", + "upvotes": 2, + "comment_count": 0, + "resolved": false, "labels": [], "author": { - "login": "wsdo", - "html_url": "https://github.com/wsdo" + "login": "Huarong", + "html_url": "https://github.com/Huarong" }, - "category": "Support" + "category": "Ideas" }, { - "number": 866, - "title": "Cannot see Add to Dataset button in the UI", - "href": "https://github.com/orgs/langfuse/discussions/866", - "created_at": "2024-01-11T09:12:16Z", - "upvotes": 1, - "comment_count": 2, - "resolved": true, + "number": 1398, + "title": "What standardized dataset formats are people using?", + "href": "https://github.com/orgs/langfuse/discussions/1398", + "created_at": "2024-03-12T15:47:53Z", + "upvotes": 2, + "comment_count": 0, + "resolved": false, "labels": [ "feat-datasets" ], "author": { - "login": "SinghCoder", - "html_url": "https://github.com/SinghCoder" + "login": "norton120", + "html_url": "https://github.com/norton120" }, - "category": "Support" - } - ] - }, - { - "category": "Ideas", - "discussions": [ + "category": "Ideas" + }, { - "number": 4430, - "title": "Feature request: CRUD for Prompt API", - "href": "https://github.com/orgs/langfuse/discussions/4430", - "created_at": "2024-11-26T08:42:39Z", - "upvotes": 1, - "comment_count": 0, + "number": 1397, + "title": "Reorder columns in tables", + "href": "https://github.com/orgs/langfuse/discussions/1397", + "created_at": "2024-03-12T14:45:37Z", + "upvotes": 3, + "comment_count": 2, "resolved": false, - "labels": [], + "labels": [ + "✅ Done" + ], "author": { - "login": "barseghyanartur", - "html_url": "https://github.com/barseghyanartur" + "login": "marcklingen", + "html_url": "https://github.com/marcklingen" }, "category": "Ideas" }, { - "number": 4414, - "title": "langfuse-python: simple static method listing prompt template var names", - "href": "https://github.com/orgs/langfuse/discussions/4414", - "created_at": "2024-11-25T16:28:05Z", - "upvotes": 1, + "number": 1394, + "title": "Adding a \"Select all\" button to tables", + "href": "https://github.com/orgs/langfuse/discussions/1394", + "created_at": "2024-03-12T10:37:23Z", + "upvotes": 2, "comment_count": 1, "resolved": false, - "labels": [ - "feat-prompt-management" - ], + "labels": [], "author": { - "login": "rhighs", - "html_url": "https://github.com/rhighs" + "login": "samyxdev", + "html_url": "https://github.com/samyxdev" }, "category": "Ideas" }, { - "number": 4397, - "title": "n8n Integration", - "href": "https://github.com/orgs/langfuse/discussions/4397", - "created_at": "2024-11-24T09:43:01Z", - "upvotes": 1, - "comment_count": 0, - "resolved": false, - "labels": [], - "author": { - "login": "aibucketmail", - "html_url": "https://github.com/aibucketmail" - }, - "category": "Ideas" - }, - { - "number": 4381, - "title": "Feature Request: Add Tagging Pipelines for Evaluation-Based Tagging", - "href": "https://github.com/orgs/langfuse/discussions/4381", - "created_at": "2024-11-22T03:44:17Z", - "upvotes": 1, - "comment_count": 0, - "resolved": false, - "labels": [], - "author": { - "login": "wesleyearlstander", - "html_url": "https://github.com/wesleyearlstander" - }, - "category": "Ideas" - }, - { - "number": 4380, - "title": "Adding types for evals in Langfuse", - "href": "https://github.com/orgs/langfuse/discussions/4380", - "created_at": "2024-11-22T03:35:26Z", - "upvotes": 1, + "number": 1392, + "title": "Hide prompts/completions (privacy)", + "href": "https://github.com/orgs/langfuse/discussions/1392", + "created_at": "2024-03-12T07:48:22Z", + "upvotes": 10, "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "wesleyearlstander", - "html_url": "https://github.com/wesleyearlstander" + "login": "ziodave", + "html_url": "https://github.com/ziodave" }, "category": "Ideas" }, { - "number": 4372, - "title": "LaTex Rendering", - "href": "https://github.com/orgs/langfuse/discussions/4372", - "created_at": "2024-11-21T22:06:07Z", - "upvotes": 1, + "number": 1391, + "title": "Enhancements for Langfuse User Sign-Up Control", + "href": "https://github.com/orgs/langfuse/discussions/1391", + "created_at": "2024-03-11T23:38:18Z", + "upvotes": 7, "comment_count": 0, "resolved": false, - "labels": [], + "labels": [ + "self-hosting" + ], "author": { - "login": "wesleyearlstander", - "html_url": "https://github.com/wesleyearlstander" + "login": "udit-001", + "html_url": "https://github.com/udit-001" }, "category": "Ideas" }, { - "number": 4353, - "title": "Datasets: Add selection of traces to a dataset", - "href": "https://github.com/orgs/langfuse/discussions/4353", - "created_at": "2024-11-21T08:56:15Z", - "upvotes": 1, - "comment_count": 0, + "number": 1385, + "title": "bug: Not allowing to limit Azure AD authentication for selected users in same tenent", + "href": "https://github.com/orgs/langfuse/discussions/1385", + "created_at": "2024-03-11T17:42:05Z", + "upvotes": 2, + "comment_count": 2, "resolved": false, "labels": [ - "feat-datasets" + "self-hosting" ], "author": { - "login": "jannikmaierhoefer", - "html_url": "https://github.com/jannikmaierhoefer" + "login": "SathinduGA", + "html_url": "https://github.com/SathinduGA" }, "category": "Ideas" }, { - "number": 4348, - "title": "Multi-user annotation capability in Score Configs", - "href": "https://github.com/orgs/langfuse/discussions/4348", - "created_at": "2024-11-20T19:16:38Z", - "upvotes": 1, - "comment_count": 2, + "number": 1378, + "title": "Aggregate cost per span", + "href": "https://github.com/orgs/langfuse/discussions/1378", + "created_at": "2024-03-08T16:06:04Z", + "upvotes": 2, + "comment_count": 1, "resolved": false, - "labels": [ - "feat-annotation" - ], + "labels": [], "author": { - "login": "juanmleng", - "html_url": "https://github.com/juanmleng" + "login": "ladislasdellinger", + "html_url": "https://github.com/ladislasdellinger" }, "category": "Ideas" }, { - "number": 4342, - "title": "Feature request: Lifecycle hooks in LangFuse", - "href": "https://github.com/orgs/langfuse/discussions/4342", - "created_at": "2024-11-20T14:23:44Z", + "number": 1376, + "title": "Support parsing LLM model for ChatOllama", + "href": "https://github.com/orgs/langfuse/discussions/1376", + "created_at": "2024-03-08T14:13:58Z", "upvotes": 1, "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "barseghyanartur", - "html_url": "https://github.com/barseghyanartur" + "login": "kleebaum", + "html_url": "https://github.com/kleebaum" }, "category": "Ideas" }, { - "number": 4340, - "title": "RBAC: Restriction based on trace tags/metadata", - "href": "https://github.com/orgs/langfuse/discussions/4340", - "created_at": "2024-11-20T12:32:40Z", - "upvotes": 2, - "comment_count": 0, + "number": 1374, + "title": "Add LLamaIndexTS example", + "href": "https://github.com/orgs/langfuse/discussions/1374", + "created_at": "2024-03-08T00:42:30Z", + "upvotes": 1, + "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "jannikmaierhoefer", - "html_url": "https://github.com/jannikmaierhoefer" + "login": "luandro", + "html_url": "https://github.com/luandro" }, "category": "Ideas" }, { - "number": 4332, - "title": "Trace Table: Ability to sort table by score", - "href": "https://github.com/orgs/langfuse/discussions/4332", - "created_at": "2024-11-20T10:27:38Z", - "upvotes": 2, - "comment_count": 0, + "number": 1361, + "title": "Add a retention window for unnecessary data", + "href": "https://github.com/orgs/langfuse/discussions/1361", + "created_at": "2024-03-07T14:42:07Z", + "upvotes": 1, + "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "jannikmaierhoefer", - "html_url": "https://github.com/jannikmaierhoefer" + "login": "albertoforcato", + "html_url": "https://github.com/albertoforcato" }, "category": "Ideas" }, { - "number": 4322, - "title": "Add the ability to remove tags from traces via the SDK/API", - "href": "https://github.com/orgs/langfuse/discussions/4322", - "created_at": "2024-11-19T20:09:18Z", + "number": 1337, + "title": "Support for Langchain ChatAnthropic", + "href": "https://github.com/orgs/langfuse/discussions/1337", + "created_at": "2024-03-06T10:42:36Z", "upvotes": 2, - "comment_count": 0, + "comment_count": 1, "resolved": false, - "labels": [], + "labels": [ + "integration-langchain" + ], "author": { - "login": "justinwiley", - "html_url": "https://github.com/justinwiley" + "login": "dotrunghieu96", + "html_url": "https://github.com/dotrunghieu96" }, "category": "Ideas" }, { - "number": 4316, - "title": "Prompt Changelog Management", - "href": "https://github.com/orgs/langfuse/discussions/4316", - "created_at": "2024-11-19T14:32:33Z", - "upvotes": 3, - "comment_count": 0, + "number": 1331, + "title": "Adding cost to the datasets tables", + "href": "https://github.com/orgs/langfuse/discussions/1331", + "created_at": "2024-03-05T18:53:25Z", + "upvotes": 1, + "comment_count": 1, "resolved": false, - "labels": [], + "labels": [ + "✅ Done" + ], "author": { - "login": "alexander-abramovich", - "html_url": "https://github.com/alexander-abramovich" + "login": "ladislasdellinger", + "html_url": "https://github.com/ladislasdellinger" }, "category": "Ideas" }, { - "number": 4315, - "title": "Smartly integrate with prompt templating tools (like Jinja templating engine)", - "href": "https://github.com/orgs/langfuse/discussions/4315", - "created_at": "2024-11-19T14:30:42Z", - "upvotes": 2, - "comment_count": 0, + "number": 1321, + "title": "More prompt environments/tags instead of just `active`", + "href": "https://github.com/orgs/langfuse/discussions/1321", + "created_at": "2024-03-05T11:05:17Z", + "upvotes": 3, + "comment_count": 2, "resolved": false, - "labels": [], + "labels": [ + "feat-prompt-management", + "✅ Done" + ], "author": { - "login": "alexander-abramovich", - "html_url": "https://github.com/alexander-abramovich" + "login": "ladislasdellinger", + "html_url": "https://github.com/ladislasdellinger" }, "category": "Ideas" }, { - "number": 4314, - "title": "Making prompt editing eye-pleasing and less error-prown", - "href": "https://github.com/orgs/langfuse/discussions/4314", - "created_at": "2024-11-19T14:24:29Z", - "upvotes": 2, - "comment_count": 0, + "number": 1309, + "title": "Log used prompt on generations when using Langchain", + "href": "https://github.com/orgs/langfuse/discussions/1309", + "created_at": "2024-03-04T09:03:35Z", + "upvotes": 5, + "comment_count": 2, "resolved": false, - "labels": [], + "labels": [ + "integration-langchain", + "✅ Done" + ], "author": { - "login": "alexander-abramovich", - "html_url": "https://github.com/alexander-abramovich" + "login": "TobinShaw", + "html_url": "https://github.com/TobinShaw" }, "category": "Ideas" }, { - "number": 4304, - "title": "Prompt Management: Metadata for Prompt Versions", - "href": "https://github.com/orgs/langfuse/discussions/4304", - "created_at": "2024-11-19T08:39:27Z", - "upvotes": 7, + "number": 1306, + "title": "[TS] Generating through OpenAI SDK directly", + "href": "https://github.com/orgs/langfuse/discussions/1306", + "created_at": "2024-03-02T10:56:07Z", + "upvotes": 1, "comment_count": 2, "resolved": false, "labels": [ - "feat-prompt-management" + "integrations", + "integration-openai", + "✅ Done" ], "author": { - "login": "jannikmaierhoefer", - "html_url": "https://github.com/jannikmaierhoefer" + "login": "louis030195", + "html_url": "https://github.com/louis030195" }, "category": "Ideas" }, { - "number": 4303, - "title": "Exporting comments", - "href": "https://github.com/orgs/langfuse/discussions/4303", - "created_at": "2024-11-19T06:59:31Z", + "number": 1305, + "title": "Allow Project-Specific Default Time Ranges", + "href": "https://github.com/orgs/langfuse/discussions/1305", + "created_at": "2024-03-02T03:42:42Z", "upvotes": 1, "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "jamesyu", - "html_url": "https://github.com/jamesyu" + "login": "dkindlund", + "html_url": "https://github.com/dkindlund" }, "category": "Ideas" }, { - "number": 4301, - "title": "[Feature Request] API to Remove or Update Trace Tags", - "href": "https://github.com/orgs/langfuse/discussions/4301", - "created_at": "2024-11-19T02:41:13Z", + "number": 1300, + "title": "Consider adding support for DSPy", + "href": "https://github.com/orgs/langfuse/discussions/1300", + "created_at": "2024-03-01T15:42:23Z", "upvotes": 1, - "comment_count": 0, + "comment_count": 2, "resolved": false, "labels": [], "author": { - "login": "0xcodedead", - "html_url": "https://github.com/0xcodedead" + "login": "sutyum", + "html_url": "https://github.com/sutyum" }, "category": "Ideas" }, { - "number": 4299, - "title": "Add XML/tree viewer to playground and trace viewer", - "href": "https://github.com/orgs/langfuse/discussions/4299", - "created_at": "2024-11-19T01:12:03Z", - "upvotes": 1, - "comment_count": 0, + "number": 1295, + "title": "Support DSPy", + "href": "https://github.com/orgs/langfuse/discussions/1295", + "created_at": "2024-03-01T11:34:05Z", + "upvotes": 19, + "comment_count": 9, "resolved": false, - "labels": [], + "labels": [ + "integrations", + "✅ Done", + "integration-dspy" + ], "author": { - "login": "jeff-an", - "html_url": "https://github.com/jeff-an" + "login": "sandangel", + "html_url": "https://github.com/sandangel" }, "category": "Ideas" }, { - "number": 4280, - "title": "Increase character limit of comments in Langfuse", - "href": "https://github.com/orgs/langfuse/discussions/4280", - "created_at": "2024-11-18T11:20:06Z", - "upvotes": 1, - "comment_count": 0, + "number": 1291, + "title": "Integration: LlamaIndex JS/TS", + "href": "https://github.com/orgs/langfuse/discussions/1291", + "created_at": "2024-02-29T11:56:42Z", + "upvotes": 33, + "comment_count": 3, "resolved": false, - "labels": [], + "labels": [ + "sdk-js", + "integrations", + "integraton-llamaindex" + ], "author": { - "login": "jannikmaierhoefer", - "html_url": "https://github.com/jannikmaierhoefer" + "login": "marcklingen", + "html_url": "https://github.com/marcklingen" }, "category": "Ideas" }, { - "number": 4276, - "title": "Enh prompt management system", - "href": "https://github.com/orgs/langfuse/discussions/4276", - "created_at": "2024-11-17T21:50:06Z", - "upvotes": 1, - "comment_count": 1, + "number": 1287, + "title": "Add filtering by errors", + "href": "https://github.com/orgs/langfuse/discussions/1287", + "created_at": "2024-02-28T22:52:59Z", + "upvotes": 3, + "comment_count": 2, "resolved": false, - "labels": [], + "labels": [ + "ui" + ], "author": { - "login": "flefevre", - "html_url": "https://github.com/flefevre" + "login": "ankerbachryhl", + "html_url": "https://github.com/ankerbachryhl" }, "category": "Ideas" }, { - "number": 4268, - "title": "Support image messages in the playground", - "href": "https://github.com/orgs/langfuse/discussions/4268", - "created_at": "2024-11-17T01:02:48Z", + "number": 1277, + "title": "Add Audit Logging System to Worker Tasks", + "href": "https://github.com/orgs/langfuse/discussions/1277", + "created_at": "2024-02-28T11:53:15Z", "upvotes": 1, - "comment_count": 1, + "comment_count": 3, "resolved": false, "labels": [], "author": { - "login": "jeff-an", - "html_url": "https://github.com/jeff-an" + "login": "khareyash05", + "html_url": "https://github.com/khareyash05" }, "category": "Ideas" }, { - "number": 4263, - "title": "Extend RBAC to Include Teams and Refine Permissions for Prompt Management", - "href": "https://github.com/orgs/langfuse/discussions/4263", - "created_at": "2024-11-16T04:22:27Z", + "number": 1268, + "title": "Possible with different units for input and output", + "href": "https://github.com/orgs/langfuse/discussions/1268", + "created_at": "2024-02-27T13:45:21Z", "upvotes": 1, - "comment_count": 0, + "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "flefevre", - "html_url": "https://github.com/flefevre" + "login": "Stadly", + "html_url": "https://github.com/Stadly" }, "category": "Ideas" }, { - "number": 4258, - "title": "Automatically Trace from Playground", - "href": "https://github.com/orgs/langfuse/discussions/4258", - "created_at": "2024-11-15T18:58:05Z", - "upvotes": 1, - "comment_count": 0, + "number": 1264, + "title": "ChatML/ChatMessage Prompt Templates", + "href": "https://github.com/orgs/langfuse/discussions/1264", + "created_at": "2024-02-27T01:59:05Z", + "upvotes": 4, + "comment_count": 3, "resolved": false, - "labels": [], + "labels": [ + "feat-prompt-management", + "✅ Done" + ], "author": { - "login": "Chinoman10", - "html_url": "https://github.com/Chinoman10" + "login": "tuan3w", + "html_url": "https://github.com/tuan3w" }, "category": "Ideas" }, { - "number": 4247, - "title": "Reset LangfuseDecorator context to allow nested traces", - "href": "https://github.com/orgs/langfuse/discussions/4247", - "created_at": "2024-11-15T09:59:28Z", - "upvotes": 2, - "comment_count": 0, + "number": 1258, + "title": "Dashboard for all projects of an organization", + "href": "https://github.com/orgs/langfuse/discussions/1258", + "created_at": "2024-02-26T20:12:22Z", + "upvotes": 11, + "comment_count": 2, "resolved": false, - "labels": [], + "labels": [ + "feat-dashboard" + ], "author": { - "login": "vitalii-diachkov-sumup", - "html_url": "https://github.com/vitalii-diachkov-sumup" + "login": "aiakubovich", + "html_url": "https://github.com/aiakubovich" }, "category": "Ideas" }, { - "number": 4212, - "title": "Disable authentication in self-hosted deployments", - "href": "https://github.com/orgs/langfuse/discussions/4212", - "created_at": "2024-11-13T13:32:11Z", - "upvotes": 2, - "comment_count": 1, + "number": 1221, + "title": "Add Haystack integration", + "href": "https://github.com/orgs/langfuse/discussions/1221", + "created_at": "2024-02-21T13:06:06Z", + "upvotes": 9, + "comment_count": 2, "resolved": false, "labels": [ - "feat-auth", - "self-hosting" + "integrations", + "✅ Done", + "integration-haystack" ], "author": { - "login": "mariusp12", - "html_url": "https://github.com/mariusp12" + "login": "marcklingen", + "html_url": "https://github.com/marcklingen" }, "category": "Ideas" }, { - "number": 4208, - "title": "Multi-turn / session experiments in datasets", - "href": "https://github.com/orgs/langfuse/discussions/4208", - "created_at": "2024-11-13T11:43:31Z", + "number": 1220, + "title": "Export to S3", + "href": "https://github.com/orgs/langfuse/discussions/1220", + "created_at": "2024-02-21T12:46:58Z", "upvotes": 1, - "comment_count": 1, + "comment_count": 0, "resolved": false, "labels": [ - "feat-datasets" + "integrations" ], "author": { - "login": "bartsimo", - "html_url": "https://github.com/bartsimo" + "login": "marcklingen", + "html_url": "https://github.com/marcklingen" }, "category": "Ideas" }, { - "number": 4189, - "title": "feat: add support for SSR to allow runtime BASE_PATH", - "href": "https://github.com/orgs/langfuse/discussions/4189", - "created_at": "2024-11-12T12:39:25Z", - "upvotes": 2, - "comment_count": 1, + "number": 1219, + "title": "Export to BigQuery", + "href": "https://github.com/orgs/langfuse/discussions/1219", + "created_at": "2024-02-21T12:46:26Z", + "upvotes": 4, + "comment_count": 0, "resolved": false, "labels": [ - "self-hosting" + "integrations" ], "author": { - "login": "sinux-l5d", - "html_url": "https://github.com/sinux-l5d" + "login": "marcklingen", + "html_url": "https://github.com/marcklingen" }, "category": "Ideas" }, { - "number": 4168, - "title": "Centralized API Key Management with Secret Store Integration (e.g. HashiCorp Vault)", - "href": "https://github.com/orgs/langfuse/discussions/4168", - "created_at": "2024-11-11T11:11:10Z", - "upvotes": 1, - "comment_count": 2, + "number": 1212, + "title": "Adding support for async Langchain methods", + "href": "https://github.com/orgs/langfuse/discussions/1212", + "created_at": "2024-02-20T13:09:19Z", + "upvotes": 24, + "comment_count": 5, "resolved": false, "labels": [ - "security", - "self-hosting" + "integration-langchain", + "✅ Done" ], "author": { - "login": "bikram42", - "html_url": "https://github.com/bikram42" + "login": "marcklingen", + "html_url": "https://github.com/marcklingen" }, "category": "Ideas" }, { - "number": 4166, - "title": "Allow sending events to multiple LF projects within one client app", - "href": "https://github.com/orgs/langfuse/discussions/4166", - "created_at": "2024-11-11T10:51:01Z", - "upvotes": 1, + "number": 1208, + "title": "Add Images in Tracing", + "href": "https://github.com/orgs/langfuse/discussions/1208", + "created_at": "2024-02-20T00:41:41Z", + "upvotes": 11, "comment_count": 2, "resolved": false, - "labels": [], + "labels": [ + "✅ Done", + "feat-multimodal" + ], "author": { - "login": "snopoke", - "html_url": "https://github.com/snopoke" + "login": "aiakubovich", + "html_url": "https://github.com/aiakubovich" }, "category": "Ideas" }, { - "number": 4165, - "title": "Another glimpse into prompt management in LangFuse", - "href": "https://github.com/orgs/langfuse/discussions/4165", - "created_at": "2024-11-11T10:20:18Z", + "number": 1190, + "title": "Request to add 75 percentile under Model latency section as shown in image below", + "href": "https://github.com/orgs/langfuse/discussions/1190", + "created_at": "2024-02-16T21:41:29Z", "upvotes": 1, "comment_count": 1, "resolved": false, - "labels": [ - "feat-prompt-management" - ], + "labels": [], "author": { - "login": "barseghyanartur", - "html_url": "https://github.com/barseghyanartur" + "login": "ssubburaj85", + "html_url": "https://github.com/ssubburaj85" }, "category": "Ideas" }, { - "number": 4154, - "title": "Feature Request: Enable Invites with `AUTH_DISABLE_SIGNUP` (or/and GitHub OAuth for a given organization)", - "href": "https://github.com/orgs/langfuse/discussions/4154", - "created_at": "2024-11-10T15:04:41Z", - "upvotes": 3, - "comment_count": 1, + "number": 1170, + "title": "LLM Playground", + "href": "https://github.com/orgs/langfuse/discussions/1170", + "created_at": "2024-02-15T17:44:42Z", + "upvotes": 7, + "comment_count": 6, "resolved": false, "labels": [ - "feat-auth", - "self-hosting" + "feat-prompt-management", + "✅ Done", + "feat-playground" ], "author": { - "login": "shner-elmo", - "html_url": "https://github.com/shner-elmo" + "login": "reza-mohideen", + "html_url": "https://github.com/reza-mohideen" }, "category": "Ideas" }, { - "number": 4143, - "title": "Getting prompts using LiteLLM syntax", - "href": "https://github.com/orgs/langfuse/discussions/4143", - "created_at": "2024-11-09T17:01:10Z", - "upvotes": 1, - "comment_count": 0, + "number": 1159, + "title": "Looking for users (that are migrating off of something) to co-build Langfuse integration with", + "href": "https://github.com/orgs/langfuse/discussions/1159", + "created_at": "2024-02-14T19:05:27Z", + "upvotes": 2, + "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "doasfrancisco", - "html_url": "https://github.com/doasfrancisco" + "login": "skrawcz", + "html_url": "https://github.com/skrawcz" }, "category": "Ideas" }, { - "number": 4129, - "title": "Annotation Queue: Display trace id", - "href": "https://github.com/orgs/langfuse/discussions/4129", - "created_at": "2024-11-08T16:14:00Z", + "number": 1156, + "title": "Possible to set timestamp when creating trace", + "href": "https://github.com/orgs/langfuse/discussions/1156", + "created_at": "2024-02-14T14:26:22Z", "upvotes": 1, - "comment_count": 0, - "resolved": false, - "labels": [], - "author": { - "login": "jannikmaierhoefer", - "html_url": "https://github.com/jannikmaierhoefer" - }, - "category": "Ideas" - }, - { - "number": 4121, - "title": "Enable to use variable of prompt on evaluator.", - "href": "https://github.com/orgs/langfuse/discussions/4121", - "created_at": "2024-11-08T09:16:28Z", - "upvotes": 3, "comment_count": 1, "resolved": false, "labels": [ - "feat-evals" + "sdk-js" ], "author": { - "login": "takryo00", - "html_url": "https://github.com/takryo00" + "login": "Stadly", + "html_url": "https://github.com/Stadly" }, "category": "Ideas" }, { - "number": 4120, - "title": "Sessions Table: Scores Column", - "href": "https://github.com/orgs/langfuse/discussions/4120", - "created_at": "2024-11-08T08:58:10Z", - "upvotes": 5, - "comment_count": 0, + "number": 1154, + "title": "Dedicated user object which can include groups/teams and other attributes", + "href": "https://github.com/orgs/langfuse/discussions/1154", + "created_at": "2024-02-14T09:45:40Z", + "upvotes": 6, + "comment_count": 5, "resolved": false, "labels": [ - "feat-sessions" + "feat-users" ], "author": { - "login": "jannikmaierhoefer", - "html_url": "https://github.com/jannikmaierhoefer" + "login": "bryan-agicap", + "html_url": "https://github.com/bryan-agicap" }, "category": "Ideas" }, { - "number": 4110, - "title": "Sort functionality in Users page", - "href": "https://github.com/orgs/langfuse/discussions/4110", - "created_at": "2024-11-07T19:43:07Z", - "upvotes": 1, - "comment_count": 0, + "number": 1133, + "title": "API to delete scores", + "href": "https://github.com/orgs/langfuse/discussions/1133", + "created_at": "2024-02-12T11:19:59Z", + "upvotes": 2, + "comment_count": 1, "resolved": false, - "labels": [], + "labels": [ + "feat-api", + "feat-scores" + ], "author": { - "login": "sal-dti", - "html_url": "https://github.com/sal-dti" + "login": "Jason-CKY", + "html_url": "https://github.com/Jason-CKY" }, "category": "Ideas" }, { - "number": 4106, - "title": "Add new filters for the LLM as a Judge Evaluation (other scores and cost)", - "href": "https://github.com/orgs/langfuse/discussions/4106", - "created_at": "2024-11-07T14:44:31Z", - "upvotes": 1, + "number": 1128, + "title": "Display all traces within a session", + "href": "https://github.com/orgs/langfuse/discussions/1128", + "created_at": "2024-02-10T17:36:48Z", + "upvotes": 2, "comment_count": 1, "resolved": false, "labels": [ - "feat-evals" + "ui", + "feat-sessions" ], "author": { - "login": "laisalvescw", - "html_url": "https://github.com/laisalvescw" + "login": "benm5678", + "html_url": "https://github.com/benm5678" }, "category": "Ideas" }, { - "number": 4103, - "title": "Prompt Management: Deployment level view", - "href": "https://github.com/orgs/langfuse/discussions/4103", - "created_at": "2024-11-07T12:40:07Z", - "upvotes": 2, + "number": 1118, + "title": "[Simple Feature/WebUI] Adding a button to hide the sidebar", + "href": "https://github.com/orgs/langfuse/discussions/1118", + "created_at": "2024-02-09T09:43:34Z", + "upvotes": 3, "comment_count": 1, "resolved": false, "labels": [ - "feat-prompt-management" + "ui" ], "author": { - "login": "jannikmaierhoefer", - "html_url": "https://github.com/jannikmaierhoefer" + "login": "samyxdev", + "html_url": "https://github.com/samyxdev" }, "category": "Ideas" }, { - "number": 4102, - "title": "Prompt Management: labels in prompt table", - "href": "https://github.com/orgs/langfuse/discussions/4102", - "created_at": "2024-11-07T12:38:00Z", - "upvotes": 2, - "comment_count": 0, + "number": 1115, + "title": "Prioritize traces captured from LangGraph by relevance", + "href": "https://github.com/orgs/langfuse/discussions/1115", + "created_at": "2024-02-08T06:44:34Z", + "upvotes": 8, + "comment_count": 3, "resolved": false, - "labels": [], + "labels": [ + "ui", + "integration-langchain" + ], "author": { - "login": "jannikmaierhoefer", - "html_url": "https://github.com/jannikmaierhoefer" + "login": "litagent", + "html_url": "https://github.com/litagent" }, "category": "Ideas" }, { - "number": 4099, - "title": "Does LangFuse support a (declarative) plugin architecture?", - "href": "https://github.com/orgs/langfuse/discussions/4099", - "created_at": "2024-11-07T11:27:39Z", + "number": 1114, + "title": "Pulling prompt/completions via API", + "href": "https://github.com/orgs/langfuse/discussions/1114", + "created_at": "2024-02-08T00:52:10Z", "upvotes": 1, "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "barseghyanartur", - "html_url": "https://github.com/barseghyanartur" + "login": "mukundt", + "html_url": "https://github.com/mukundt" }, "category": "Ideas" }, { - "number": 4097, - "title": "More Granular Target Objects for Langfuse Evaluators", - "href": "https://github.com/orgs/langfuse/discussions/4097", - "created_at": "2024-11-07T10:00:11Z", - "upvotes": 1, - "comment_count": 0, + "number": 1106, + "title": "Prompt version comments", + "href": "https://github.com/orgs/langfuse/discussions/1106", + "created_at": "2024-02-07T15:38:07Z", + "upvotes": 5, + "comment_count": 2, "resolved": false, - "labels": [], + "labels": [ + "ui", + "feat-prompt-management", + "✅ Done" + ], "author": { - "login": "qrosseel", - "html_url": "https://github.com/qrosseel" + "login": "mukundt", + "html_url": "https://github.com/mukundt" }, "category": "Ideas" }, { - "number": 4096, - "title": "Evaluator CRUD in UI and API", - "href": "https://github.com/orgs/langfuse/discussions/4096", - "created_at": "2024-11-07T09:46:01Z", - "upvotes": 1, + "number": 1105, + "title": "\"Git diff\" view between two prompt versions", + "href": "https://github.com/orgs/langfuse/discussions/1105", + "created_at": "2024-02-07T15:37:18Z", + "upvotes": 13, "comment_count": 1, "resolved": false, - "labels": [], + "labels": [ + "ui", + "feat-prompt-management" + ], "author": { - "login": "qrosseel", - "html_url": "https://github.com/qrosseel" + "login": "mukundt", + "html_url": "https://github.com/mukundt" }, "category": "Ideas" }, { - "number": 4078, - "title": "Specify data masking on decorator itself", - "href": "https://github.com/orgs/langfuse/discussions/4078", - "created_at": "2024-11-06T14:00:47Z", - "upvotes": 1, - "comment_count": 0, + "number": 1097, + "title": "Ability to post-process generation data", + "href": "https://github.com/orgs/langfuse/discussions/1097", + "created_at": "2024-02-06T17:45:58Z", + "upvotes": 2, + "comment_count": 1, "resolved": false, - "labels": [ - "integration-python-decorator", - "feat-data-masking" - ], + "labels": [], "author": { - "login": "marcklingen", - "html_url": "https://github.com/marcklingen" + "login": "denisergashbaev", + "html_url": "https://github.com/denisergashbaev" }, "category": "Ideas" }, { - "number": 4077, - "title": "Export dataset run table", - "href": "https://github.com/orgs/langfuse/discussions/4077", - "created_at": "2024-11-06T13:58:30Z", - "upvotes": 4, - "comment_count": 0, + "number": 1096, + "title": "[Python SDK] Link prompt to OpenAI Chat Completion directly", + "href": "https://github.com/orgs/langfuse/discussions/1096", + "created_at": "2024-02-06T17:19:29Z", + "upvotes": 2, + "comment_count": 2, "resolved": false, "labels": [ - "feat-datasets" + "sdk-python", + "feat-prompt-management", + "integration-openai" ], "author": { - "login": "marcklingen", - "html_url": "https://github.com/marcklingen" + "login": "fancyweb", + "html_url": "https://github.com/fancyweb" }, "category": "Ideas" }, { - "number": 4076, - "title": "Customizable data mask (input/output, observation names, observation type)", - "href": "https://github.com/orgs/langfuse/discussions/4076", - "created_at": "2024-11-06T13:56:36Z", - "upvotes": 2, - "comment_count": 0, + "number": 1089, + "title": "Use JWTs for API private key", + "href": "https://github.com/orgs/langfuse/discussions/1089", + "created_at": "2024-02-06T02:11:39Z", + "upvotes": 1, + "comment_count": 2, "resolved": false, - "labels": [ - "feat-data-masking" - ], + "labels": [], "author": { - "login": "marcklingen", - "html_url": "https://github.com/marcklingen" + "login": "Manouchehri", + "html_url": "https://github.com/Manouchehri" }, "category": "Ideas" }, { - "number": 4060, - "title": "Add support for more complex Jinja constructs", - "href": "https://github.com/orgs/langfuse/discussions/4060", - "created_at": "2024-11-05T14:28:17Z", + "number": 1082, + "title": "Add LLM call duration on session and trace table", + "href": "https://github.com/orgs/langfuse/discussions/1082", + "created_at": "2024-02-05T20:52:23Z", "upvotes": 1, "comment_count": 1, "resolved": false, "labels": [ - "feat-prompt-management" + "ui" ], "author": { - "login": "alex-stoica", - "html_url": "https://github.com/alex-stoica" + "login": "Manouchehri", + "html_url": "https://github.com/Manouchehri" }, "category": "Ideas" }, { - "number": 4040, - "title": "Linking ChatPromptTemplate to Multiple Prompts", - "href": "https://github.com/orgs/langfuse/discussions/4040", - "created_at": "2024-11-04T13:49:06Z", - "upvotes": 1, - "comment_count": 1, + "number": 1077, + "title": "Flowise: Allow adding metadata in API call to populate Langfuse trace metadata", + "href": "https://github.com/orgs/langfuse/discussions/1077", + "created_at": "2024-02-05T15:55:07Z", + "upvotes": 2, + "comment_count": 0, "resolved": false, "labels": [ - "feat-prompt-management" + "integration-flowise" ], "author": { - "login": "sternr", - "html_url": "https://github.com/sternr" + "login": "jpmin7", + "html_url": "https://github.com/jpmin7" }, "category": "Ideas" }, { - "number": 4037, - "title": "feat: support adding trace tags in annotation queue view", - "href": "https://github.com/orgs/langfuse/discussions/4037", - "created_at": "2024-11-04T13:04:02Z", - "upvotes": 2, - "comment_count": 0, + "number": 1076, + "title": "Flowise: Allow Langfuse traceId to be set or passed on with API response", + "href": "https://github.com/orgs/langfuse/discussions/1076", + "created_at": "2024-02-05T14:58:23Z", + "upvotes": 1, + "comment_count": 1, "resolved": false, "labels": [ - "feat-annotation" + "sdk-js", + "integration-flowise" ], "author": { - "login": "marliessophie", - "html_url": "https://github.com/marliessophie" + "login": "jpmin7", + "html_url": "https://github.com/jpmin7" }, "category": "Ideas" }, { - "number": 4035, - "title": "Feat: De-dupe and show info when adding the same trace/observation to an annotation queue multiple times", - "href": "https://github.com/orgs/langfuse/discussions/4035", - "created_at": "2024-11-04T12:58:59Z", + "number": 1074, + "title": "Model costs in terms of energy for self hosted models (or cloud hosted)", + "href": "https://github.com/orgs/langfuse/discussions/1074", + "created_at": "2024-02-05T10:15:27Z", "upvotes": 1, "comment_count": 1, "resolved": false, - "labels": [ - "feat-annotation" - ], + "labels": [], "author": { - "login": "marliessophie", - "html_url": "https://github.com/marliessophie" + "login": "vquilon", + "html_url": "https://github.com/vquilon" }, "category": "Ideas" }, { - "number": 4025, - "title": "Diff support for dataset runs view", - "href": "https://github.com/orgs/langfuse/discussions/4025", - "created_at": "2024-11-04T03:48:40Z", + "number": 1073, + "title": "Use proper logger for backend API to make it configurable", + "href": "https://github.com/orgs/langfuse/discussions/1073", + "created_at": "2024-02-05T09:19:01Z", "upvotes": 3, - "comment_count": 0, + "comment_count": 5, "resolved": false, "labels": [ - "feat-datasets" + "✅ Done", + "self-hosting" ], "author": { - "login": "saikatmitra91", - "html_url": "https://github.com/saikatmitra91" + "login": "code-haven", + "html_url": "https://github.com/code-haven" }, "category": "Ideas" }, { - "number": 4019, - "title": "Create Support for gemini models in playground", - "href": "https://github.com/orgs/langfuse/discussions/4019", - "created_at": "2024-11-03T11:12:42Z", - "upvotes": 1, - "comment_count": 2, + "number": 1049, + "title": "API Examples for Generations", + "href": "https://github.com/orgs/langfuse/discussions/1049", + "created_at": "2024-02-02T07:02:08Z", + "upvotes": 2, + "comment_count": 1, "resolved": false, - "labels": [ - "feat-evals", - "feat-playground" - ], + "labels": [], "author": { - "login": "anuraj-suman", - "html_url": "https://github.com/anuraj-suman" + "login": "Manouchehri", + "html_url": "https://github.com/Manouchehri" }, "category": "Ideas" }, { - "number": 4012, - "title": "Duplicate a template prompt to start a new prompt with all the boilerplate prepared", - "href": "https://github.com/orgs/langfuse/discussions/4012", - "created_at": "2024-11-02T15:26:33Z", - "upvotes": 1, - "comment_count": 1, + "number": 1048, + "title": "Allow sharing traces as a self contained HTML file via presigned S3 URL", + "href": "https://github.com/orgs/langfuse/discussions/1048", + "created_at": "2024-02-02T06:05:47Z", + "upvotes": 2, + "comment_count": 0, + "resolved": false, + "labels": [], + "author": { + "login": "Manouchehri", + "html_url": "https://github.com/Manouchehri" + }, + "category": "Ideas" + }, + { + "number": 1043, + "title": "Ability to query entities from SDK", + "href": "https://github.com/orgs/langfuse/discussions/1043", + "created_at": "2024-02-01T23:51:00Z", + "upvotes": 4, + "comment_count": 2, "resolved": false, "labels": [ - "feat-prompt-management" + "feat-api" ], "author": { - "login": "jakelucasnyc", - "html_url": "https://github.com/jakelucasnyc" + "login": "Pranov1", + "html_url": "https://github.com/Pranov1" }, "category": "Ideas" }, { - "number": 4009, - "title": "SDK-Python: Get all prompts from LangfuseSDK Client", - "href": "https://github.com/orgs/langfuse/discussions/4009", - "created_at": "2024-11-01T18:39:02Z", - "upvotes": 1, - "comment_count": 1, + "number": 1033, + "title": "Subscribe to Langfuse Events via Webhooks", + "href": "https://github.com/orgs/langfuse/discussions/1033", + "created_at": "2024-02-01T18:59:56Z", + "upvotes": 34, + "comment_count": 6, "resolved": false, "labels": [], "author": { - "login": "nthanapaisal", - "html_url": "https://github.com/nthanapaisal" + "login": "marcklingen", + "html_url": "https://github.com/marcklingen" }, "category": "Ideas" }, { - "number": 4000, - "title": "Support custom aggregated queries through the UI", - "href": "https://github.com/orgs/langfuse/discussions/4000", - "created_at": "2024-11-01T14:19:58Z", - "upvotes": 2, - "comment_count": 0, + "number": 1032, + "title": "Periodic reports (email or slack)", + "href": "https://github.com/orgs/langfuse/discussions/1032", + "created_at": "2024-02-01T18:57:42Z", + "upvotes": 12, + "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "emieldatalytica", - "html_url": "https://github.com/emieldatalytica" + "login": "marcklingen", + "html_url": "https://github.com/marcklingen" }, "category": "Ideas" }, { - "number": 3997, - "title": "Alerts based on metrics (cost, evaluation, user-feedback), trigger webhook/email/slack/...", - "href": "https://github.com/orgs/langfuse/discussions/3997", - "created_at": "2024-11-01T11:25:05Z", - "upvotes": 1, - "comment_count": 0, + "number": 1021, + "title": "Add `Embedding` observation type", + "href": "https://github.com/orgs/langfuse/discussions/1021", + "created_at": "2024-02-01T03:15:17Z", + "upvotes": 55, + "comment_count": 2, "resolved": false, "labels": [], "author": { @@ -6561,6262 +6617,6240 @@ "category": "Ideas" }, { - "number": 3988, - "title": "Change AWS access pattern for Bedrock LLM usage, assume role", - "href": "https://github.com/orgs/langfuse/discussions/3988", - "created_at": "2024-10-31T17:45:48Z", + "number": 1020, + "title": "Leveraging Azure OpenAI Diagnostic Settings?", + "href": "https://github.com/orgs/langfuse/discussions/1020", + "created_at": "2024-02-01T02:58:54Z", "upvotes": 1, - "comment_count": 1, + "comment_count": 0, "resolved": false, "labels": [ - "feat-evals", - "feat-playground" + "integration-openai", + "integration-litellm" ], "author": { - "login": "j10sanders", - "html_url": "https://github.com/j10sanders" + "login": "Manouchehri", + "html_url": "https://github.com/Manouchehri" }, "category": "Ideas" }, { - "number": 3986, - "title": "Support for Atlassian OAuth-Provider", - "href": "https://github.com/orgs/langfuse/discussions/3986", - "created_at": "2024-10-31T16:56:45Z", - "upvotes": 1, - "comment_count": 1, + "number": 1011, + "title": "Configurable dashboards", + "href": "https://github.com/orgs/langfuse/discussions/1011", + "created_at": "2024-01-31T13:40:59Z", + "upvotes": 17, + "comment_count": 2, "resolved": false, "labels": [ - "feat-auth", - "self-hosting" + "ui", + "feat-dashboard" ], "author": { - "login": "backface", - "html_url": "https://github.com/backface" + "login": "marcklingen", + "html_url": "https://github.com/marcklingen" }, "category": "Ideas" }, { - "number": 3981, - "title": "Async support for data masking in JS/TS SDK", - "href": "https://github.com/orgs/langfuse/discussions/3981", - "created_at": "2024-10-31T14:06:21Z", - "upvotes": 3, - "comment_count": 3, + "number": 1010, + "title": "Add new integration: LLM Proxy", + "href": "https://github.com/orgs/langfuse/discussions/1010", + "created_at": "2024-01-31T12:40:35Z", + "upvotes": 2, + "comment_count": 1, "resolved": false, "labels": [ - "feat-data-masking" + "integrations" ], "author": { - "login": "pexxi", - "html_url": "https://github.com/pexxi" + "login": "marcklingen", + "html_url": "https://github.com/marcklingen" }, "category": "Ideas" }, { - "number": 3970, - "title": "Add ability to export and import evaluators between projects", - "href": "https://github.com/orgs/langfuse/discussions/3970", - "created_at": "2024-10-30T16:13:20Z", - "upvotes": 2, - "comment_count": 1, + "number": 1009, + "title": "Decorator-based integration with Langfuse", + "href": "https://github.com/orgs/langfuse/discussions/1009", + "created_at": "2024-01-31T12:19:26Z", + "upvotes": 7, + "comment_count": 3, "resolved": false, "labels": [ - "feat-evals" + "sdk-python", + "integrations", + "✅ Done", + "integration-python-decorator" ], "author": { - "login": "j10sanders", - "html_url": "https://github.com/j10sanders" + "login": "marcklingen", + "html_url": "https://github.com/marcklingen" }, "category": "Ideas" }, { - "number": 3954, - "title": "Decorator: disable tracing at the decorated function level", - "href": "https://github.com/orgs/langfuse/discussions/3954", - "created_at": "2024-10-29T11:45:13Z", - "upvotes": 3, + "number": 1004, + "title": "should work with OpenAI-compatible self-hosted endpoints", + "href": "https://github.com/orgs/langfuse/discussions/1004", + "created_at": "2024-01-31T09:04:28Z", + "upvotes": 2, "comment_count": 2, "resolved": false, "labels": [ "sdk-python", - "integration-python-decorator" + "integration-openai" ], "author": { - "login": "klemenstraeger", - "html_url": "https://github.com/klemenstraeger" + "login": "7flash", + "html_url": "https://github.com/7flash" }, "category": "Ideas" }, { - "number": 3941, - "title": "Add keyword highlighting and color coding", - "href": "https://github.com/orgs/langfuse/discussions/3941", - "created_at": "2024-10-28T12:17:38Z", - "upvotes": 1, - "comment_count": 2, + "number": 999, + "title": "Users should be able to pass metadata and tags via `overrideConfig` when using the Flowise integration", + "href": "https://github.com/orgs/langfuse/discussions/999", + "created_at": "2024-01-30T19:52:41Z", + "upvotes": 2, + "comment_count": 1, "resolved": false, "labels": [ - "feat-prompt-management" + "sdk-js", + "integration-flowise", + "✅ Done" ], "author": { - "login": "ignazflam", - "html_url": "https://github.com/ignazflam" + "login": "giorgosera", + "html_url": "https://github.com/giorgosera" }, "category": "Ideas" }, { - "number": 3935, - "title": "feat: Folder structure for dataset organisation", - "href": "https://github.com/orgs/langfuse/discussions/3935", - "created_at": "2024-10-28T08:23:14Z", - "upvotes": 2, - "comment_count": 1, + "number": 991, + "title": "Inferring cost of trace from metadata field if optionally provided", + "href": "https://github.com/orgs/langfuse/discussions/991", + "created_at": "2024-01-30T07:38:56Z", + "upvotes": 1, + "comment_count": 2, "resolved": false, - "labels": [ - "feat-datasets" - ], + "labels": [], "author": { - "login": "marliessophie", - "html_url": "https://github.com/marliessophie" + "login": "sumba101", + "html_url": "https://github.com/sumba101" }, "category": "Ideas" }, { - "number": 3918, - "title": "Model-based evaluations triggered by observations", - "href": "https://github.com/orgs/langfuse/discussions/3918", - "created_at": "2024-10-25T14:25:49Z", - "upvotes": 2, - "comment_count": 0, + "number": 990, + "title": "filtering sessions with metadata", + "href": "https://github.com/orgs/langfuse/discussions/990", + "created_at": "2024-01-30T06:21:42Z", + "upvotes": 7, + "comment_count": 2, "resolved": false, "labels": [ - "feat-evals" + "ui", + "feat-sessions", + "feat-metadata" ], "author": { - "login": "marcklingen", - "html_url": "https://github.com/marcklingen" + "login": "litagent", + "html_url": "https://github.com/litagent" }, "category": "Ideas" }, { - "number": 3904, - "title": "Support for Custom SSO Without AUTH_CUSTOM_CLIENT_SECRET and Incorrect Profile Mapping", - "href": "https://github.com/orgs/langfuse/discussions/3904", - "created_at": "2024-10-24T17:07:38Z", - "upvotes": 0, - "comment_count": 0, + "number": 989, + "title": "Enable Collaboration Platforms for Project Members", + "href": "https://github.com/orgs/langfuse/discussions/989", + "created_at": "2024-01-30T04:00:26Z", + "upvotes": 1, + "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "lucebert", - "html_url": "https://github.com/lucebert" + "login": "khareyash05", + "html_url": "https://github.com/khareyash05" }, "category": "Ideas" }, { - "number": 3893, - "title": "Allow prompt editing without creating new version (draft mode)", - "href": "https://github.com/orgs/langfuse/discussions/3893", - "created_at": "2024-10-24T08:47:13Z", - "upvotes": 2, - "comment_count": 1, + "number": 982, + "title": "Supporting OpenAI Vision", + "href": "https://github.com/orgs/langfuse/discussions/982", + "created_at": "2024-01-29T19:06:44Z", + "upvotes": 7, + "comment_count": 2, "resolved": false, "labels": [ - "feat-prompt-management" + "integration-openai", + "✅ Done", + "feat-multimodal" ], "author": { - "login": "dveyarangi", - "html_url": "https://github.com/dveyarangi" - }, - "category": "Ideas" - }, - { - "number": 3891, - "title": "feat: user consumption broken down by model", - "href": "https://github.com/orgs/langfuse/discussions/3891", - "created_at": "2024-10-24T05:41:12Z", - "upvotes": 1, - "comment_count": 0, - "resolved": false, - "labels": [], - "author": { - "login": "belphegor-s", - "html_url": "https://github.com/belphegor-s" + "login": "pj747", + "html_url": "https://github.com/pj747" }, "category": "Ideas" }, { - "number": 3885, - "title": "Trace -> Playground: Populate variable fields to make input iteration easier.", - "href": "https://github.com/orgs/langfuse/discussions/3885", - "created_at": "2024-10-23T16:26:36Z", - "upvotes": 2, - "comment_count": 0, + "number": 980, + "title": "Comments on objects across the Langfuse UI", + "href": "https://github.com/orgs/langfuse/discussions/980", + "created_at": "2024-01-29T18:21:03Z", + "upvotes": 3, + "comment_count": 3, "resolved": false, "labels": [ - "feat-prompt-management", - "feat-playground" + "ui", + "✅ Done" ], "author": { - "login": "jannikmaierhoefer", - "html_url": "https://github.com/jannikmaierhoefer" + "login": "marcklingen", + "html_url": "https://github.com/marcklingen" }, "category": "Ideas" }, { - "number": 3875, - "title": "add gpt-4o-2024-08-06 model to langfuse models list", - "href": "https://github.com/orgs/langfuse/discussions/3875", - "created_at": "2024-10-23T10:54:01Z", - "upvotes": 1, - "comment_count": 1, + "number": 976, + "title": "Support alternative databases next to Postgres, e.g. MySQL", + "href": "https://github.com/orgs/langfuse/discussions/976", + "created_at": "2024-01-28T21:44:11Z", + "upvotes": 3, + "comment_count": 6, "resolved": false, "labels": [ - "✅ Done" + "self-hosting" ], "author": { - "login": "alex-stoica", - "html_url": "https://github.com/alex-stoica" + "login": "zoltan-fedor", + "html_url": "https://github.com/zoltan-fedor" }, "category": "Ideas" }, { - "number": 3874, - "title": "Ensure prompt validation when attaching prompts to generations", - "href": "https://github.com/orgs/langfuse/discussions/3874", - "created_at": "2024-10-23T10:48:38Z", - "upvotes": 1, + "number": 969, + "title": "Flowise - OpenAI Assistant cost tracking", + "href": "https://github.com/orgs/langfuse/discussions/969", + "created_at": "2024-01-26T18:04:07Z", + "upvotes": 2, "comment_count": 0, "resolved": false, "labels": [ - "feat-prompt-management" + "integration-flowise" ], "author": { - "login": "alex-stoica", - "html_url": "https://github.com/alex-stoica" + "login": "jozsef-gereby", + "html_url": "https://github.com/jozsef-gereby" }, "category": "Ideas" }, { - "number": 3866, - "title": "Support for OpenAI's cached input tokens", - "href": "https://github.com/orgs/langfuse/discussions/3866", - "created_at": "2024-10-22T19:38:33Z", - "upvotes": 4, - "comment_count": 2, + "number": 964, + "title": "Latency metrics - Time to first token, Tokens per second", + "href": "https://github.com/orgs/langfuse/discussions/964", + "created_at": "2024-01-26T15:37:01Z", + "upvotes": 8, + "comment_count": 3, "resolved": false, "labels": [ - "feat-cost-tracking" + "✅ Done" ], "author": { - "login": "anatolec", - "html_url": "https://github.com/anatolec" + "login": "nikcaryo-super", + "html_url": "https://github.com/nikcaryo-super" }, "category": "Ideas" }, { - "number": 3862, - "title": "python generator request - return values", - "href": "https://github.com/orgs/langfuse/discussions/3862", - "created_at": "2024-10-22T11:43:22Z", - "upvotes": 1, - "comment_count": 1, + "number": 958, + "title": "LLM calls captured via Langchain integration should match what’s sent to the LLM", + "href": "https://github.com/orgs/langfuse/discussions/958", + "created_at": "2024-01-25T16:45:38Z", + "upvotes": 3, + "comment_count": 2, "resolved": false, - "labels": [ - "integration-python-decorator" - ], + "labels": [], "author": { - "login": "benji-finster", - "html_url": "https://github.com/benji-finster" + "login": "benm5678", + "html_url": "https://github.com/benm5678" }, "category": "Ideas" }, { - "number": 3842, - "title": "Scores: Conditional Annotation", - "href": "https://github.com/orgs/langfuse/discussions/3842", - "created_at": "2024-10-21T08:37:48Z", + "number": 953, + "title": "Improve integration with flowise", + "href": "https://github.com/orgs/langfuse/discussions/953", + "created_at": "2024-01-24T19:57:06Z", "upvotes": 1, - "comment_count": 0, + "comment_count": 2, "resolved": false, "labels": [ - "feat-scores", - "feat-annotation" + "sdk-js", + "integration-flowise" ], "author": { - "login": "marliessophie", - "html_url": "https://github.com/marliessophie" + "login": "tsiougkosn", + "html_url": "https://github.com/tsiougkosn" }, "category": "Ideas" }, { - "number": 3841, - "title": "Annotation Queues: define optional/mandatory score configs by queue", - "href": "https://github.com/orgs/langfuse/discussions/3841", - "created_at": "2024-10-21T08:32:46Z", - "upvotes": 1, - "comment_count": 0, + "number": 941, + "title": "Dark mode", + "href": "https://github.com/orgs/langfuse/discussions/941", + "created_at": "2024-01-24T05:52:30Z", + "upvotes": 9, + "comment_count": 5, "resolved": false, "labels": [ - "feat-annotation" + "✅ Done" ], "author": { - "login": "marliessophie", - "html_url": "https://github.com/marliessophie" + "login": "archywillhe", + "html_url": "https://github.com/archywillhe" }, "category": "Ideas" }, { - "number": 3840, - "title": "Scores: support for recording multiple choice selection as score value", - "href": "https://github.com/orgs/langfuse/discussions/3840", - "created_at": "2024-10-21T08:20:01Z", - "upvotes": 1, - "comment_count": 0, + "number": 939, + "title": "Full-text search on trace/observation/generation input/output", + "href": "https://github.com/orgs/langfuse/discussions/939", + "created_at": "2024-01-23T23:47:11Z", + "upvotes": 28, + "comment_count": 10, "resolved": false, "labels": [ - "feat-scores" + "ui" ], "author": { - "login": "marliessophie", - "html_url": "https://github.com/marliessophie" + "login": "marcklingen", + "html_url": "https://github.com/marcklingen" }, "category": "Ideas" }, { - "number": 3839, - "title": "Prompts: ability to share prompt or playground session", - "href": "https://github.com/orgs/langfuse/discussions/3839", - "created_at": "2024-10-21T08:00:15Z", + "number": 917, + "title": "Download dashboard details", + "href": "https://github.com/orgs/langfuse/discussions/917", + "created_at": "2024-01-21T16:35:24Z", + "upvotes": 8, + "comment_count": 3, + "resolved": false, + "labels": [], + "author": { + "login": "kerenaba", + "html_url": "https://github.com/kerenaba" + }, + "category": "Ideas" + }, + { + "number": 902, + "title": "Support secret in docker compose", + "href": "https://github.com/orgs/langfuse/discussions/902", + "created_at": "2024-01-17T14:03:26Z", "upvotes": 2, - "comment_count": 0, + "comment_count": 1, "resolved": false, - "labels": [ - "feat-prompt-management" - ], + "labels": [], "author": { - "login": "marliessophie", - "html_url": "https://github.com/marliessophie" + "login": "shuther", + "html_url": "https://github.com/shuther" }, "category": "Ideas" }, { - "number": 3836, - "title": "Distinguishing various steps", - "href": "https://github.com/orgs/langfuse/discussions/3836", - "created_at": "2024-10-20T16:54:32Z", + "number": 896, + "title": "generation usage should accept a list of dict for async generation", + "href": "https://github.com/orgs/langfuse/discussions/896", + "created_at": "2024-01-17T05:59:24Z", "upvotes": 1, - "comment_count": 0, + "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "ajram23", - "html_url": "https://github.com/ajram23" + "login": "dove-young", + "html_url": "https://github.com/dove-young" }, "category": "Ideas" }, { - "number": 3818, - "title": "Filter by status in dataset items table", - "href": "https://github.com/orgs/langfuse/discussions/3818", - "created_at": "2024-10-18T03:17:50Z", - "upvotes": 2, - "comment_count": 2, + "number": 874, + "title": "Improve exception handling and type safety in python SDK", + "href": "https://github.com/orgs/langfuse/discussions/874", + "created_at": "2024-01-12T17:01:58Z", + "upvotes": 5, + "comment_count": 3, "resolved": false, - "labels": [ - "feat-datasets" - ], + "labels": [], "author": { - "login": "FrankyCTY", - "html_url": "https://github.com/FrankyCTY" + "login": "hubert-springbok", + "html_url": "https://github.com/hubert-springbok" }, "category": "Ideas" }, { - "number": 3817, - "title": "Add generic types for prompt variables in the sdk clients, e.g. `langfuse.getPrompt<{input: string}>(\"prompt name\")`", - "href": "https://github.com/orgs/langfuse/discussions/3817", - "created_at": "2024-10-17T23:40:45Z", - "upvotes": 1, + "number": 854, + "title": "Feature: API should give User-Tokens", + "href": "https://github.com/orgs/langfuse/discussions/854", + "created_at": "2024-01-09T14:26:47Z", + "upvotes": 6, "comment_count": 0, "resolved": false, - "labels": [ - "feat-prompt-management" - ], + "labels": [], "author": { - "login": "marcklingen", - "html_url": "https://github.com/marcklingen" + "login": "droggta", + "html_url": "https://github.com/droggta" }, "category": "Ideas" }, { - "number": 3801, - "title": "Add image type with image_url for vision apo", - "href": "https://github.com/orgs/langfuse/discussions/3801", - "created_at": "2024-10-17T15:27:23Z", - "upvotes": 1, - "comment_count": 1, + "number": 852, + "title": "Add prompt.to_langchain() to get a Langchain Prompt Template", + "href": "https://github.com/orgs/langfuse/discussions/852", + "created_at": "2024-01-09T13:20:55Z", + "upvotes": 7, + "comment_count": 2, "resolved": false, "labels": [ + "integrations", "feat-prompt-management", - "feat-playground" + "✅ Done" ], "author": { - "login": "profikid", - "html_url": "https://github.com/profikid" + "login": "marcklingen", + "html_url": "https://github.com/marcklingen" }, "category": "Ideas" }, { - "number": 3798, - "title": "Versioning/edit of Evaluator Configuration", - "href": "https://github.com/orgs/langfuse/discussions/3798", - "created_at": "2024-10-17T11:59:39Z", - "upvotes": 3, + "number": 853, + "title": "feat(ui): Dashboard filter and highlight", + "href": "https://github.com/orgs/langfuse/discussions/853", + "created_at": "2024-01-09T05:37:34Z", + "upvotes": 2, "comment_count": 1, "resolved": false, "labels": [ - "feat-evals" + "ui", + "Dashboard" ], "author": { - "login": "filipmihal", - "html_url": "https://github.com/filipmihal" + "login": "lkNGAT", + "html_url": "https://github.com/lkNGAT" }, "category": "Ideas" }, { - "number": 3782, - "title": "Measure time to last generated token", - "href": "https://github.com/orgs/langfuse/discussions/3782", - "created_at": "2024-10-16T17:45:12Z", - "upvotes": 2, - "comment_count": 0, + "number": 844, + "title": "Integration: Node.js/Typescript OpenAI SDK", + "href": "https://github.com/orgs/langfuse/discussions/844", + "created_at": "2024-01-08T22:39:27Z", + "upvotes": 8, + "comment_count": 2, "resolved": false, - "labels": [], + "labels": [ + "sdk-js", + "integrations", + "✅ Done" + ], "author": { - "login": "dsherry", - "html_url": "https://github.com/dsherry" + "login": "marcklingen", + "html_url": "https://github.com/marcklingen" }, "category": "Ideas" }, { - "number": 3772, - "title": "Support annotation role permission to only access Annotation Queue feature", - "href": "https://github.com/orgs/langfuse/discussions/3772", - "created_at": "2024-10-16T03:49:43Z", - "upvotes": 1, - "comment_count": 1, + "number": 828, + "title": "LlamaIndex integration (Python)", + "href": "https://github.com/orgs/langfuse/discussions/828", + "created_at": "2024-01-06T18:21:02Z", + "upvotes": 20, + "comment_count": 7, "resolved": false, "labels": [ - "feat-annotation" + "sdk-python", + "integrations", + "✅ Done", + "integraton-llamaindex" ], "author": { - "login": "ytqh", - "html_url": "https://github.com/ytqh" + "login": "marcklingen", + "html_url": "https://github.com/marcklingen" }, "category": "Ideas" }, { - "number": 3765, - "title": "OpenAI integration support for realtime api", - "href": "https://github.com/orgs/langfuse/discussions/3765", - "created_at": "2024-10-15T21:35:13Z", - "upvotes": 5, - "comment_count": 3, + "number": 1007, + "title": "Admin API: projects, api keys, user management", + "href": "https://github.com/orgs/langfuse/discussions/1007", + "created_at": "2023-12-21T13:22:28Z", + "upvotes": 24, + "comment_count": 13, "resolved": false, "labels": [ - "integration-openai" + "feat-api", + "self-hosting" ], "author": { - "login": "marcklingen", - "html_url": "https://github.com/marcklingen" + "login": "maxxte", + "html_url": "https://github.com/maxxte" }, "category": "Ideas" }, { - "number": 3761, - "title": "DsPY type optimization functionality", - "href": "https://github.com/orgs/langfuse/discussions/3761", - "created_at": "2024-10-15T20:02:39Z", + "number": 1006, + "title": "Versioning of docs", + "href": "https://github.com/orgs/langfuse/discussions/1006", + "created_at": "2023-12-18T01:27:09Z", "upvotes": 1, "comment_count": 1, "resolved": false, "labels": [ - "integration-dspy" + "docs" ], "author": { - "login": "nikshepsvn", - "html_url": "https://github.com/nikshepsvn" + "login": "flxwu", + "html_url": "https://github.com/flxwu" }, "category": "Ideas" }, { - "number": 3755, - "title": "Intergrate with Ragflow", - "href": "https://github.com/orgs/langfuse/discussions/3755", - "created_at": "2024-10-15T06:54:12Z", - "upvotes": 3, - "comment_count": 1, + "number": 1008, + "title": "Datasets: Diff of output and expected output", + "href": "https://github.com/orgs/langfuse/discussions/1008", + "created_at": "2023-11-29T00:35:13Z", + "upvotes": 6, + "comment_count": 3, "resolved": false, "labels": [ - "integrations" + "ui", + "feat-datasets" ], "author": { - "login": "chuwe000", - "html_url": "https://github.com/chuwe000" + "login": "marcklingen", + "html_url": "https://github.com/marcklingen" }, "category": "Ideas" }, { - "number": 3802, - "title": "Get Observation IDs of sub chains when using @observe decorator combined with Langchain", - "href": "https://github.com/orgs/langfuse/discussions/3802", - "created_at": "2024-10-14T14:22:38Z", + "number": 1066, + "title": "feat: Publish arm64 compatible docker images", + "href": "https://github.com/orgs/langfuse/discussions/1066", + "created_at": "2023-11-08T16:06:08Z", "upvotes": 1, - "comment_count": 4, + "comment_count": 10, "resolved": false, "labels": [ - "sdk-python", - "integration-langchain", - "integration-python-decorator" + "✅ Done", + "self-hosting" ], "author": { - "login": "guusfrenken-wk", - "html_url": "https://github.com/guusfrenken-wk" + "login": "code-haven", + "html_url": "https://github.com/code-haven" }, "category": "Ideas" }, { - "number": 3725, - "title": "observe context manager", - "href": "https://github.com/orgs/langfuse/discussions/3725", - "created_at": "2024-10-12T07:33:09Z", + "number": 1065, + "title": "OpenAI SDK wrapper for JS", + "href": "https://github.com/orgs/langfuse/discussions/1065", + "created_at": "2023-09-15T10:55:35Z", "upvotes": 1, - "comment_count": 1, - "resolved": false, - "labels": [], - "author": { - "login": "eliorc", - "html_url": "https://github.com/eliorc" - }, - "category": "Ideas" - }, - { - "number": 3723, - "title": "Terminal version of Langfuse (Langfuse CLI)", - "href": "https://github.com/orgs/langfuse/discussions/3723", - "created_at": "2024-10-11T21:06:48Z", - "upvotes": 3, - "comment_count": 2, + "comment_count": 3, "resolved": false, - "labels": [], + "labels": [ + "sdk-js", + "integrations", + "integration-openai", + "✅ Done" + ], "author": { - "login": "Shahin-rmz", - "html_url": "https://github.com/Shahin-rmz" + "login": "marcklingen", + "html_url": "https://github.com/marcklingen" }, "category": "Ideas" - }, + } + ] + }, + { + "category": "Support", + "discussions": [ { - "number": 3681, - "title": "Evalution of a prompt by a LLM", - "href": "https://github.com/orgs/langfuse/discussions/3681", - "created_at": "2024-10-09T19:17:30Z", - "upvotes": 3, - "comment_count": 0, - "resolved": false, + "number": 4452, + "title": "Take chat history in consideration when running a prompt experiment", + "href": "https://github.com/orgs/langfuse/discussions/4452", + "created_at": "2024-11-27T00:32:20Z", + "upvotes": 1, + "comment_count": 4, + "resolved": true, "labels": [ - "feat-prompt-management" + "feat-prompt-experiments" ], "author": { - "login": "jannikmaierhoefer", - "html_url": "https://github.com/jannikmaierhoefer" + "login": "benjtlv", + "html_url": "https://github.com/benjtlv" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3663, - "title": "Dashboard: Add time to first token chart (ttft)", - "href": "https://github.com/orgs/langfuse/discussions/3663", - "created_at": "2024-10-08T23:56:42Z", - "upvotes": 6, - "comment_count": 0, + "number": 4444, + "title": "Running Langfuse behind Nginx with custom base path", + "href": "https://github.com/orgs/langfuse/discussions/4444", + "created_at": "2024-11-26T19:57:21Z", + "upvotes": 1, + "comment_count": 2, "resolved": false, "labels": [ - "feat-dashboard" + "self-hosting" ], "author": { - "login": "marcklingen", - "html_url": "https://github.com/marcklingen" + "login": "hookenful", + "html_url": "https://github.com/hookenful" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3646, - "title": "Table sorting and filtering in database runs", - "href": "https://github.com/orgs/langfuse/discussions/3646", - "created_at": "2024-10-08T11:13:52Z", - "upvotes": 2, - "comment_count": 0, - "resolved": false, - "labels": [], + "number": 4438, + "title": "Observability with concurrent threads", + "href": "https://github.com/orgs/langfuse/discussions/4438", + "created_at": "2024-11-26T17:08:01Z", + "upvotes": 0, + "comment_count": 2, + "resolved": true, + "labels": [ + "integration-python-decorator" + ], "author": { - "login": "FlorDonnaSanders", - "html_url": "https://github.com/FlorDonnaSanders" + "login": "DavideSanvito", + "html_url": "https://github.com/DavideSanvito" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3618, - "title": "User Aliases", - "href": "https://github.com/orgs/langfuse/discussions/3618", - "created_at": "2024-10-07T07:51:49Z", + "number": 4429, + "title": "Is there a way to rotate traces and generations?", + "href": "https://github.com/orgs/langfuse/discussions/4429", + "created_at": "2024-11-26T03:17:35Z", "upvotes": 1, "comment_count": 1, - "resolved": false, - "labels": [], - "author": { - "login": "FlorDonnaSanders", - "html_url": "https://github.com/FlorDonnaSanders" - }, - "category": "Ideas" - }, - { - "number": 3576, - "title": "feat: edit custom model definitions", - "href": "https://github.com/orgs/langfuse/discussions/3576", - "created_at": "2024-10-04T12:40:54Z", - "upvotes": 3, - "comment_count": 0, - "resolved": false, + "resolved": true, "labels": [], "author": { - "login": "nialldevlin1", - "html_url": "https://github.com/nialldevlin1" + "login": "woung717", + "html_url": "https://github.com/woung717" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3558, - "title": "Dashboard: split prompt/completion/total tokens", - "href": "https://github.com/orgs/langfuse/discussions/3558", - "created_at": "2024-10-02T02:17:47Z", - "upvotes": 6, - "comment_count": 0, - "resolved": false, + "number": 4418, + "title": "Cannot use prompt experiments \"No dataset item contains any variables\"", + "href": "https://github.com/orgs/langfuse/discussions/4418", + "created_at": "2024-11-25T20:32:59Z", + "upvotes": 2, + "comment_count": 5, + "resolved": true, "labels": [ - "feat-dashboard" + "feat-prompt-experiments" ], "author": { - "login": "marcklingen", - "html_url": "https://github.com/marcklingen" + "login": "j10sanders", + "html_url": "https://github.com/j10sanders" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3551, - "title": "Metrics API to support the OpenMetrics format", - "href": "https://github.com/orgs/langfuse/discussions/3551", - "created_at": "2024-10-01T15:03:02Z", - "upvotes": 3, - "comment_count": 0, + "number": 4417, + "title": "does token & cost counting take into consideration prompt caching, eg openai prompt caching?", + "href": "https://github.com/orgs/langfuse/discussions/4417", + "created_at": "2024-11-25T19:59:13Z", + "upvotes": 2, + "comment_count": 2, "resolved": false, - "labels": [], + "labels": [ + "feat-cost-tracking" + ], "author": { - "login": "shukawam", - "html_url": "https://github.com/shukawam" + "login": "dwstevens", + "html_url": "https://github.com/dwstevens" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3550, - "title": "Asynchronous Langfuse Client.", - "href": "https://github.com/orgs/langfuse/discussions/3550", - "created_at": "2024-10-01T14:03:48Z", - "upvotes": 8, - "comment_count": 1, + "number": 4413, + "title": "Help needed with CustomSSOProvider Configuration for GitHub Enterprise", + "href": "https://github.com/orgs/langfuse/discussions/4413", + "created_at": "2024-11-25T15:30:23Z", + "upvotes": 1, + "comment_count": 3, "resolved": false, "labels": [ - "sdk-python" + "feat-auth", + "self-hosting" ], "author": { - "login": "fimselamse", - "html_url": "https://github.com/fimselamse" + "login": "jay0129", + "html_url": "https://github.com/jay0129" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3546, - "title": "Add SCIM support for user/role/identity management", - "href": "https://github.com/orgs/langfuse/discussions/3546", - "created_at": "2024-10-01T02:18:33Z", + "number": 4393, + "title": "Openai JS: Tracing for multiple iterations and tool calling", + "href": "https://github.com/orgs/langfuse/discussions/4393", + "created_at": "2024-11-23T06:57:40Z", "upvotes": 1, "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [ - "feat-api", - "security" + "integration-openai" ], "author": { - "login": "marcklingen", - "html_url": "https://github.com/marcklingen" + "login": "uhhfeef", + "html_url": "https://github.com/uhhfeef" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3538, - "title": "Vector search for datasets for few-shot prompting", - "href": "https://github.com/orgs/langfuse/discussions/3538", - "created_at": "2024-09-30T17:31:18Z", + "number": 4389, + "title": "Does Langfuse tracing work in Vercel edge functions?", + "href": "https://github.com/orgs/langfuse/discussions/4389", + "created_at": "2024-11-22T22:41:52Z", "upvotes": 1, - "comment_count": 1, + "comment_count": 0, "resolved": false, - "labels": [ - "feat-datasets" - ], + "labels": [], "author": { - "login": "antoniomdk", - "html_url": "https://github.com/antoniomdk" + "login": "holdenmatt", + "html_url": "https://github.com/holdenmatt" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3529, - "title": "Sampling for JS/TS SDKs and integrations", - "href": "https://github.com/orgs/langfuse/discussions/3529", - "created_at": "2024-09-30T05:44:07Z", - "upvotes": 8, - "comment_count": 0, + "number": 4388, + "title": "How to completely discard image with new multi-modal system?", + "href": "https://github.com/orgs/langfuse/discussions/4388", + "created_at": "2024-11-22T18:56:07Z", + "upvotes": 1, + "comment_count": 2, "resolved": false, - "labels": [ - "feat-sampling" - ], + "labels": [], "author": { - "login": "marcklingen", - "html_url": "https://github.com/marcklingen" + "login": "bioshazard", + "html_url": "https://github.com/bioshazard" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3528, - "title": "Add saved filters config", - "href": "https://github.com/orgs/langfuse/discussions/3528", - "created_at": "2024-09-30T05:36:44Z", + "number": 4374, + "title": "Error while migrating schema", + "href": "https://github.com/orgs/langfuse/discussions/4374", + "created_at": "2024-11-21T22:39:36Z", "upvotes": 1, - "comment_count": 1, - "resolved": false, - "labels": [ - "ui" - ], + "comment_count": 2, + "resolved": true, + "labels": [], "author": { - "login": "emaugars12", - "html_url": "https://github.com/emaugars12" + "login": "geek1s42", + "html_url": "https://github.com/geek1s42" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3527, - "title": "Show prompt-level aggregate metrics on the prompts table", - "href": "https://github.com/orgs/langfuse/discussions/3527", - "created_at": "2024-09-30T00:33:43Z", - "upvotes": 4, - "comment_count": 0, - "resolved": false, - "labels": [ - "feat-prompt-management" - ], + "number": 4373, + "title": "Silent failure when attempting adding scores to trace", + "href": "https://github.com/orgs/langfuse/discussions/4373", + "created_at": "2024-11-21T22:18:26Z", + "upvotes": 1, + "comment_count": 2, + "resolved": true, + "labels": [], "author": { - "login": "marcklingen", - "html_url": "https://github.com/marcklingen" + "login": "bioshazard", + "html_url": "https://github.com/bioshazard" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3524, - "title": "Field-level selection for input/output filtering in decorator instead of using update_current_observation/trace", - "href": "https://github.com/orgs/langfuse/discussions/3524", - "created_at": "2024-09-29T08:28:45Z", + "number": 4365, + "title": "Not able to see traces", + "href": "https://github.com/orgs/langfuse/discussions/4365", + "created_at": "2024-11-21T16:56:26Z", "upvotes": 1, - "comment_count": 4, - "resolved": false, - "labels": [ - "integration-python-decorator" - ], + "comment_count": 2, + "resolved": true, + "labels": [], "author": { - "login": "amir-mic-lin", - "html_url": "https://github.com/amir-mic-lin" + "login": "uhhfeef", + "html_url": "https://github.com/uhhfeef" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3508, - "title": "feat: organization level dashboard", - "href": "https://github.com/orgs/langfuse/discussions/3508", - "created_at": "2024-09-27T13:48:13Z", + "number": 4363, + "title": "Langchain with ChatVertexAI: Image/Audio Input Not Displayed in Dashboard with Multi-Modal Traces", + "href": "https://github.com/orgs/langfuse/discussions/4363", + "created_at": "2024-11-21T16:41:35Z", "upvotes": 1, - "comment_count": 1, - "resolved": false, + "comment_count": 2, + "resolved": true, "labels": [], "author": { - "login": "nialldevlin1", - "html_url": "https://github.com/nialldevlin1" + "login": "pleomax0730", + "html_url": "https://github.com/pleomax0730" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3478, - "title": "TextGrad integration", - "href": "https://github.com/orgs/langfuse/discussions/3478", - "created_at": "2024-09-25T16:13:45Z", + "number": 4361, + "title": "Is downgrade available for self-hosted version?", + "href": "https://github.com/orgs/langfuse/discussions/4361", + "created_at": "2024-11-21T15:52:18Z", "upvotes": 1, "comment_count": 1, - "resolved": false, - "labels": [ - "integrations" - ], + "resolved": true, + "labels": [], "author": { - "login": "sakthi-geek", - "html_url": "https://github.com/sakthi-geek" + "login": "skabbit", + "html_url": "https://github.com/skabbit" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3476, - "title": "Chart: usage/metrics grouped by tags", - "href": "https://github.com/orgs/langfuse/discussions/3476", - "created_at": "2024-09-25T13:54:14Z", - "upvotes": 2, - "comment_count": 0, - "resolved": false, + "number": 4359, + "title": "Unexpected error occurred", + "href": "https://github.com/orgs/langfuse/discussions/4359", + "created_at": "2024-11-21T14:21:11Z", + "upvotes": 1, + "comment_count": 1, + "resolved": true, "labels": [ - "feat-dashboard", - "feat-tags" + "self-hosting" ], "author": { - "login": "marcklingen", - "html_url": "https://github.com/marcklingen" + "login": "jguokion", + "html_url": "https://github.com/jguokion" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3472, - "title": "Dashboard: add chart for unique users (MAU/WAU/DAU)", - "href": "https://github.com/orgs/langfuse/discussions/3472", - "created_at": "2024-09-25T11:37:30Z", - "upvotes": 2, - "comment_count": 0, + "number": 4358, + "title": "Tracing of Async Tasks in Agentic Workflow", + "href": "https://github.com/orgs/langfuse/discussions/4358", + "created_at": "2024-11-21T10:46:31Z", + "upvotes": 1, + "comment_count": 2, "resolved": false, - "labels": [ - "feat-dashboard", - "feat-users" - ], + "labels": [], "author": { - "login": "marcklingen", - "html_url": "https://github.com/marcklingen" + "login": "ashish-vwo", + "html_url": "https://github.com/ashish-vwo" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3447, - "title": "Playground: Move messages / add messages in-between others", - "href": "https://github.com/orgs/langfuse/discussions/3447", - "created_at": "2024-09-23T09:16:23Z", - "upvotes": 2, - "comment_count": 0, + "number": 4352, + "title": "Send metrics to ELK", + "href": "https://github.com/orgs/langfuse/discussions/4352", + "created_at": "2024-11-21T05:57:10Z", + "upvotes": 1, + "comment_count": 1, "resolved": false, - "labels": [ - "feat-playground" - ], + "labels": [], "author": { - "login": "jannikmaierhoefer", - "html_url": "https://github.com/jannikmaierhoefer" + "login": "Kratemis", + "html_url": "https://github.com/Kratemis" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3443, - "title": "Why not extend observeOpenAI to support message-level user id?", - "href": "https://github.com/orgs/langfuse/discussions/3443", - "created_at": "2024-09-21T23:57:57Z", + "number": 4331, + "title": "UserIds missing on some traces", + "href": "https://github.com/orgs/langfuse/discussions/4331", + "created_at": "2024-11-20T08:27:01Z", "upvotes": 1, - "comment_count": 1, + "comment_count": 3, "resolved": false, "labels": [], "author": { - "login": "derrickstaten", - "html_url": "https://github.com/derrickstaten" + "login": "takefy-dev", + "html_url": "https://github.com/takefy-dev" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3439, - "title": "Filtering dataset items", - "href": "https://github.com/orgs/langfuse/discussions/3439", - "created_at": "2024-09-21T01:51:33Z", - "upvotes": 3, - "comment_count": 0, + "number": 4330, + "title": "Request for Simplified Custom `trace_id` Implementation in `CallbackHandler` for LangServe", + "href": "https://github.com/orgs/langfuse/discussions/4330", + "created_at": "2024-11-20T07:55:51Z", + "upvotes": 1, + "comment_count": 1, "resolved": false, "labels": [ - "feat-datasets" + "integration-langchain" ], "author": { - "login": "emaugars12", - "html_url": "https://github.com/emaugars12" + "login": "wertycn", + "html_url": "https://github.com/wertycn" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3438, - "title": "Support export for Dataset Items", - "href": "https://github.com/orgs/langfuse/discussions/3438", - "created_at": "2024-09-20T22:57:21Z", - "upvotes": 4, - "comment_count": 0, - "resolved": false, + "number": 4309, + "title": "Langchain//Langgraph prompt link", + "href": "https://github.com/orgs/langfuse/discussions/4309", + "created_at": "2024-11-19T11:18:16Z", + "upvotes": 1, + "comment_count": 3, + "resolved": true, "labels": [ - "feat-datasets" + "feat-prompt-management", + "integration-langchain" ], "author": { - "login": "uladkaminski", - "html_url": "https://github.com/uladkaminski" + "login": "BuragaIonut", + "html_url": "https://github.com/BuragaIonut" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3436, - "title": "Prompt label promotion via api/sdk", - "href": "https://github.com/orgs/langfuse/discussions/3436", - "created_at": "2024-09-20T21:32:07Z", - "upvotes": 2, - "comment_count": 1, - "resolved": false, + "number": 4293, + "title": "slower than expected langfuse_context.update_current_observation operation?", + "href": "https://github.com/orgs/langfuse/discussions/4293", + "created_at": "2024-11-18T17:00:12Z", + "upvotes": 1, + "comment_count": 2, + "resolved": true, "labels": [], "author": { - "login": "mrdrprofuroboros", - "html_url": "https://github.com/mrdrprofuroboros" + "login": "nikcaryo-super", + "html_url": "https://github.com/nikcaryo-super" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3431, - "title": "3rd option for \"sharing\" traces publicly", - "href": "https://github.com/orgs/langfuse/discussions/3431", - "created_at": "2024-09-20T16:29:28Z", + "number": 4286, + "title": "Langfuse returning a internal server error message sometimes", + "href": "https://github.com/orgs/langfuse/discussions/4286", + "created_at": "2024-11-18T13:37:41Z", "upvotes": 1, - "comment_count": 0, + "comment_count": 2, "resolved": false, "labels": [], "author": { - "login": "jannikmaierhoefer", - "html_url": "https://github.com/jannikmaierhoefer" + "login": "nithin1995", + "html_url": "https://github.com/nithin1995" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3415, - "title": "Only use traces in the dataset to render score columns", - "href": "https://github.com/orgs/langfuse/discussions/3415", - "created_at": "2024-09-19T17:36:44Z", + "number": 4284, + "title": "Update prompt label programatically", + "href": "https://github.com/orgs/langfuse/discussions/4284", + "created_at": "2024-11-18T13:18:06Z", "upvotes": 1, "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [ - "feat-datasets" + "feat-prompt-management" ], "author": { - "login": "micahstairs", - "html_url": "https://github.com/micahstairs" + "login": "nikitagupta5566", + "html_url": "https://github.com/nikitagupta5566" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3412, - "title": "Source code versioning and automatic statistics caluclation from scores", - "href": "https://github.com/orgs/langfuse/discussions/3412", - "created_at": "2024-09-19T10:44:02Z", + "number": 4281, + "title": "Preventing Input and Output Capture for GENERATION span in Langfuse", + "href": "https://github.com/orgs/langfuse/discussions/4281", + "created_at": "2024-11-18T11:23:08Z", "upvotes": 1, - "comment_count": 1, - "resolved": false, - "labels": [ - "feat-scores" - ], + "comment_count": 2, + "resolved": true, + "labels": [], "author": { - "login": "ge28yen", - "html_url": "https://github.com/ge28yen" + "login": "ootkin", + "html_url": "https://github.com/ootkin" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3409, - "title": "Add graph view for LangGraph traces", - "href": "https://github.com/orgs/langfuse/discussions/3409", - "created_at": "2024-09-19T07:55:02Z", - "upvotes": 5, + "number": 4262, + "title": "why setup trace is showing SETUP Tracing Pending always and Trace doesn't show in dashboard", + "href": "https://github.com/orgs/langfuse/discussions/4262", + "created_at": "2024-11-15T23:49:20Z", + "upvotes": 1, "comment_count": 1, - "resolved": false, - "labels": [ - "integration-langchain" - ], + "resolved": true, + "labels": [], "author": { - "login": "hassiebp", - "html_url": "https://github.com/hassiebp" + "login": "msgateway", + "html_url": "https://github.com/msgateway" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3402, - "title": "Mask / redact PII from traces logged to langfuse", - "href": "https://github.com/orgs/langfuse/discussions/3402", - "created_at": "2024-09-18T21:04:06Z", - "upvotes": 6, - "comment_count": 3, - "resolved": false, - "labels": [ - "✅ Done", - "security" - ], + "number": 4261, + "title": "Disable tracing for certain calls", + "href": "https://github.com/orgs/langfuse/discussions/4261", + "created_at": "2024-11-15T22:54:27Z", + "upvotes": 1, + "comment_count": 1, + "resolved": true, + "labels": [], "author": { - "login": "marcklingen", - "html_url": "https://github.com/marcklingen" + "login": "yliuaaron", + "html_url": "https://github.com/yliuaaron" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3401, - "title": "Make compile and get_langchain_prompt interoperable when using a prompt from langfuse in langchain", - "href": "https://github.com/orgs/langfuse/discussions/3401", - "created_at": "2024-09-18T21:03:20Z", + "number": 4259, + "title": "Custom trace properties in AsyncOpenAI", + "href": "https://github.com/orgs/langfuse/discussions/4259", + "created_at": "2024-11-15T19:50:10Z", "upvotes": 1, "comment_count": 2, "resolved": false, - "labels": [ - "feat-prompt-management", - "integration-langchain", - "✅ Done" - ], + "labels": [], "author": { - "login": "ajram23", - "html_url": "https://github.com/ajram23" + "login": "yliuaaron", + "html_url": "https://github.com/yliuaaron" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3396, - "title": "Better mustache/jinja support in langfuse playground", - "href": "https://github.com/orgs/langfuse/discussions/3396", - "created_at": "2024-09-18T11:54:28Z", - "upvotes": 3, + "number": 4231, + "title": "Langfuse overwriting ingested usage for gpt-4o-mini models & incorrect inferred usage for low-detail image data", + "href": "https://github.com/orgs/langfuse/discussions/4231", + "created_at": "2024-11-14T12:29:51Z", + "upvotes": 1, "comment_count": 2, "resolved": false, "labels": [ - "feat-playground" + "integration-openai", + "feat-cost-tracking" ], "author": { - "login": "FlorDonnaSanders", - "html_url": "https://github.com/FlorDonnaSanders" + "login": "LastRemote", + "html_url": "https://github.com/LastRemote" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3395, - "title": "Add fine-grained filtering options in python `fetch_traces` API to match web UI", - "href": "https://github.com/orgs/langfuse/discussions/3395", - "created_at": "2024-09-18T11:18:20Z", - "upvotes": 2, - "comment_count": 0, - "resolved": false, - "labels": [], + "number": 4228, + "title": "Why my langgrpahjs agent can't show token", + "href": "https://github.com/orgs/langfuse/discussions/4228", + "created_at": "2024-11-14T08:46:36Z", + "upvotes": 1, + "comment_count": 2, + "resolved": true, + "labels": [ + "integration-langchain" + ], "author": { - "login": "evangriffiths", - "html_url": "https://github.com/evangriffiths" + "login": "VittorioYan", + "html_url": "https://github.com/VittorioYan" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3376, - "title": "Allow LangchainCallbackHandler to specify custom input/output?", - "href": "https://github.com/orgs/langfuse/discussions/3376", - "created_at": "2024-09-16T23:45:18Z", + "number": 4223, + "title": "How/which environment var do I need to set to get OAuth2.0 authentication flow?", + "href": "https://github.com/orgs/langfuse/discussions/4223", + "created_at": "2024-11-13T19:57:27Z", "upvotes": 1, - "comment_count": 1, + "comment_count": 3, "resolved": false, "labels": [ - "integration-langchain" + "self-hosting" ], "author": { - "login": "xxkennyxu", - "html_url": "https://github.com/xxkennyxu" + "login": "itay-moav", + "html_url": "https://github.com/itay-moav" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3375, - "title": "Promptfoo integration", - "href": "https://github.com/orgs/langfuse/discussions/3375", - "created_at": "2024-09-16T23:34:34Z", - "upvotes": 2, - "comment_count": 1, + "number": 4213, + "title": "Is there a way to keep database connections open longer?", + "href": "https://github.com/orgs/langfuse/discussions/4213", + "created_at": "2024-11-13T13:53:25Z", + "upvotes": 1, + "comment_count": 2, "resolved": false, "labels": [ - "integrations" + "self-hosting" ], "author": { - "login": "aiseei", - "html_url": "https://github.com/aiseei" + "login": "tomi-bigpi", + "html_url": "https://github.com/tomi-bigpi" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3367, - "title": "Default closed dropdown view in trace details", - "href": "https://github.com/orgs/langfuse/discussions/3367", - "created_at": "2024-09-16T12:47:26Z", - "upvotes": 2, - "comment_count": 1, + "number": 4205, + "title": "Tokenizer config for Qwen 2.5 models", + "href": "https://github.com/orgs/langfuse/discussions/4205", + "created_at": "2024-11-13T08:05:03Z", + "upvotes": 1, + "comment_count": 2, "resolved": false, - "labels": [ - "ui" - ], + "labels": [], "author": { - "login": "jannikmaierhoefer", - "html_url": "https://github.com/jannikmaierhoefer" + "login": "mediumsizeworkingdog", + "html_url": "https://github.com/mediumsizeworkingdog" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3363, - "title": "Dashboard: TPM chart", - "href": "https://github.com/orgs/langfuse/discussions/3363", - "created_at": "2024-09-16T07:53:52Z", - "upvotes": 2, + "number": 4197, + "title": "[Generations]: Support n parameter", + "href": "https://github.com/orgs/langfuse/discussions/4197", + "created_at": "2024-11-12T18:58:32Z", + "upvotes": 1, "comment_count": 1, "resolved": false, "labels": [ - "feat-dashboard" + "integration-openai" ], "author": { - "login": "afonsomatos", - "html_url": "https://github.com/afonsomatos" + "login": "ngamolsky", + "html_url": "https://github.com/ngamolsky" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3361, - "title": "Group Similar or Consecutive Traces", - "href": "https://github.com/orgs/langfuse/discussions/3361", - "created_at": "2024-09-16T05:38:40Z", + "number": 4179, + "title": "Is there a way to get process to exit on DB connection errors when rotating database passwords?", + "href": "https://github.com/orgs/langfuse/discussions/4179", + "created_at": "2024-11-11T21:55:56Z", "upvotes": 1, - "comment_count": 1, - "resolved": false, - "labels": [], + "comment_count": 3, + "resolved": true, + "labels": [ + "self-hosting" + ], "author": { - "login": "rvndbalaji", - "html_url": "https://github.com/rvndbalaji" + "login": "tomi-bigpi", + "html_url": "https://github.com/tomi-bigpi" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3358, - "title": "More customization in graphs and dashboard panels", - "href": "https://github.com/orgs/langfuse/discussions/3358", - "created_at": "2024-09-14T03:12:38Z", + "number": 4178, + "title": "How to update a score?", + "href": "https://github.com/orgs/langfuse/discussions/4178", + "created_at": "2024-11-11T21:48:51Z", "upvotes": 1, "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [ - "feat-dashboard" + "feat-scores" ], "author": { - "login": "emaugars12", - "html_url": "https://github.com/emaugars12" - }, - "category": "Ideas" - }, - { - "number": 3352, - "title": "LLM Based Evaluation - more control with mapping a variable e.g. {{query}}, {{ground_truth}} etc inside of Input/Output/Metadata observation", - "href": "https://github.com/orgs/langfuse/discussions/3352", - "created_at": "2024-09-13T16:58:05Z", - "upvotes": 2, - "comment_count": 1, - "resolved": false, - "labels": [], - "author": { - "login": "stepanogil", - "html_url": "https://github.com/stepanogil" + "login": "leichx", + "html_url": "https://github.com/leichx" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3351, - "title": "Support for Firebase Genkit", - "href": "https://github.com/orgs/langfuse/discussions/3351", - "created_at": "2024-09-13T16:29:07Z", + "number": 4172, + "title": "TypeError: LangfuseTracer.trace() got an unexpected keyword argument 'parent_span'", + "href": "https://github.com/orgs/langfuse/discussions/4172", + "created_at": "2024-11-11T13:31:14Z", "upvotes": 1, - "comment_count": 1, - "resolved": false, + "comment_count": 2, + "resolved": true, "labels": [ - "integrations" + "integration-haystack" ], "author": { - "login": "debkanchan", - "html_url": "https://github.com/debkanchan" + "login": "schwasa", + "html_url": "https://github.com/schwasa" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3338, - "title": "o1-preview and o1-mini support", - "href": "https://github.com/orgs/langfuse/discussions/3338", - "created_at": "2024-09-13T07:16:22Z", - "upvotes": 2, - "comment_count": 3, - "resolved": false, + "number": 4169, + "title": "Tenant based prompt management ?", + "href": "https://github.com/orgs/langfuse/discussions/4169", + "created_at": "2024-11-11T11:22:21Z", + "upvotes": 1, + "comment_count": 2, + "resolved": true, "labels": [ - "✅ Done" + "feat-prompt-management" ], "author": { - "login": "juan-abia", - "html_url": "https://github.com/juan-abia" + "login": "PreetamGKatakali", + "html_url": "https://github.com/PreetamGKatakali" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3336, - "title": "Add Notification for / in Comments Objects", - "href": "https://github.com/orgs/langfuse/discussions/3336", - "created_at": "2024-09-13T00:04:16Z", + "number": 4134, + "title": "LangGraph traces cause self-hosted instance to hang", + "href": "https://github.com/orgs/langfuse/discussions/4134", + "created_at": "2024-11-08T22:54:34Z", "upvotes": 1, - "comment_count": 1, + "comment_count": 2, "resolved": false, "labels": [ - "feat-comments" + "integration-langchain" ], "author": { - "login": "Zugunruhekami", - "html_url": "https://github.com/Zugunruhekami" + "login": "rishimo", + "html_url": "https://github.com/rishimo" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3335, - "title": "Extend Searchability (through filter) for Comments Objects", - "href": "https://github.com/orgs/langfuse/discussions/3335", - "created_at": "2024-09-12T23:58:17Z", + "number": 4123, + "title": "Block strangers from signing in to your app", + "href": "https://github.com/orgs/langfuse/discussions/4123", + "created_at": "2024-11-08T10:14:08Z", "upvotes": 1, - "comment_count": 0, - "resolved": false, - "labels": [ - "feat-comments" - ], + "comment_count": 2, + "resolved": true, + "labels": [], "author": { - "login": "Zugunruhekami", - "html_url": "https://github.com/Zugunruhekami" + "login": "shner-elmo", + "html_url": "https://github.com/shner-elmo" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3291, - "title": "Filter by error in sub span", - "href": "https://github.com/orgs/langfuse/discussions/3291", - "created_at": "2024-09-10T13:20:11Z", - "upvotes": 2, - "comment_count": 3, - "resolved": false, - "labels": [ - "✅ Done", - "feat-log-levels" - ], + "number": 4119, + "title": "Can we use Langfuse without any Authentication enabled?", + "href": "https://github.com/orgs/langfuse/discussions/4119", + "created_at": "2024-11-08T08:32:30Z", + "upvotes": 1, + "comment_count": 1, + "resolved": true, + "labels": [], "author": { - "login": "bettlebrox", - "html_url": "https://github.com/bettlebrox" + "login": "SudhaGarimella", + "html_url": "https://github.com/SudhaGarimella" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3289, - "title": "Deleting old, unused tags or making them unseen if weren't used in the chosen time window.", - "href": "https://github.com/orgs/langfuse/discussions/3289", - "created_at": "2024-09-10T12:56:43Z", + "number": 4118, + "title": "Can I evaluate Span using the External Evaluation Pipeline?", + "href": "https://github.com/orgs/langfuse/discussions/4118", + "created_at": "2024-11-08T08:04:55Z", "upvotes": 1, "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [ - "feat-tags" + "feat-evals" ], "author": { - "login": "constalozinschi", - "html_url": "https://github.com/constalozinschi" + "login": "ygt1qa8", + "html_url": "https://github.com/ygt1qa8" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3285, - "title": "SDK-JS: Allow to delete one or more trace", - "href": "https://github.com/orgs/langfuse/discussions/3285", - "created_at": "2024-09-10T09:26:04Z", - "upvotes": 5, - "comment_count": 2, + "number": 4117, + "title": "ERROR - An error occurred: 'function' object is not subscriptable", + "href": "https://github.com/orgs/langfuse/discussions/4117", + "created_at": "2024-11-08T04:51:09Z", + "upvotes": 1, + "comment_count": 1, "resolved": false, - "labels": [ - "sdk-js" - ], + "labels": [], "author": { - "login": "Lunik", - "html_url": "https://github.com/Lunik" + "login": "MazarSayed", + "html_url": "https://github.com/MazarSayed" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3276, - "title": "Retrieve the trace by metdata", - "href": "https://github.com/orgs/langfuse/discussions/3276", - "created_at": "2024-09-09T20:51:08Z", - "upvotes": 3, - "comment_count": 0, - "resolved": false, - "labels": [ - "feat-metadata" - ], + "number": 4116, + "title": "How can I implement a knowledge base and multi-turn file dialogue with pip deployment?! How does this “history” work?", + "href": "https://github.com/orgs/langfuse/discussions/4116", + "created_at": "2024-11-08T03:05:40Z", + "upvotes": 1, + "comment_count": 2, + "resolved": true, + "labels": [], "author": { - "login": "gingerjx", - "html_url": "https://github.com/gingerjx" + "login": "SKKKKYLAR", + "html_url": "https://github.com/SKKKKYLAR" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3275, - "title": "Include metrics and scores in getDatasetRun / `GET /api/public/datasets/{datasetName}/runs/{runName}`", - "href": "https://github.com/orgs/langfuse/discussions/3275", - "created_at": "2024-09-09T20:48:16Z", - "upvotes": 3, - "comment_count": 0, - "resolved": false, + "number": 4115, + "title": "Configure LangFuse Project within CallbackHandler", + "href": "https://github.com/orgs/langfuse/discussions/4115", + "created_at": "2024-11-07T23:19:13Z", + "upvotes": 1, + "comment_count": 2, + "resolved": true, "labels": [ - "feat-datasets" + "integration-langchain" ], "author": { - "login": "gingerjx", - "html_url": "https://github.com/gingerjx" + "login": "krlng", + "html_url": "https://github.com/krlng" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3273, - "title": "Custom Themes", - "href": "https://github.com/orgs/langfuse/discussions/3273", - "created_at": "2024-09-09T15:08:25Z", + "number": 4091, + "title": "Openwebui and langfuse", + "href": "https://github.com/orgs/langfuse/discussions/4091", + "created_at": "2024-11-06T22:21:43Z", "upvotes": 1, "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [], "author": { - "login": "rvndbalaji", - "html_url": "https://github.com/rvndbalaji" + "login": "flefevre", + "html_url": "https://github.com/flefevre" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3263, - "title": "Comment API", - "href": "https://github.com/orgs/langfuse/discussions/3263", - "created_at": "2024-09-07T05:53:31Z", + "number": 4090, + "title": "Configuring logging", + "href": "https://github.com/orgs/langfuse/discussions/4090", + "created_at": "2024-11-06T21:39:03Z", "upvotes": 1, - "comment_count": 1, - "resolved": false, - "labels": [ - "feat-api", - "feat-datasets" - ], + "comment_count": 5, + "resolved": true, + "labels": [], "author": { - "login": "darvin", - "html_url": "https://github.com/darvin" + "login": "pcoccoli", + "html_url": "https://github.com/pcoccoli" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3256, - "title": "Integration with LangChain4j", - "href": "https://github.com/orgs/langfuse/discussions/3256", - "created_at": "2024-09-06T15:50:51Z", - "upvotes": 2, - "comment_count": 2, + "number": 4080, + "title": "Langfuse User Management with Custom Oauth", + "href": "https://github.com/orgs/langfuse/discussions/4080", + "created_at": "2024-11-06T14:21:39Z", + "upvotes": 1, + "comment_count": 3, "resolved": false, "labels": [ - "integrations", - "feat-prompt-management", - "integration-langchain" + "feat-auth", + "self-hosting" ], "author": { - "login": "ruizrube", - "html_url": "https://github.com/ruizrube" + "login": "bziolkowski", + "html_url": "https://github.com/bziolkowski" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3252, - "title": "Need to retain the old evaluation history results, including input and all ground truth", - "href": "https://github.com/orgs/langfuse/discussions/3252", - "created_at": "2024-09-06T03:29:17Z", + "number": 4079, + "title": "How to prevent strangers from creating an account on your app", + "href": "https://github.com/orgs/langfuse/discussions/4079", + "created_at": "2024-11-06T14:17:46Z", "upvotes": 1, "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [ - "feat-datasets" + "self-hosting" ], "author": { - "login": "serlina", - "html_url": "https://github.com/serlina" + "login": "shner-elmo", + "html_url": "https://github.com/shner-elmo" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3243, - "title": "Add organization / project / user / API key management API", - "href": "https://github.com/orgs/langfuse/discussions/3243", - "created_at": "2024-09-05T08:10:12Z", - "upvotes": 9, - "comment_count": 5, + "number": 4075, + "title": "Does it make sense to use multiple api-keys", + "href": "https://github.com/orgs/langfuse/discussions/4075", + "created_at": "2024-11-06T11:22:45Z", + "upvotes": 1, + "comment_count": 2, + "resolved": true, + "labels": [], + "author": { + "login": "shner-elmo", + "html_url": "https://github.com/shner-elmo" + }, + "category": "Support" + }, + { + "number": 4071, + "title": "Authentication not working?", + "href": "https://github.com/orgs/langfuse/discussions/4071", + "created_at": "2024-11-06T01:00:12Z", + "upvotes": 1, + "comment_count": 2, + "resolved": true, + "labels": [], + "author": { + "login": "shner-elmo", + "html_url": "https://github.com/shner-elmo" + }, + "category": "Support" + }, + { + "number": 4056, + "title": "Langfuse deployment issue on k8", + "href": "https://github.com/orgs/langfuse/discussions/4056", + "created_at": "2024-11-05T11:54:57Z", + "upvotes": 1, + "comment_count": 4, "resolved": false, "labels": [ "self-hosting" ], "author": { - "login": "EricAntidot", - "html_url": "https://github.com/EricAntidot" + "login": "hrone-dev-satyammishra", + "html_url": "https://github.com/hrone-dev-satyammishra" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3240, - "title": "Ability to export all traces/sessions/scores from langfuse and import back to another langfuse instance", - "href": "https://github.com/orgs/langfuse/discussions/3240", - "created_at": "2024-09-05T07:11:48Z", - "upvotes": 5, + "number": 4046, + "title": "Should the Langfuse classs initialization be cached (does it do any I/O on init?) ?", + "href": "https://github.com/orgs/langfuse/discussions/4046", + "created_at": "2024-11-04T16:44:27Z", + "upvotes": 1, "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [ - "self-hosting" + "integration-langchain" ], "author": { - "login": "SinghCoder", - "html_url": "https://github.com/SinghCoder" + "login": "shner-elmo", + "html_url": "https://github.com/shner-elmo" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3237, - "title": "Support for Selecting Specific Paths from JSON Objects in Evaluation Prompts", - "href": "https://github.com/orgs/langfuse/discussions/3237", - "created_at": "2024-09-05T05:05:48Z", - "upvotes": 2, + "number": 4043, + "title": "\"Custom\" traces not creating when Next.js Vercel instrumentation is on.", + "href": "https://github.com/orgs/langfuse/discussions/4043", + "created_at": "2024-11-04T14:07:46Z", + "upvotes": 1, "comment_count": 2, - "resolved": false, + "resolved": true, "labels": [ - "feat-evals" + "integration-vercel-ai-sdk" ], "author": { - "login": "divyanshubhuta", - "html_url": "https://github.com/divyanshubhuta" + "login": "rovnyart", + "html_url": "https://github.com/rovnyart" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3220, - "title": "Trace Logprobs from OpenAI models", - "href": "https://github.com/orgs/langfuse/discussions/3220", - "created_at": "2024-09-04T01:25:15Z", - "upvotes": 2, - "comment_count": 0, - "resolved": false, - "labels": [ - "integration-openai" - ], + "number": 4041, + "title": "When running in relatively high amount of concurrent requests we start getting: \"API error occurred: Service unavailable.\" from Langfuse server", + "href": "https://github.com/orgs/langfuse/discussions/4041", + "created_at": "2024-11-04T13:55:19Z", + "upvotes": 1, + "comment_count": 2, + "resolved": true, + "labels": [], "author": { - "login": "yusuke-intern", - "html_url": "https://github.com/yusuke-intern" + "login": "sternr", + "html_url": "https://github.com/sternr" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3215, - "title": "(ui) Ability to hide \"scores\" column", - "href": "https://github.com/orgs/langfuse/discussions/3215", - "created_at": "2024-09-03T15:34:14Z", - "upvotes": 2, + "number": 4038, + "title": "SSL: CERTIFICATE_VERIFY_FAILED error when access the self hosted langfuse from the code", + "href": "https://github.com/orgs/langfuse/discussions/4038", + "created_at": "2024-11-04T13:14:05Z", + "upvotes": 1, "comment_count": 2, - "resolved": false, + "resolved": true, "labels": [], "author": { - "login": "marctorsoc", - "html_url": "https://github.com/marctorsoc" + "login": "SugumarRavichandran", + "html_url": "https://github.com/SugumarRavichandran" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3212, - "title": "Dataset run description and metadata should not be fixed on the page", - "href": "https://github.com/orgs/langfuse/discussions/3212", - "created_at": "2024-09-03T12:30:34Z", + "number": 4026, + "title": "Blob is not defined for Node 16", + "href": "https://github.com/orgs/langfuse/discussions/4026", + "created_at": "2024-11-04T04:58:15Z", "upvotes": 1, - "comment_count": 1, + "comment_count": 2, "resolved": false, - "labels": [ - "feat-datasets" - ], + "labels": [], "author": { - "login": "justinas-kazanavicius", - "html_url": "https://github.com/justinas-kazanavicius" + "login": "jamesyu", + "html_url": "https://github.com/jamesyu" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3208, - "title": "Support for exporting traces to CSV/JSON", - "href": "https://github.com/orgs/langfuse/discussions/3208", - "created_at": "2024-09-03T08:00:36Z", - "upvotes": 4, + "number": 4001, + "title": "Cloudron packaging issue with Prisma client", + "href": "https://github.com/orgs/langfuse/discussions/4001", + "created_at": "2024-11-01T14:21:59Z", + "upvotes": 1, "comment_count": 2, - "resolved": false, - "labels": [ - "✅ Done" - ], + "resolved": true, + "labels": [], "author": { - "login": "david1542", - "html_url": "https://github.com/david1542" + "login": "Lanhild", + "html_url": "https://github.com/Lanhild" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3194, - "title": "Optionally set timestamp when creating a score", - "href": "https://github.com/orgs/langfuse/discussions/3194", - "created_at": "2024-09-02T15:20:20Z", + "number": 3996, + "title": "Can you use the app without OAuth?", + "href": "https://github.com/orgs/langfuse/discussions/3996", + "created_at": "2024-11-01T03:36:33Z", "upvotes": 1, "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [ - "feat-api", - "feat-scores" + "feat-auth", + "self-hosting" ], "author": { - "login": "FlorDonnaSanders", - "html_url": "https://github.com/FlorDonnaSanders" + "login": "shner-elmo", + "html_url": "https://github.com/shner-elmo" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3186, - "title": "Setting trace ID and parent observation ID with Python decorator SDK", - "href": "https://github.com/orgs/langfuse/discussions/3186", - "created_at": "2024-09-02T09:27:36Z", + "number": 3985, + "title": "Pending Badge Stuck on Setup Tracing Step", + "href": "https://github.com/orgs/langfuse/discussions/3985", + "created_at": "2024-10-31T15:51:08Z", "upvotes": 1, - "comment_count": 3, - "resolved": false, - "labels": [ - "✅ Done", - "integration-python-decorator" - ], - "author": { - "login": "MrOrz", - "html_url": "https://github.com/MrOrz" - }, - "category": "Ideas" - }, - { - "number": 3181, - "title": "Log only metadata", - "href": "https://github.com/orgs/langfuse/discussions/3181", - "created_at": "2024-08-31T18:31:11Z", - "upvotes": 2, - "comment_count": 0, - "resolved": false, + "comment_count": 2, + "resolved": true, "labels": [], "author": { - "login": "jan-kubica", - "html_url": "https://github.com/jan-kubica" + "login": "c0pper", + "html_url": "https://github.com/c0pper" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3178, - "title": "The display time on the x-axis of the chart in the Dashboard shows only the date, without hours, minutes, and seconds.", - "href": "https://github.com/orgs/langfuse/discussions/3178", - "created_at": "2024-08-31T04:09:07Z", + "number": 3977, + "title": "getPromptStateless received 403 error when using `LangfuseWeb` SDK", + "href": "https://github.com/orgs/langfuse/discussions/3977", + "created_at": "2024-10-31T01:45:19Z", "upvotes": 1, "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [ - "bug", - "✅ Done", - "feat-dashboard" + "feat-prompt-management" ], "author": { - "login": "HGladiator", - "html_url": "https://github.com/HGladiator" + "login": "huangbaitu123", + "html_url": "https://github.com/huangbaitu123" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3166, - "title": "Support Tool Calls / Functions in Playground", - "href": "https://github.com/orgs/langfuse/discussions/3166", - "created_at": "2024-08-30T20:04:34Z", - "upvotes": 15, - "comment_count": 10, - "resolved": false, - "labels": [ - "feat-playground" - ], + "number": 3976, + "title": "Missing scores after pushing scores to Langfuse", + "href": "https://github.com/orgs/langfuse/discussions/3976", + "created_at": "2024-10-31T00:02:59Z", + "upvotes": 1, + "comment_count": 3, + "resolved": true, + "labels": [], "author": { - "login": "yuyuma", - "html_url": "https://github.com/yuyuma" + "login": "laisalvescw", + "html_url": "https://github.com/laisalvescw" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3147, - "title": "Add the ability to search by message words in traces and scores", - "href": "https://github.com/orgs/langfuse/discussions/3147", - "created_at": "2024-08-30T08:02:32Z", - "upvotes": 4, - "comment_count": 0, - "resolved": false, - "labels": [], + "number": 3972, + "title": "For which kinds of data is `ENCRYPTION_KEY` used?", + "href": "https://github.com/orgs/langfuse/discussions/3972", + "created_at": "2024-10-30T18:21:25Z", + "upvotes": 1, + "comment_count": 1, + "resolved": true, + "labels": [ + "self-hosting" + ], "author": { - "login": "ValentinKovalev", - "html_url": "https://github.com/ValentinKovalev" + "login": "felix-sanchez-unmind", + "html_url": "https://github.com/felix-sanchez-unmind" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3131, - "title": "Diff of prompt versions", - "href": "https://github.com/orgs/langfuse/discussions/3131", - "created_at": "2024-08-29T11:43:24Z", - "upvotes": 6, + "number": 3965, + "title": "How to set environment variables for custom oauth2.0 sso?", + "href": "https://github.com/orgs/langfuse/discussions/3965", + "created_at": "2024-10-30T06:27:15Z", + "upvotes": 1, "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [ - "feat-prompt-management" + "feat-auth", + "self-hosting" ], "author": { - "login": "dylanjcastillo", - "html_url": "https://github.com/dylanjcastillo" + "login": "IeohMingChan", + "html_url": "https://github.com/IeohMingChan" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3129, - "title": "The LangchainCallbackHandler supports statistical delay of the first token", - "href": "https://github.com/orgs/langfuse/discussions/3129", - "created_at": "2024-08-29T09:26:11Z", - "upvotes": 3, - "comment_count": 2, - "resolved": false, + "number": 3957, + "title": "Langfuse.create_prompt() got an unexpected keyword argument 'version'", + "href": "https://github.com/orgs/langfuse/discussions/3957", + "created_at": "2024-10-29T13:21:51Z", + "upvotes": 1, + "comment_count": 1, + "resolved": true, "labels": [ - "integration-langchain", - "✅ Done" + "feat-prompt-management" ], "author": { - "login": "Hacky-DH", - "html_url": "https://github.com/Hacky-DH" + "login": "silenceliang", + "html_url": "https://github.com/silenceliang" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3112, - "title": "Request Role elevation from Langfuse UI", - "href": "https://github.com/orgs/langfuse/discussions/3112", - "created_at": "2024-08-28T13:15:21Z", + "number": 3949, + "title": "Is there a way to clear trace data in batch?", + "href": "https://github.com/orgs/langfuse/discussions/3949", + "created_at": "2024-10-29T06:10:26Z", "upvotes": 1, - "comment_count": 0, - "resolved": false, + "comment_count": 2, + "resolved": true, "labels": [ - "feat-rbac" + "self-hosting" ], "author": { - "login": "thund3rbrd", - "html_url": "https://github.com/thund3rbrd" + "login": "renwei-work", + "html_url": "https://github.com/renwei-work" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3111, - "title": "Improve RBAC", - "href": "https://github.com/orgs/langfuse/discussions/3111", - "created_at": "2024-08-28T13:08:57Z", + "number": 3943, + "title": "Improvements of Langfuse-Haystack integration", + "href": "https://github.com/orgs/langfuse/discussions/3943", + "created_at": "2024-10-28T14:49:51Z", "upvotes": 1, - "comment_count": 0, - "resolved": false, + "comment_count": 2, + "resolved": true, "labels": [ - "feat-rbac" + "integration-haystack" ], "author": { - "login": "thund3rbrd", - "html_url": "https://github.com/thund3rbrd" + "login": "alex-stoica", + "html_url": "https://github.com/alex-stoica" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3074, - "title": "Add \"image_url\" to Langfuse Prompt types.", - "href": "https://github.com/orgs/langfuse/discussions/3074", - "created_at": "2024-08-26T11:54:32Z", + "number": 3924, + "title": "Postgres version mismatch when upgrading langfuse locally", + "href": "https://github.com/orgs/langfuse/discussions/3924", + "created_at": "2024-10-25T18:30:14Z", "upvotes": 2, "comment_count": 1, - "resolved": false, - "labels": [ - "feat-prompt-management" - ], + "resolved": true, + "labels": [], "author": { - "login": "grobruegge", - "html_url": "https://github.com/grobruegge" + "login": "nikcaryo-super", + "html_url": "https://github.com/nikcaryo-super" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3062, - "title": "Support for OpenAI.client.chat.completions.with_raw_response", - "href": "https://github.com/orgs/langfuse/discussions/3062", - "created_at": "2024-08-24T12:55:39Z", + "number": 3920, + "title": "Rate limit exceed using Langfuse Python SDK", + "href": "https://github.com/orgs/langfuse/discussions/3920", + "created_at": "2024-10-25T14:45:56Z", "upvotes": 1, "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [ - "integration-openai" + "feat-api" ], "author": { - "login": "aman-gupta-doc", - "html_url": "https://github.com/aman-gupta-doc" + "login": "laisalvescw", + "html_url": "https://github.com/laisalvescw" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3053, - "title": "Being able to link Prompts with Traces when using the LangChain integration", - "href": "https://github.com/orgs/langfuse/discussions/3053", - "created_at": "2024-08-23T13:14:21Z", + "number": 3910, + "title": "If I use Anthropic Claude component in Langflow, the trace data in Langfuse is all null", + "href": "https://github.com/orgs/langfuse/discussions/3910", + "created_at": "2024-10-25T06:50:02Z", "upvotes": 2, "comment_count": 2, - "resolved": false, - "labels": [ - "✅ Done" - ], + "resolved": true, + "labels": [], "author": { - "login": "jonnyforsterMSG", - "html_url": "https://github.com/jonnyforsterMSG" + "login": "b8heng", + "html_url": "https://github.com/b8heng" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3050, - "title": "Implement dataset removal method", - "href": "https://github.com/orgs/langfuse/discussions/3050", - "created_at": "2024-08-23T11:40:13Z", - "upvotes": 4, - "comment_count": 0, - "resolved": false, + "number": 3905, + "title": "Allow injection of generation context into evaluation prompt", + "href": "https://github.com/orgs/langfuse/discussions/3905", + "created_at": "2024-10-24T20:39:46Z", + "upvotes": 1, + "comment_count": 1, + "resolved": true, "labels": [ - "feat-datasets" + "feat-evals" ], "author": { - "login": "justinas-kazanavicius", - "html_url": "https://github.com/justinas-kazanavicius" + "login": "dveyarangi", + "html_url": "https://github.com/dveyarangi" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3023, - "title": "Track openai token usage from stream_options instead of tokenizing the response server-side", - "href": "https://github.com/orgs/langfuse/discussions/3023", - "created_at": "2024-08-22T17:08:08Z", - "upvotes": 3, - "comment_count": 3, - "resolved": false, + "number": 3902, + "title": "How to fetch the output and input tokens of a trace via API?", + "href": "https://github.com/orgs/langfuse/discussions/3902", + "created_at": "2024-10-24T16:16:56Z", + "upvotes": 0, + "comment_count": 1, + "resolved": true, "labels": [ - "integration-openai", - "✅ Done", + "feat-api", "feat-cost-tracking" ], "author": { - "login": "kilimchoi", - "html_url": "https://github.com/kilimchoi" + "login": "fdb02983rhy", + "html_url": "https://github.com/fdb02983rhy" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3021, - "title": "Pre-defined user access", - "href": "https://github.com/orgs/langfuse/discussions/3021", - "created_at": "2024-08-22T16:08:19Z", + "number": 3900, + "title": "Sometimes traces lack metadata completely", + "href": "https://github.com/orgs/langfuse/discussions/3900", + "created_at": "2024-10-24T15:06:32Z", "upvotes": 1, - "comment_count": 0, - "resolved": false, - "labels": [ - "self-hosting" - ], + "comment_count": 4, + "resolved": true, + "labels": [], "author": { - "login": "LucasMagnum", - "html_url": "https://github.com/LucasMagnum" + "login": "RichardSieg", + "html_url": "https://github.com/RichardSieg" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3014, - "title": "Supports filter string using regular expression matching", - "href": "https://github.com/orgs/langfuse/discussions/3014", - "created_at": "2024-08-22T14:39:34Z", + "number": 3890, + "title": "how to add invoked langchain tool names as tags or as metadata", + "href": "https://github.com/orgs/langfuse/discussions/3890", + "created_at": "2024-10-24T00:39:02Z", "upvotes": 1, "comment_count": 1, "resolved": false, - "labels": [], + "labels": [ + "integration-langchain" + ], "author": { - "login": "chai3", - "html_url": "https://github.com/chai3" + "login": "Wrashionis", + "html_url": "https://github.com/Wrashionis" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3004, - "title": "Support for more modalities and base64 content", - "href": "https://github.com/orgs/langfuse/discussions/3004", - "created_at": "2024-08-22T09:50:47Z", - "upvotes": 45, - "comment_count": 17, + "number": 3886, + "title": "Azure AD auth: OAUTH_PARSE_PROFILE_ERROR", + "href": "https://github.com/orgs/langfuse/discussions/3886", + "created_at": "2024-10-23T19:40:57Z", + "upvotes": 1, + "comment_count": 2, "resolved": false, - "labels": [ - "✅ Done", - "feat-multimodal" - ], + "labels": [], "author": { - "login": "marliessophie", - "html_url": "https://github.com/marliessophie" + "login": "kryvokhyzha", + "html_url": "https://github.com/kryvokhyzha" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2997, - "title": "Filter Span events in dashboard", - "href": "https://github.com/orgs/langfuse/discussions/2997", - "created_at": "2024-08-21T16:25:02Z", - "upvotes": 2, - "comment_count": 0, + "number": 3884, + "title": "I cant quite tell if i'm doing the parent span correctly. The trace is appearing but not associated to the Session", + "href": "https://github.com/orgs/langfuse/discussions/3884", + "created_at": "2024-10-23T16:12:44Z", + "upvotes": 1, + "comment_count": 2, "resolved": false, "labels": [], "author": { - "login": "tagaretiro", - "html_url": "https://github.com/tagaretiro" + "login": "PandelisZ", + "html_url": "https://github.com/PandelisZ" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2987, - "title": "Claude/openai/google prompt caching", - "href": "https://github.com/orgs/langfuse/discussions/2987", - "created_at": "2024-08-21T04:18:55Z", - "upvotes": 5, - "comment_count": 4, + "number": 3879, + "title": "No token information in observation of LLM run", + "href": "https://github.com/orgs/langfuse/discussions/3879", + "created_at": "2024-10-23T13:07:43Z", + "upvotes": 1, + "comment_count": 2, "resolved": false, "labels": [ "feat-cost-tracking" ], "author": { - "login": "mrdrprofuroboros", - "html_url": "https://github.com/mrdrprofuroboros" + "login": "noInterestIfPaidInFull", + "html_url": "https://github.com/noInterestIfPaidInFull" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2978, - "title": "Unexpected event format when using `ibm-watsonx-ai` with LangChain extension", - "href": "https://github.com/orgs/langfuse/discussions/2978", - "created_at": "2024-08-20T11:20:28Z", + "number": 3877, + "title": "Self host Langfuse not working - column `t6.cloud_config` does not exist", + "href": "https://github.com/orgs/langfuse/discussions/3877", + "created_at": "2024-10-23T11:54:13Z", "upvotes": 1, - "comment_count": 0, + "comment_count": 4, "resolved": false, "labels": [ - "integration-langchain" + "self-hosting" ], "author": { - "login": "barvhaim", - "html_url": "https://github.com/barvhaim" + "login": "SugumarRavichandran", + "html_url": "https://github.com/SugumarRavichandran" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2975, - "title": "fetch all users via sdk/api", - "href": "https://github.com/orgs/langfuse/discussions/2975", - "created_at": "2024-08-20T06:52:47Z", + "number": 3868, + "title": "Langfuse Tracing not showing up on UI", + "href": "https://github.com/orgs/langfuse/discussions/3868", + "created_at": "2024-10-22T21:26:13Z", "upvotes": 1, - "comment_count": 3, - "resolved": false, - "labels": [ - "feat-users" - ], + "comment_count": 2, + "resolved": true, + "labels": [], "author": { - "login": "vincent-larisma", - "html_url": "https://github.com/vincent-larisma" + "login": "nthanapaisal", + "html_url": "https://github.com/nthanapaisal" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2967, - "title": "Tag based usage", - "href": "https://github.com/orgs/langfuse/discussions/2967", - "created_at": "2024-08-19T07:13:26Z", + "number": 3863, + "title": "Request Timeout for Dashboard", + "href": "https://github.com/orgs/langfuse/discussions/3863", + "created_at": "2024-10-22T14:18:43Z", "upvotes": 1, - "comment_count": 1, - "resolved": false, + "comment_count": 2, + "resolved": true, "labels": [ - "feat-dashboard", - "feat-tags" + "self-hosting" ], "author": { - "login": "aakash-vwo", - "html_url": "https://github.com/aakash-vwo" + "login": "mritonia", + "html_url": "https://github.com/mritonia" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2949, - "title": "Auto-patching Langchain to include Langfuse callback handler", - "href": "https://github.com/orgs/langfuse/discussions/2949", - "created_at": "2024-08-15T12:17:32Z", - "upvotes": 3, - "comment_count": 1, - "resolved": false, + "number": 3858, + "title": "Monitoring self-hosted langfuse.", + "href": "https://github.com/orgs/langfuse/discussions/3858", + "created_at": "2024-10-22T07:04:26Z", + "upvotes": 1, + "comment_count": 2, + "resolved": true, "labels": [ - "integration-langchain" + "self-hosting" ], "author": { - "login": "kongzii", - "html_url": "https://github.com/kongzii" + "login": "SinghCoder", + "html_url": "https://github.com/SinghCoder" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2923, - "title": "Feature: Add CAS (and maybe SAML) as a authentication method", - "href": "https://github.com/orgs/langfuse/discussions/2923", - "created_at": "2024-08-13T17:18:42Z", - "upvotes": 2, - "comment_count": 1, - "resolved": false, + "number": 3854, + "title": "Open AI Python SDK - 'OpenAI' object has no attribute 'langfuse_auth_check'", + "href": "https://github.com/orgs/langfuse/discussions/3854", + "created_at": "2024-10-21T21:41:17Z", + "upvotes": 1, + "comment_count": 4, + "resolved": true, "labels": [ - "self-hosting" + "integration-openai" ], "author": { - "login": "jayteaftw", - "html_url": "https://github.com/jayteaftw" + "login": "hjensen", + "html_url": "https://github.com/hjensen" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2919, - "title": "Adding access to User's sessions directly", - "href": "https://github.com/orgs/langfuse/discussions/2919", - "created_at": "2024-08-13T12:42:16Z", - "upvotes": 1, - "comment_count": 0, - "resolved": false, + "number": 3845, + "title": "Traces: Link a trace to multiple sessions", + "href": "https://github.com/orgs/langfuse/discussions/3845", + "created_at": "2024-10-21T11:31:54Z", + "upvotes": 1, + "comment_count": 2, + "resolved": true, "labels": [ - "feat-users", "feat-sessions" ], "author": { - "login": "Youneesz", - "html_url": "https://github.com/Youneesz" + "login": "nikitagupta5566", + "html_url": "https://github.com/nikitagupta5566" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2883, - "title": "Compare two dataset runs side by side", - "href": "https://github.com/orgs/langfuse/discussions/2883", - "created_at": "2024-08-09T10:40:05Z", - "upvotes": 5, - "comment_count": 1, - "resolved": false, + "number": 3838, + "title": "How do I user wise \"Total Token\" counts via API or via python, As I want to track which user is consuming how much tokens", + "href": "https://github.com/orgs/langfuse/discussions/3838", + "created_at": "2024-10-21T06:51:06Z", + "upvotes": 2, + "comment_count": 3, + "resolved": true, "labels": [ - "feat-datasets" + "feat-cost-tracking" ], "author": { - "login": "dmaslov", - "html_url": "https://github.com/dmaslov" + "login": "hrone-dev-satyammishra", + "html_url": "https://github.com/hrone-dev-satyammishra" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2881, - "title": "feat (ui): Collapse sidebar by default", - "href": "https://github.com/orgs/langfuse/discussions/2881", - "created_at": "2024-08-09T10:03:39Z", + "number": 3835, + "title": "To use Gemini on playground", + "href": "https://github.com/orgs/langfuse/discussions/3835", + "created_at": "2024-10-20T12:20:22Z", "upvotes": 1, - "comment_count": 5, + "comment_count": 3, "resolved": false, - "labels": [ - "ui" - ], + "labels": [], "author": { - "login": "marctorsoc", - "html_url": "https://github.com/marctorsoc" + "login": "yu-tarrrr", + "html_url": "https://github.com/yu-tarrrr" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2877, - "title": "Make langfuse deployable to AWS Lambda", - "href": "https://github.com/orgs/langfuse/discussions/2877", - "created_at": "2024-08-09T08:24:14Z", - "upvotes": 3, + "number": 3824, + "title": "Traces and events not going through to Langfuse server even though they're generating", + "href": "https://github.com/orgs/langfuse/discussions/3824", + "created_at": "2024-10-18T13:49:53Z", + "upvotes": 1, "comment_count": 2, "resolved": false, - "labels": [], + "labels": [ + "integration-python-decorator" + ], "author": { - "login": "MeddahAbdellah", - "html_url": "https://github.com/MeddahAbdellah" + "login": "FaresKi", + "html_url": "https://github.com/FaresKi" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2870, - "title": "custom base path deployments", - "href": "https://github.com/orgs/langfuse/discussions/2870", - "created_at": "2024-08-08T13:15:51Z", + "number": 3800, + "title": "Insert API Keys in database", + "href": "https://github.com/orgs/langfuse/discussions/3800", + "created_at": "2024-10-17T12:40:17Z", "upvotes": 1, - "comment_count": 1, + "comment_count": 3, "resolved": false, "labels": [], "author": { - "login": "marioweid", - "html_url": "https://github.com/marioweid" + "login": "kryvokhyzha", + "html_url": "https://github.com/kryvokhyzha" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2864, - "title": "Add Bedrock Guardrails to the LLM Security documentation", - "href": "https://github.com/orgs/langfuse/discussions/2864", - "created_at": "2024-08-07T23:56:05Z", - "upvotes": 2, - "comment_count": 0, - "resolved": false, + "number": 3799, + "title": "Weird behaviour of metric values and their reasoning", + "href": "https://github.com/orgs/langfuse/discussions/3799", + "created_at": "2024-10-17T12:17:48Z", + "upvotes": 1, + "comment_count": 2, + "resolved": true, "labels": [ - "feat-llm-security", - "integration-amazon-bedrock" + "feat-evals" ], "author": { - "login": "wirjo", - "html_url": "https://github.com/wirjo" + "login": "filipmihal", + "html_url": "https://github.com/filipmihal" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2863, - "title": "Add AWS as a deployment option in the documentation", - "href": "https://github.com/orgs/langfuse/discussions/2863", - "created_at": "2024-08-07T23:53:40Z", - "upvotes": 3, - "comment_count": 1, - "resolved": false, + "number": 3797, + "title": "Filter Categorical Score Values", + "href": "https://github.com/orgs/langfuse/discussions/3797", + "created_at": "2024-10-17T10:15:58Z", + "upvotes": 1, + "comment_count": 3, + "resolved": true, "labels": [ - "✅ Done", - "self-hosting" + "feat-scores" ], "author": { - "login": "wirjo", - "html_url": "https://github.com/wirjo" + "login": "alabrashJr", + "html_url": "https://github.com/alabrashJr" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2850, - "title": "Feat (ui): Move columns", - "href": "https://github.com/orgs/langfuse/discussions/2850", - "created_at": "2024-08-07T11:55:55Z", + "number": 3796, + "title": "Manually setting up Langchain Callback handler with explicit values doesn't configure langfuse client in decorator approach", + "href": "https://github.com/orgs/langfuse/discussions/3796", + "created_at": "2024-10-17T08:36:51Z", "upvotes": 1, - "comment_count": 0, - "resolved": false, - "labels": [], + "comment_count": 2, + "resolved": true, + "labels": [ + "integration-langchain" + ], "author": { - "login": "marctorsoc", - "html_url": "https://github.com/marctorsoc" + "login": "FaresKi", + "html_url": "https://github.com/FaresKi" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2848, - "title": "Feat: Allow not sorting tags", - "href": "https://github.com/orgs/langfuse/discussions/2848", - "created_at": "2024-08-07T11:50:44Z", - "upvotes": 1, - "comment_count": 1, - "resolved": false, + "number": 3780, + "title": "How to use prompt management with litellm's integration with langfuse?", + "href": "https://github.com/orgs/langfuse/discussions/3780", + "created_at": "2024-10-16T16:48:40Z", + "upvotes": 2, + "comment_count": 8, + "resolved": true, "labels": [ - "feat-tags" + "feat-prompt-management", + "integration-litellm" ], "author": { - "login": "marctorsoc", - "html_url": "https://github.com/marctorsoc" + "login": "GildeshAbhay", + "html_url": "https://github.com/GildeshAbhay" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2823, - "title": "Need support for ChatOCIGenAI", - "href": "https://github.com/orgs/langfuse/discussions/2823", - "created_at": "2024-08-05T13:34:30Z", - "upvotes": 2, - "comment_count": 0, + "number": 3779, + "title": "Annotation Queues and Session IDs and Datasets and LLM Security", + "href": "https://github.com/orgs/langfuse/discussions/3779", + "created_at": "2024-10-16T14:55:09Z", + "upvotes": 1, + "comment_count": 3, "resolved": false, "labels": [], "author": { - "login": "engchina", - "html_url": "https://github.com/engchina" + "login": "paolotamag", + "html_url": "https://github.com/paolotamag" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2821, - "title": "Need API endpoints to add projects and users", - "href": "https://github.com/orgs/langfuse/discussions/2821", - "created_at": "2024-08-05T13:10:49Z", - "upvotes": 2, - "comment_count": 1, - "resolved": false, + "number": 3778, + "title": "Observe decorator not working with custom langchain model & custom langfuse callback handler", + "href": "https://github.com/orgs/langfuse/discussions/3778", + "created_at": "2024-10-16T12:36:02Z", + "upvotes": 1, + "comment_count": 2, + "resolved": true, "labels": [], "author": { - "login": "kameshbrao", - "html_url": "https://github.com/kameshbrao" + "login": "FaresKi", + "html_url": "https://github.com/FaresKi" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2812, - "title": "Could you make the Prompt label 36 char long?", - "href": "https://github.com/orgs/langfuse/discussions/2812", - "created_at": "2024-08-02T11:03:08Z", - "upvotes": 1, - "comment_count": 1, + "number": 3777, + "title": "Error when trying to upgrade my langfuse deployment", + "href": "https://github.com/orgs/langfuse/discussions/3777", + "created_at": "2024-10-16T09:25:53Z", + "upvotes": 2, + "comment_count": 2, "resolved": false, "labels": [ - "feat-prompt-management", - "✅ Done" + "self-hosting" ], "author": { - "login": "DevSageH", - "html_url": "https://github.com/DevSageH" + "login": "nithin1995", + "html_url": "https://github.com/nithin1995" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2810, - "title": "Enable setting a label to an existing prompt version via the api/sdk.", - "href": "https://github.com/orgs/langfuse/discussions/2810", - "created_at": "2024-08-01T16:53:06Z", - "upvotes": 10, - "comment_count": 4, - "resolved": false, - "labels": [ - "feat-prompt-management" - ], - "author": { - "login": "ClementNguyen", - "html_url": "https://github.com/ClementNguyen" + "number": 3766, + "title": "Latency and total cost for runs are not computed", + "href": "https://github.com/orgs/langfuse/discussions/3766", + "created_at": "2024-10-15T21:38:15Z", + "upvotes": 1, + "comment_count": 3, + "resolved": true, + "labels": [], + "author": { + "login": "ldbolanos", + "html_url": "https://github.com/ldbolanos" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2797, - "title": "Enable list_prompts/search_prompts using client", - "href": "https://github.com/orgs/langfuse/discussions/2797", - "created_at": "2024-07-31T13:45:38Z", - "upvotes": 4, - "comment_count": 2, - "resolved": false, + "number": 3764, + "title": "Best practices for tracing an app with history and tool usage", + "href": "https://github.com/orgs/langfuse/discussions/3764", + "created_at": "2024-10-15T21:27:34Z", + "upvotes": 2, + "comment_count": 3, + "resolved": true, "labels": [ - "feat-prompt-management" + "integration-openai" ], "author": { - "login": "krlng", - "html_url": "https://github.com/krlng" + "login": "machulav", + "html_url": "https://github.com/machulav" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2781, - "title": "Add support for custom serialization of observation fields", - "href": "https://github.com/orgs/langfuse/discussions/2781", - "created_at": "2024-07-29T18:49:03Z", + "number": 3756, + "title": "How to create an eval config for prompts using python api?", + "href": "https://github.com/orgs/langfuse/discussions/3756", + "created_at": "2024-10-15T09:20:06Z", "upvotes": 1, "comment_count": 2, - "resolved": false, + "resolved": true, "labels": [ - "sdk-python" + "feat-evals" ], "author": { - "login": "ashamlian-roadway", - "html_url": "https://github.com/ashamlian-roadway" + "login": "GildeshAbhay", + "html_url": "https://github.com/GildeshAbhay" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2770, - "title": "Add clickable link to the 'release' kwargs in a Trace - this will route to the documentations/change log of that release/version", - "href": "https://github.com/orgs/langfuse/discussions/2770", - "created_at": "2024-07-28T07:08:07Z", + "number": 3737, + "title": "Monitoring for multi agent systems (OpenWebUI)", + "href": "https://github.com/orgs/langfuse/discussions/3737", + "created_at": "2024-10-14T16:50:17Z", "upvotes": 1, - "comment_count": 0, - "resolved": false, - "labels": [], - "author": { - "login": "stepanogil", - "html_url": "https://github.com/stepanogil" - }, - "category": "Ideas" - }, - { - "number": 2766, - "title": "Support Exporting LangSmith Run Traces into Langfuse!", - "href": "https://github.com/orgs/langfuse/discussions/2766", - "created_at": "2024-07-27T02:34:44Z", - "upvotes": 3, - "comment_count": 1, - "resolved": false, - "labels": [], + "comment_count": 3, + "resolved": true, + "labels": [ + "integration-openwebui" + ], "author": { - "login": "p-barman", - "html_url": "https://github.com/p-barman" + "login": "OM-EL", + "html_url": "https://github.com/OM-EL" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2747, - "title": "A new configuration env variable for custom URL prefix", - "href": "https://github.com/orgs/langfuse/discussions/2747", - "created_at": "2024-07-25T17:00:57Z", + "number": 3735, + "title": "Is it possible to use tools calling and structured output in the Prompts UI and Playground?", + "href": "https://github.com/orgs/langfuse/discussions/3735", + "created_at": "2024-10-14T16:43:23Z", "upvotes": 1, - "comment_count": 1, - "resolved": false, - "labels": [], + "comment_count": 2, + "resolved": true, + "labels": [ + "feat-prompt-management", + "feat-playground" + ], "author": { - "login": "abdullah-retorio", - "html_url": "https://github.com/abdullah-retorio" + "login": "mifopen", + "html_url": "https://github.com/mifopen" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2746, - "title": "Returning prompts from expired cache may be disabled using a boolean argument", - "href": "https://github.com/orgs/langfuse/discussions/2746", - "created_at": "2024-07-25T15:57:26Z", + "number": 3718, + "title": "How to delete a Session?", + "href": "https://github.com/orgs/langfuse/discussions/3718", + "created_at": "2024-10-11T14:51:46Z", "upvotes": 1, - "comment_count": 1, - "resolved": false, + "comment_count": 2, + "resolved": true, "labels": [ - "feat-prompt-management" + "feat-sessions" ], "author": { - "login": "ogunoz", - "html_url": "https://github.com/ogunoz" + "login": "augustoolucas", + "html_url": "https://github.com/augustoolucas" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2745, - "title": "Lazy fallback for get_prompt", - "href": "https://github.com/orgs/langfuse/discussions/2745", - "created_at": "2024-07-25T15:50:32Z", + "number": 3717, + "title": "Llamaindex Workflow does't work with Instrumentation Module", + "href": "https://github.com/orgs/langfuse/discussions/3717", + "created_at": "2024-10-11T10:27:09Z", "upvotes": 1, - "comment_count": 1, - "resolved": false, + "comment_count": 3, + "resolved": true, "labels": [ - "feat-prompt-management" + "integraton-llamaindex" ], "author": { - "login": "ogunoz", - "html_url": "https://github.com/ogunoz" + "login": "ntdanhtma", + "html_url": "https://github.com/ntdanhtma" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2738, - "title": "Set variables in playground from dataset", - "href": "https://github.com/orgs/langfuse/discussions/2738", - "created_at": "2024-07-25T09:27:30Z", - "upvotes": 4, - "comment_count": 2, - "resolved": false, + "number": 3698, + "title": "Can I use Amazon Bedrock for Langfuse Evals?", + "href": "https://github.com/orgs/langfuse/discussions/3698", + "created_at": "2024-10-10T15:34:48Z", + "upvotes": 1, + "comment_count": 5, + "resolved": true, "labels": [ - "feat-datasets", - "feat-playground" + "feat-evals", + "integration-amazon-bedrock" ], "author": { - "login": "hbenyamina", - "html_url": "https://github.com/hbenyamina" + "login": "j10sanders", + "html_url": "https://github.com/j10sanders" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2729, - "title": "Comment thread on Traces", - "href": "https://github.com/orgs/langfuse/discussions/2729", - "created_at": "2024-07-24T13:52:51Z", + "number": 3679, + "title": "Langfuse / Langflow not intergrating", + "href": "https://github.com/orgs/langfuse/discussions/3679", + "created_at": "2024-10-09T17:06:32Z", "upvotes": 1, - "comment_count": 3, + "comment_count": 2, "resolved": false, "labels": [ - "✅ Done", - "feat-comments" + "integration-langflow" ], "author": { - "login": "guptakvgaurav", - "html_url": "https://github.com/guptakvgaurav" + "login": "colecal", + "html_url": "https://github.com/colecal" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2728, - "title": "Session-level scores", - "href": "https://github.com/orgs/langfuse/discussions/2728", - "created_at": "2024-07-24T10:05:40Z", - "upvotes": 3, - "comment_count": 3, + "number": 3678, + "title": "Langfuse not tracing code from my VM (server)", + "href": "https://github.com/orgs/langfuse/discussions/3678", + "created_at": "2024-10-09T14:56:05Z", + "upvotes": 1, + "comment_count": 1, "resolved": false, "labels": [ - "feat-scores", - "feat-sessions" + "self-hosting" ], "author": { - "login": "felixsg", - "html_url": "https://github.com/felixsg" + "login": "akbar-mta", + "html_url": "https://github.com/akbar-mta" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2721, - "title": "Add note on each prompt version", - "href": "https://github.com/orgs/langfuse/discussions/2721", - "created_at": "2024-07-23T14:48:02Z", - "upvotes": 2, - "comment_count": 1, - "resolved": false, + "number": 3674, + "title": "Docs for K8s deployments", + "href": "https://github.com/orgs/langfuse/discussions/3674", + "created_at": "2024-10-09T09:52:05Z", + "upvotes": 1, + "comment_count": 2, + "resolved": true, "labels": [ - "feat-prompt-management" + "self-hosting" ], "author": { - "login": "cubxxw", - "html_url": "https://github.com/cubxxw" + "login": "Brant-lzh", + "html_url": "https://github.com/Brant-lzh" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2720, - "title": "Feature request [UI]: Remember column selection PER project in Traces view", - "href": "https://github.com/orgs/langfuse/discussions/2720", - "created_at": "2024-07-23T13:53:38Z", + "number": 3645, + "title": "Cannot Sign In or Sign Up to Local Langfuse Instance", + "href": "https://github.com/orgs/langfuse/discussions/3645", + "created_at": "2024-10-08T11:09:48Z", "upvotes": 1, "comment_count": 2, - "resolved": false, + "resolved": true, "labels": [], "author": { - "login": "justingodden", - "html_url": "https://github.com/justingodden" + "login": "Patryk-Chlanda", + "html_url": "https://github.com/Patryk-Chlanda" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2710, - "title": "Support JSON messages in prompt management", - "href": "https://github.com/orgs/langfuse/discussions/2710", - "created_at": "2024-07-23T01:59:12Z", + "number": 3641, + "title": "Sign in and Sign up button is greyed out", + "href": "https://github.com/orgs/langfuse/discussions/3641", + "created_at": "2024-10-08T09:32:16Z", "upvotes": 1, - "comment_count": 0, - "resolved": false, + "comment_count": 2, + "resolved": true, "labels": [], "author": { - "login": "jasonslyvia", - "html_url": "https://github.com/jasonslyvia" + "login": "akbar-mta", + "html_url": "https://github.com/akbar-mta" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2704, - "title": "Deleting user's traces via API to be GDPR compliant", - "href": "https://github.com/orgs/langfuse/discussions/2704", - "created_at": "2024-07-22T12:03:22Z", - "upvotes": 8, + "number": 3637, + "title": "Sign In Button Remains Disabled When Logging in with Email/Password on Langfuse Self-Hosted", + "href": "https://github.com/orgs/langfuse/discussions/3637", + "created_at": "2024-10-08T06:40:05Z", + "upvotes": 2, "comment_count": 2, - "resolved": false, + "resolved": true, "labels": [], "author": { - "login": "Stormyy", - "html_url": "https://github.com/Stormyy" + "login": "tubone24", + "html_url": "https://github.com/tubone24" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2699, - "title": "Schemad or structured configuration for prompt", - "href": "https://github.com/orgs/langfuse/discussions/2699", - "created_at": "2024-07-22T02:29:13Z", + "number": 3615, + "title": "Failing with internal server error when trying to add score to a trace", + "href": "https://github.com/orgs/langfuse/discussions/3615", + "created_at": "2024-10-07T06:15:14Z", "upvotes": 1, - "comment_count": 1, - "resolved": false, - "labels": [ - "feat-prompt-management" - ], + "comment_count": 2, + "resolved": true, + "labels": [], "author": { - "login": "jasonslyvia", - "html_url": "https://github.com/jasonslyvia" + "login": "nithin1995", + "html_url": "https://github.com/nithin1995" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2697, - "title": "A transparent mode", - "href": "https://github.com/orgs/langfuse/discussions/2697", - "created_at": "2024-07-21T20:55:43Z", + "number": 3592, + "title": "Set trace_id in Langchain CallbackHandler", + "href": "https://github.com/orgs/langfuse/discussions/3592", + "created_at": "2024-10-05T11:09:30Z", "upvotes": 1, "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [], "author": { - "login": "emsi", - "html_url": "https://github.com/emsi" + "login": "michaelpoluektov", + "html_url": "https://github.com/michaelpoluektov" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2684, - "title": "Langfuse batch prompts api should return prompt configs as well", - "href": "https://github.com/orgs/langfuse/discussions/2684", - "created_at": "2024-07-19T10:05:45Z", - "upvotes": 2, - "comment_count": 3, - "resolved": false, + "number": 3574, + "title": "Automated provisioning of default resources in self hosting", + "href": "https://github.com/orgs/langfuse/discussions/3574", + "created_at": "2024-10-04T06:44:45Z", + "upvotes": 1, + "comment_count": 2, + "resolved": true, "labels": [ - "feat-prompt-management", - "✅ Done" + "self-hosting" ], "author": { - "login": "ashutoshsaboo", - "html_url": "https://github.com/ashutoshsaboo" + "login": "Harinisri29", + "html_url": "https://github.com/Harinisri29" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2669, - "title": "Visualisation of graph execution", - "href": "https://github.com/orgs/langfuse/discussions/2669", - "created_at": "2024-07-18T08:44:03Z", + "number": 3569, + "title": "UnauthorizedError: No authorization header After Switching to Headless Initialization", + "href": "https://github.com/orgs/langfuse/discussions/3569", + "created_at": "2024-10-03T08:52:35Z", "upvotes": 2, - "comment_count": 1, + "comment_count": 2, "resolved": false, "labels": [], "author": { - "login": "VMinB12", - "html_url": "https://github.com/VMinB12" + "login": "chandel-aman", + "html_url": "https://github.com/chandel-aman" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2668, - "title": "I want to say something about user feedback", - "href": "https://github.com/orgs/langfuse/discussions/2668", - "created_at": "2024-07-18T07:57:50Z", + "number": 3559, + "title": "Token Cost using OpenRouter", + "href": "https://github.com/orgs/langfuse/discussions/3559", + "created_at": "2024-10-02T05:25:14Z", "upvotes": 1, "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [], "author": { - "login": "cubxxw", - "html_url": "https://github.com/cubxxw" + "login": "austinm911", + "html_url": "https://github.com/austinm911" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2664, - "title": "Prompts are supported for export", - "href": "https://github.com/orgs/langfuse/discussions/2664", - "created_at": "2024-07-18T00:43:12Z", + "number": 3557, + "title": "Link 2 traces", + "href": "https://github.com/orgs/langfuse/discussions/3557", + "created_at": "2024-10-02T02:14:27Z", "upvotes": 1, "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [], "author": { - "login": "cubxxw", - "html_url": "https://github.com/cubxxw" + "login": "saiprasath21", + "html_url": "https://github.com/saiprasath21" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2653, - "title": "Web page request is a little slow, whether to consider using golang to reconstruct", - "href": "https://github.com/orgs/langfuse/discussions/2653", - "created_at": "2024-07-17T07:08:45Z", + "number": 3556, + "title": "Update a trace", + "href": "https://github.com/orgs/langfuse/discussions/3556", + "created_at": "2024-10-02T02:10:15Z", "upvotes": 1, "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [], "author": { - "login": "cubxxw", - "html_url": "https://github.com/cubxxw" + "login": "saiprasath21", + "html_url": "https://github.com/saiprasath21" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2642, - "title": "Add ability to add name or label to a Langfuse API key", - "href": "https://github.com/orgs/langfuse/discussions/2642", - "created_at": "2024-07-16T17:08:42Z", - "upvotes": 5, + "number": 3553, + "title": "How to track DSPy call within Langgraph", + "href": "https://github.com/orgs/langfuse/discussions/3553", + "created_at": "2024-10-01T20:00:11Z", + "upvotes": 1, "comment_count": 1, "resolved": false, - "labels": [], + "labels": [ + "integration-langchain", + "integration-dspy" + ], "author": { - "login": "agibralter", - "html_url": "https://github.com/agibralter" + "login": "marcklingen", + "html_url": "https://github.com/marcklingen" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2625, - "title": "Track Openai Assistant API costs", - "href": "https://github.com/orgs/langfuse/discussions/2625", - "created_at": "2024-07-15T07:50:18Z", - "upvotes": 4, - "comment_count": 0, - "resolved": false, + "number": 3552, + "title": "LlamaIndex traces grouping", + "href": "https://github.com/orgs/langfuse/discussions/3552", + "created_at": "2024-10-01T18:35:11Z", + "upvotes": 1, + "comment_count": 2, + "resolved": true, "labels": [ - "integration-openai" + "integraton-llamaindex" ], "author": { - "login": "christos-bsq", - "html_url": "https://github.com/christos-bsq" + "login": "ivanviragine", + "html_url": "https://github.com/ivanviragine" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2624, - "title": "Add tool / function calling and tool messages to Prompt Management", - "href": "https://github.com/orgs/langfuse/discussions/2624", - "created_at": "2024-07-15T06:49:50Z", - "upvotes": 3, - "comment_count": 0, - "resolved": false, + "number": 3549, + "title": "create api keys pair using some method or api", + "href": "https://github.com/orgs/langfuse/discussions/3549", + "created_at": "2024-10-01T11:45:12Z", + "upvotes": 1, + "comment_count": 2, + "resolved": true, "labels": [ - "feat-prompt-management" + "self-hosting" ], "author": { - "login": "eloko7", - "html_url": "https://github.com/eloko7" + "login": "ryanrib14", + "html_url": "https://github.com/ryanrib14" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2622, - "title": "Inbuild langfuse tracing.", - "href": "https://github.com/orgs/langfuse/discussions/2622", - "created_at": "2024-07-13T10:39:13Z", + "number": 3545, + "title": "How to Set Custom Trace ID with a Decorator and Include langfuse_observation_id?", + "href": "https://github.com/orgs/langfuse/discussions/3545", + "created_at": "2024-10-01T02:04:03Z", "upvotes": 1, - "comment_count": 0, - "resolved": false, - "labels": [], + "comment_count": 2, + "resolved": true, + "labels": [ + "integration-python-decorator" + ], "author": { - "login": "rashid-globallogic", - "html_url": "https://github.com/rashid-globallogic" + "login": "octadion", + "html_url": "https://github.com/octadion" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2605, - "title": "DSPy tracing", - "href": "https://github.com/orgs/langfuse/discussions/2605", - "created_at": "2024-07-10T12:52:35Z", - "upvotes": 2, - "comment_count": 1, - "resolved": false, - "labels": [ - "integrations", - "✅ Done", - "integration-dspy" + "number": 3540, + "title": "error ❌ tRPC failed on public.checkUpdate: Failed to fetch or json parse the latest releases Failed to fetch or json parse the latest releases", + "href": "https://github.com/orgs/langfuse/discussions/3540", + "created_at": "2024-09-30T20:29:22Z", + "upvotes": 1, + "comment_count": 1, + "resolved": true, + "labels": [ + "self-hosting" ], "author": { - "login": "paolotamag", - "html_url": "https://github.com/paolotamag" + "login": "FaresKi", + "html_url": "https://github.com/FaresKi" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2586, - "title": "Feat: Ability to change curreny for model usage costs.", - "href": "https://github.com/orgs/langfuse/discussions/2586", - "created_at": "2024-07-09T15:40:22Z", - "upvotes": 2, - "comment_count": 1, - "resolved": false, + "number": 3531, + "title": "is it possible to assign a label to an existing prompt via API/SDK ?", + "href": "https://github.com/orgs/langfuse/discussions/3531", + "created_at": "2024-09-30T07:49:28Z", + "upvotes": 1, + "comment_count": 2, + "resolved": true, "labels": [ - "feat-cost-tracking" + "feat-prompt-management" ], "author": { - "login": "jannikstdl", - "html_url": "https://github.com/jannikstdl" + "login": "simicvm", + "html_url": "https://github.com/simicvm" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2578, - "title": "Conditional Trace Content/Message submission", - "href": "https://github.com/orgs/langfuse/discussions/2578", - "created_at": "2024-07-09T09:57:26Z", - "upvotes": 3, - "comment_count": 1, + "number": 3525, + "title": "Applying database migrations failed. This is mostly caused by the database being unavailable", + "href": "https://github.com/orgs/langfuse/discussions/3525", + "created_at": "2024-09-29T11:14:04Z", + "upvotes": 1, + "comment_count": 3, "resolved": false, - "labels": [], + "labels": [ + "self-hosting" + ], "author": { - "login": "simonwh", - "html_url": "https://github.com/simonwh" + "login": "NanthagopalEswaran", + "html_url": "https://github.com/NanthagopalEswaran" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2577, - "title": "Detailed and Interactive Plot Visualization like WandB", - "href": "https://github.com/orgs/langfuse/discussions/2577", - "created_at": "2024-07-09T09:19:38Z", + "number": 3521, + "title": "is it open source or not?", + "href": "https://github.com/orgs/langfuse/discussions/3521", + "created_at": "2024-09-27T22:07:52Z", "upvotes": 1, - "comment_count": 3, - "resolved": false, + "comment_count": 1, + "resolved": true, "labels": [], "author": { - "login": "yusuke-intern", - "html_url": "https://github.com/yusuke-intern" + "login": "severfire", + "html_url": "https://github.com/severfire" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2576, - "title": "Log prob on Langfuse", - "href": "https://github.com/orgs/langfuse/discussions/2576", - "created_at": "2024-07-09T09:16:23Z", + "number": 3520, + "title": "Langfuse not logging costs on Vertex AI gemini-1.5-flash-002.", + "href": "https://github.com/orgs/langfuse/discussions/3520", + "created_at": "2024-09-27T18:51:08Z", "upvotes": 1, "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [ - "integration-openai" + "integraton-llamaindex" ], "author": { - "login": "yusuke-intern", - "html_url": "https://github.com/yusuke-intern" + "login": "arthurbrenno", + "html_url": "https://github.com/arthurbrenno" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2573, - "title": "Prompt Cataloguing and prompt github", - "href": "https://github.com/orgs/langfuse/discussions/2573", - "created_at": "2024-07-08T20:05:23Z", - "upvotes": 1, - "comment_count": 1, - "resolved": false, + "number": 3503, + "title": "Not possible to delete prompts programmatically, (langfuse python library or api)", + "href": "https://github.com/orgs/langfuse/discussions/3503", + "created_at": "2024-09-27T12:33:52Z", + "upvotes": 2, + "comment_count": 2, + "resolved": true, "labels": [ "feat-prompt-management" ], "author": { - "login": "kunal2002", - "html_url": "https://github.com/kunal2002" + "login": "RealGammaNL", + "html_url": "https://github.com/RealGammaNL" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2571, - "title": "If Data/Metadata given to Langfuse SDK that exceeds Langfuse's limit, log/throw/emit Stack Trace", - "href": "https://github.com/orgs/langfuse/discussions/2571", - "created_at": "2024-07-08T15:17:52Z", + "number": 3496, + "title": "Unable to fetch prompts without production label", + "href": "https://github.com/orgs/langfuse/discussions/3496", + "created_at": "2024-09-27T03:27:52Z", "upvotes": 1, "comment_count": 1, - "resolved": false, - "labels": [], + "resolved": true, + "labels": [ + "feat-prompt-management" + ], "author": { - "login": "josiahbryan", - "html_url": "https://github.com/josiahbryan" + "login": "chandel-aman", + "html_url": "https://github.com/chandel-aman" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2539, - "title": "Include request's `tools` configuration in OpenAI LLM calls", - "href": "https://github.com/orgs/langfuse/discussions/2539", - "created_at": "2024-07-04T11:39:43Z", - "upvotes": 2, - "comment_count": 1, + "number": 3489, + "title": "Missing input/output on trace when using openai js integration", + "href": "https://github.com/orgs/langfuse/discussions/3489", + "created_at": "2024-09-26T15:36:06Z", + "upvotes": 1, + "comment_count": 2, "resolved": false, "labels": [ "integration-openai" ], "author": { - "login": "ricwo", - "html_url": "https://github.com/ricwo" - }, - "category": "Ideas" - }, - { - "number": 2534, - "title": "Simple graphs and metrics for scores and evaluations", - "href": "https://github.com/orgs/langfuse/discussions/2534", - "created_at": "2024-07-03T17:14:42Z", - "upvotes": 2, - "comment_count": 1, - "resolved": false, - "labels": [], - "author": { - "login": "justinwiley", - "html_url": "https://github.com/justinwiley" + "login": "dimitrydesilias", + "html_url": "https://github.com/dimitrydesilias" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2529, - "title": "feat: Track Exceptions while using Decorators", - "href": "https://github.com/orgs/langfuse/discussions/2529", - "created_at": "2024-07-03T11:40:19Z", + "number": 3486, + "title": "Bind all multiple hierarchical call against session-id instead of opening multiple threads", + "href": "https://github.com/orgs/langfuse/discussions/3486", + "created_at": "2024-09-26T06:31:20Z", "upvotes": 1, - "comment_count": 1, - "resolved": false, + "comment_count": 3, + "resolved": true, "labels": [ "integration-python-decorator" ], "author": { - "login": "Manonandan", - "html_url": "https://github.com/Manonandan" + "login": "ajeet6261", + "html_url": "https://github.com/ajeet6261" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2523, - "title": "Feature Request: Sidebar Display for Trace Details in Dataset Runs", - "href": "https://github.com/orgs/langfuse/discussions/2523", - "created_at": "2024-07-02T15:00:47Z", + "number": 3485, + "title": "How to avoid memory leaks due to LangchainCallbackHandler while using userId and sessionId", + "href": "https://github.com/orgs/langfuse/discussions/3485", + "created_at": "2024-09-26T00:07:14Z", "upvotes": 1, - "comment_count": 3, - "resolved": false, + "comment_count": 6, + "resolved": true, "labels": [ - "feat-datasets" + "integration-langchain", + "feat-users", + "feat-sessions" ], "author": { - "login": "tuan3w", - "html_url": "https://github.com/tuan3w" + "login": "Chengdyc", + "html_url": "https://github.com/Chengdyc" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2511, - "title": "Scoring dataset runs, e.g. precision, recall, f-value", - "href": "https://github.com/orgs/langfuse/discussions/2511", - "created_at": "2024-07-02T08:10:21Z", - "upvotes": 8, - "comment_count": 1, - "resolved": false, + "number": 3480, + "title": "How to provide a TLS Cert for PGSQL cloud connection in Langfuse docker container?", + "href": "https://github.com/orgs/langfuse/discussions/3480", + "created_at": "2024-09-25T20:44:17Z", + "upvotes": 1, + "comment_count": 2, + "resolved": true, "labels": [ - "feat-datasets", - "feat-scores" + "self-hosting" ], "author": { - "login": "yusuke-intern", - "html_url": "https://github.com/yusuke-intern" + "login": "barvhaim", + "html_url": "https://github.com/barvhaim" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2510, - "title": "How can we see traces of MULTIMODAL llms over langfuse ?", - "href": "https://github.com/orgs/langfuse/discussions/2510", - "created_at": "2024-07-02T05:15:59Z", - "upvotes": 4, - "comment_count": 3, + "number": 3477, + "title": "LangFuse Low Level SDK does not render images by passing the link", + "href": "https://github.com/orgs/langfuse/discussions/3477", + "created_at": "2024-09-25T15:15:54Z", + "upvotes": 1, + "comment_count": 1, "resolved": false, "labels": [ - "✅ Done", "feat-multimodal" ], "author": { - "login": "Aaryaveerkrishna23", - "html_url": "https://github.com/Aaryaveerkrishna23" + "login": "VikramShenoy97", + "html_url": "https://github.com/VikramShenoy97" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2509, - "title": "Support OpenTelemetry-based instrumentation (traceloop openllmetry and others)", - "href": "https://github.com/orgs/langfuse/discussions/2509", - "created_at": "2024-07-02T02:29:14Z", - "upvotes": 8, - "comment_count": 7, - "resolved": false, - "labels": [ - "integrations" - ], - "author": { - "login": "gyliu513", - "html_url": "https://github.com/gyliu513" - }, - "category": "Ideas" - }, - { - "number": 2508, - "title": "Enable Langfuse can expose metrics in Prometheus format", - "href": "https://github.com/orgs/langfuse/discussions/2508", - "created_at": "2024-07-02T02:25:24Z", - "upvotes": 7, - "comment_count": 1, + "number": 3469, + "title": "raise exception when handle_span_events", + "href": "https://github.com/orgs/langfuse/discussions/3469", + "created_at": "2024-09-25T00:56:32Z", + "upvotes": 1, + "comment_count": 2, "resolved": false, "labels": [], "author": { - "login": "gyliu513", - "html_url": "https://github.com/gyliu513" + "login": "nightosong", + "html_url": "https://github.com/nightosong" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2501, - "title": "Use Langchain LCEL + Langserve + run time user_id/session_id", - "href": "https://github.com/orgs/langfuse/discussions/2501", - "created_at": "2024-07-01T15:51:47Z", - "upvotes": 4, + "number": 3466, + "title": "How to get costs associated with an API call / user?", + "href": "https://github.com/orgs/langfuse/discussions/3466", + "created_at": "2024-09-24T19:33:56Z", + "upvotes": 1, "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [ - "integration-langchain", "feat-users", - "feat-sessions" + "feat-cost-tracking" ], "author": { - "login": "ravediamond", - "html_url": "https://github.com/ravediamond" + "login": "punkpeye", + "html_url": "https://github.com/punkpeye" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2493, - "title": "Easy token price estimates for 400+ LLMs", - "href": "https://github.com/orgs/langfuse/discussions/2493", - "created_at": "2024-07-01T06:55:56Z", + "number": 3465, + "title": "How to run langfuse locally while using a hosted database", + "href": "https://github.com/orgs/langfuse/discussions/3465", + "created_at": "2024-09-24T14:24:29Z", "upvotes": 1, "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [ - "feat-cost-tracking" + "self-hosting" ], "author": { - "login": "derevyan", - "html_url": "https://github.com/derevyan" + "login": "wil0u", + "html_url": "https://github.com/wil0u" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2488, - "title": "Add contextmanager support to python decorator", - "href": "https://github.com/orgs/langfuse/discussions/2488", - "created_at": "2024-06-29T20:43:50Z", - "upvotes": 6, + "number": 3462, + "title": "how to set user_id or session_id in trace?", + "href": "https://github.com/orgs/langfuse/discussions/3462", + "created_at": "2024-09-24T08:34:59Z", + "upvotes": 1, "comment_count": 2, - "resolved": false, + "resolved": true, "labels": [ - "integration-python-decorator" + "integration-python-decorator", + "feat-users", + "feat-sessions" ], "author": { - "login": "yaniv-aknin", - "html_url": "https://github.com/yaniv-aknin" + "login": "yumc2573", + "html_url": "https://github.com/yumc2573" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2469, - "title": "Adding userId / author to score (custom metadata)", - "href": "https://github.com/orgs/langfuse/discussions/2469", - "created_at": "2024-06-27T19:02:17Z", - "upvotes": 4, - "comment_count": 3, - "resolved": false, + "number": 3460, + "title": "Langfuse observation for openai embeddings method", + "href": "https://github.com/orgs/langfuse/discussions/3460", + "created_at": "2024-09-24T06:01:06Z", + "upvotes": 2, + "comment_count": 2, + "resolved": true, "labels": [ - "feat-scores", - "feat-users" + "integration-openai", + "integration-python-decorator", + "feat-cost-tracking" ], "author": { - "login": "ivanviragine", - "html_url": "https://github.com/ivanviragine" + "login": "simrangulati-jktech", + "html_url": "https://github.com/simrangulati-jktech" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2456, - "title": "Export to CSV feature in the Traces", - "href": "https://github.com/orgs/langfuse/discussions/2456", - "created_at": "2024-06-27T11:02:47Z", + "number": 3446, + "title": "Right way to migrate langfuse deployed on K8s within an AWS account", + "href": "https://github.com/orgs/langfuse/discussions/3446", + "created_at": "2024-09-23T06:32:02Z", "upvotes": 1, "comment_count": 1, - "resolved": false, - "labels": [], + "resolved": true, + "labels": [ + "self-hosting" + ], "author": { - "login": "Aniket3007", - "html_url": "https://github.com/Aniket3007" + "login": "nithin1995", + "html_url": "https://github.com/nithin1995" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2454, - "title": "Expand all json-views of Dataset items etc.", - "href": "https://github.com/orgs/langfuse/discussions/2454", - "created_at": "2024-06-27T08:18:23Z", + "number": 3435, + "title": "Langfuse is inconsistently generating span latencies table in traces greater than 36K entiries", + "href": "https://github.com/orgs/langfuse/discussions/3435", + "created_at": "2024-09-20T18:54:28Z", "upvotes": 1, - "comment_count": 1, - "resolved": false, - "labels": [ - "✅ Done", - "feat-datasets" - ], + "comment_count": 3, + "resolved": true, + "labels": [], "author": { - "login": "tkreuder", - "html_url": "https://github.com/tkreuder" + "login": "databloom", + "html_url": "https://github.com/databloom" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2438, - "title": "Bedrock provider when using llamaindex", - "href": "https://github.com/orgs/langfuse/discussions/2438", - "created_at": "2024-06-26T11:00:54Z", + "number": 3429, + "title": "Async version of Langfuse.get_prompt", + "href": "https://github.com/orgs/langfuse/discussions/3429", + "created_at": "2024-09-20T14:26:51Z", "upvotes": 1, "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [ - "integraton-llamaindex", - "integration-amazon-bedrock" + "feat-prompt-management" ], "author": { - "login": "mdciri", - "html_url": "https://github.com/mdciri" + "login": "antoniomdk", + "html_url": "https://github.com/antoniomdk" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2437, - "title": "Project members management via public API", - "href": "https://github.com/orgs/langfuse/discussions/2437", - "created_at": "2024-06-26T10:03:50Z", - "upvotes": 3, - "comment_count": 1, + "number": 3420, + "title": "Help setting up GCP host (cloudbuild or console)", + "href": "https://github.com/orgs/langfuse/discussions/3420", + "created_at": "2024-09-20T04:34:35Z", + "upvotes": 1, + "comment_count": 3, "resolved": false, "labels": [ - "feat-rbac" + "self-hosting" ], "author": { - "login": "tmarenko", - "html_url": "https://github.com/tmarenko" + "login": "elliottower", + "html_url": "https://github.com/elliottower" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2402, - "title": "Add string data type in score config", - "href": "https://github.com/orgs/langfuse/discussions/2402", - "created_at": "2024-06-24T11:12:54Z", + "number": 3410, + "title": "Configuring Evaluation with \"Correctness\" Template & Python Code Invocation", + "href": "https://github.com/orgs/langfuse/discussions/3410", + "created_at": "2024-09-19T09:44:42Z", "upvotes": 1, - "comment_count": 1, - "resolved": false, + "comment_count": 3, + "resolved": true, "labels": [ "feat-scores" ], "author": { - "login": "emfhal", - "html_url": "https://github.com/emfhal" + "login": "zoulou00", + "html_url": "https://github.com/zoulou00" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2400, - "title": "Support for Custom Base URL Prefix in Langfuse (nextjs basepath)", - "href": "https://github.com/orgs/langfuse/discussions/2400", - "created_at": "2024-06-24T09:57:57Z", - "upvotes": 21, - "comment_count": 9, - "resolved": false, + "number": 3406, + "title": "Module not found: Can't resolve '@langfuse'", + "href": "https://github.com/orgs/langfuse/discussions/3406", + "created_at": "2024-09-19T05:57:04Z", + "upvotes": 1, + "comment_count": 1, + "resolved": true, "labels": [ - "✅ Done", "self-hosting" ], "author": { - "login": "databill86", - "html_url": "https://github.com/databill86" + "login": "christosuster", + "html_url": "https://github.com/christosuster" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2397, - "title": "Add ARM64 docker image", - "href": "https://github.com/orgs/langfuse/discussions/2397", - "created_at": "2024-06-21T13:35:24Z", + "number": 3397, + "title": "tokens and usage cost", + "href": "https://github.com/orgs/langfuse/discussions/3397", + "created_at": "2024-09-18T13:05:07Z", "upvotes": 1, "comment_count": 2, - "resolved": false, + "resolved": true, "labels": [ - "✅ Done", - "self-hosting" + "feat-cost-tracking" ], "author": { - "login": "lucasiscovici", - "html_url": "https://github.com/lucasiscovici" + "login": "Karanaiinfox", + "html_url": "https://github.com/Karanaiinfox" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2390, - "title": "Implement Duplication Check for Prompt Versions in Langfuse", - "href": "https://github.com/orgs/langfuse/discussions/2390", - "created_at": "2024-06-21T08:03:39Z", + "number": 3393, + "title": "Self-Host evaluation feature", + "href": "https://github.com/orgs/langfuse/discussions/3393", + "created_at": "2024-09-18T07:55:30Z", + "upvotes": 2, + "comment_count": 2, + "resolved": true, + "labels": [ + "feat-evals" + ], + "author": { + "login": "MayankBitcot", + "html_url": "https://github.com/MayankBitcot" + }, + "category": "Support" + }, + { + "number": 3392, + "title": "not able to track entire request end to end in langchain + langfuse", + "href": "https://github.com/orgs/langfuse/discussions/3392", + "created_at": "2024-09-18T07:08:49Z", "upvotes": 1, - "comment_count": 1, + "comment_count": 2, "resolved": false, "labels": [ - "feat-prompt-management" + "integration-langchain" ], "author": { - "login": "sapipoZZZ", - "html_url": "https://github.com/sapipoZZZ" + "login": "jaiswalvineet", + "html_url": "https://github.com/jaiswalvineet" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2378, - "title": "Number of times a prompt was fetched", - "href": "https://github.com/orgs/langfuse/discussions/2378", - "created_at": "2024-06-20T07:37:12Z", - "upvotes": 3, - "comment_count": 0, + "number": 3379, + "title": "Feedback for “Langfuse Documentation”", + "href": "https://github.com/orgs/langfuse/discussions/3379", + "created_at": "2024-09-17T07:44:56Z", + "upvotes": 1, + "comment_count": 3, "resolved": false, + "labels": [], + "author": { + "login": "Preet1234-ux", + "html_url": "https://github.com/Preet1234-ux" + }, + "category": "Support" + }, + { + "number": 3364, + "title": "Hey want to change the Eval Templates name, can we do it from UI", + "href": "https://github.com/orgs/langfuse/discussions/3364", + "created_at": "2024-09-16T08:07:30Z", + "upvotes": 1, + "comment_count": 3, + "resolved": true, "labels": [ - "feat-prompt-management" + "feat-evals" ], "author": { - "login": "subhampasari", - "html_url": "https://github.com/subhampasari" + "login": "divyanshubhuta", + "html_url": "https://github.com/divyanshubhuta" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2376, - "title": "Allow for custom OAuth scopes when self-hosing", - "href": "https://github.com/orgs/langfuse/discussions/2376", - "created_at": "2024-06-19T22:23:59Z", + "number": 3344, + "title": "How to use langfuse with LangGraph Studio", + "href": "https://github.com/orgs/langfuse/discussions/3344", + "created_at": "2024-09-13T11:35:53Z", "upvotes": 1, - "comment_count": 1, + "comment_count": 2, "resolved": false, "labels": [ - "feat-auth" + "integration-langchain" ], "author": { - "login": "0x77dev", - "html_url": "https://github.com/0x77dev" + "login": "debkanchan", + "html_url": "https://github.com/debkanchan" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2371, - "title": "SBS Markdown mode for dataset runs", - "href": "https://github.com/orgs/langfuse/discussions/2371", - "created_at": "2024-06-19T14:57:32Z", + "number": 3321, + "title": "Session ids for Langserve", + "href": "https://github.com/orgs/langfuse/discussions/3321", + "created_at": "2024-09-11T22:40:01Z", "upvotes": 1, "comment_count": 1, "resolved": false, "labels": [ - "feat-datasets" + "integration-langchain", + "feat-sessions" ], "author": { - "login": "pfurovYnP", - "html_url": "https://github.com/pfurovYnP" + "login": "YaphetKG", + "html_url": "https://github.com/YaphetKG" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2358, - "title": "Add view mode to Settings", - "href": "https://github.com/orgs/langfuse/discussions/2358", - "created_at": "2024-06-17T12:48:04Z", + "number": 3313, + "title": "how to pass custom user managed model name to calculate the cost via langchain", + "href": "https://github.com/orgs/langfuse/discussions/3313", + "created_at": "2024-09-11T13:25:48Z", "upvotes": 1, - "comment_count": 1, - "resolved": false, - "labels": [], + "comment_count": 3, + "resolved": true, + "labels": [ + "integration-langchain", + "feat-cost-tracking" + ], "author": { - "login": "emfhal", - "html_url": "https://github.com/emfhal" + "login": "jaiswalvineet", + "html_url": "https://github.com/jaiswalvineet" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2352, - "title": "Support SAML login protocol", - "href": "https://github.com/orgs/langfuse/discussions/2352", - "created_at": "2024-06-17T07:14:14Z", - "upvotes": 4, + "number": 3308, + "title": "Automated Prompt Management across Environments", + "href": "https://github.com/orgs/langfuse/discussions/3308", + "created_at": "2024-09-11T09:31:26Z", + "upvotes": 1, "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [ - "self-hosting" + "feat-prompt-management" ], "author": { - "login": "emfhal", - "html_url": "https://github.com/emfhal" + "login": "jonnyforsterMSG", + "html_url": "https://github.com/jonnyforsterMSG" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2343, - "title": "Bring Langfuse to Cloud Marketplaces", - "href": "https://github.com/orgs/langfuse/discussions/2343", - "created_at": "2024-06-14T06:41:18Z", - "upvotes": 2, - "comment_count": 2, - "resolved": false, + "number": 3307, + "title": "DataSet Scores are not being displayed", + "href": "https://github.com/orgs/langfuse/discussions/3307", + "created_at": "2024-09-11T08:46:31Z", + "upvotes": 1, + "comment_count": 3, + "resolved": true, "labels": [ - "self-hosting" + "feat-datasets" ], "author": { - "login": "aiakubovich", - "html_url": "https://github.com/aiakubovich" + "login": "MaxYaz", + "html_url": "https://github.com/MaxYaz" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2336, - "title": "Saving a filter", - "href": "https://github.com/orgs/langfuse/discussions/2336", - "created_at": "2024-06-13T09:15:59Z", + "number": 3305, + "title": "bug: cost usage are not getting captured automatically from llm response", + "href": "https://github.com/orgs/langfuse/discussions/3305", + "created_at": "2024-09-11T05:02:03Z", "upvotes": 1, - "comment_count": 0, + "comment_count": 2, "resolved": false, "labels": [], "author": { - "login": "avinash361-devrev", - "html_url": "https://github.com/avinash361-devrev" + "login": "ajeet6261", + "html_url": "https://github.com/ajeet6261" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2331, - "title": "Pendo integration", - "href": "https://github.com/orgs/langfuse/discussions/2331", - "created_at": "2024-06-12T18:22:32Z", + "number": 3271, + "title": "Understanding pricing model (self-hosting vs cloud serving) from security perspective", + "href": "https://github.com/orgs/langfuse/discussions/3271", + "created_at": "2024-09-09T14:07:32Z", "upvotes": 1, - "comment_count": 1, + "comment_count": 2, "resolved": false, "labels": [], "author": { - "login": "mrunaaaaaal", - "html_url": "https://github.com/mrunaaaaaal" + "login": "uahmad235", + "html_url": "https://github.com/uahmad235" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2282, - "title": "[Dashboard] Update Scores Chart to include number of scores on secondary y axis", - "href": "https://github.com/orgs/langfuse/discussions/2282", - "created_at": "2024-06-10T08:41:41Z", + "number": 3267, + "title": "python decorator grouping in trace when using FastAPI Server Sent Events and Langraph + custom function", + "href": "https://github.com/orgs/langfuse/discussions/3267", + "created_at": "2024-09-09T11:10:00Z", "upvotes": 1, - "comment_count": 1, + "comment_count": 4, "resolved": false, "labels": [ - "feat-dashboard" + "integration-langchain", + "integration-python-decorator" ], "author": { - "login": "charlieviettq", - "html_url": "https://github.com/charlieviettq" + "login": "lixxvsky", + "html_url": "https://github.com/lixxvsky" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2278, - "title": "Type of input and output of each span visible in the UI", - "href": "https://github.com/orgs/langfuse/discussions/2278", - "created_at": "2024-06-08T21:17:48Z", - "upvotes": 3, + "number": 3254, + "title": "Vercel AI SDK and Svelte. How to push traces intermittently back to langfuse", + "href": "https://github.com/orgs/langfuse/discussions/3254", + "created_at": "2024-09-06T13:37:17Z", + "upvotes": 1, "comment_count": 1, "resolved": false, "labels": [ - "ui" + "integration-vercel-ai-sdk" ], "author": { - "login": "arthurGrigo", - "html_url": "https://github.com/arthurGrigo" + "login": "oghaAI", + "html_url": "https://github.com/oghaAI" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2268, - "title": "Langfuse retention settings", - "href": "https://github.com/orgs/langfuse/discussions/2268", - "created_at": "2024-06-07T12:27:32Z", - "upvotes": 8, - "comment_count": 6, + "number": 3210, + "title": "When using callbacks, the langfuse_context.update_current_trace method does not function properly.", + "href": "https://github.com/orgs/langfuse/discussions/3210", + "created_at": "2024-09-03T10:29:29Z", + "upvotes": 1, + "comment_count": 4, "resolved": false, "labels": [], "author": { - "login": "sudhanshu746", - "html_url": "https://github.com/sudhanshu746" - }, - "category": "Ideas" + "login": "hgliyuhao", + "html_url": "https://github.com/hgliyuhao" + }, + "category": "Support" }, { - "number": 2241, - "title": "Tracing integration with unify.ai", - "href": "https://github.com/orgs/langfuse/discussions/2241", - "created_at": "2024-06-05T15:17:00Z", - "upvotes": 5, - "comment_count": 3, - "resolved": false, - "labels": [ - "integrations" - ], + "number": 3207, + "title": "change of data region", + "href": "https://github.com/orgs/langfuse/discussions/3207", + "created_at": "2024-09-03T06:06:48Z", + "upvotes": 1, + "comment_count": 1, + "resolved": true, + "labels": [], "author": { - "login": "marcklingen", - "html_url": "https://github.com/marcklingen" + "login": "divyanshubhuta", + "html_url": "https://github.com/divyanshubhuta" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2237, - "title": "Add Langchain Support to Prompt Management", - "href": "https://github.com/orgs/langfuse/discussions/2237", - "created_at": "2024-06-05T10:05:13Z", - "upvotes": 34, - "comment_count": 5, + "number": 3191, + "title": "Evaluation config setup related query", + "href": "https://github.com/orgs/langfuse/discussions/3191", + "created_at": "2024-09-02T14:48:01Z", + "upvotes": 1, + "comment_count": 2, "resolved": false, - "labels": [ - "feat-prompt-management", - "integration-langchain", - "✅ Done" - ], + "labels": [], "author": { - "login": "guidev", - "html_url": "https://github.com/guidev" + "login": "divyanshubhuta", + "html_url": "https://github.com/divyanshubhuta" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2226, - "title": "Monitoring Costs and Traces generated by RAGAS", - "href": "https://github.com/orgs/langfuse/discussions/2226", - "created_at": "2024-06-04T09:35:25Z", - "upvotes": 4, - "comment_count": 1, - "resolved": false, + "number": 3182, + "title": "What does `version` means when ingesting trace?", + "href": "https://github.com/orgs/langfuse/discussions/3182", + "created_at": "2024-08-31T20:44:26Z", + "upvotes": 1, + "comment_count": 2, + "resolved": true, "labels": [], "author": { - "login": "paolotamag", - "html_url": "https://github.com/paolotamag" + "login": "STRRL", + "html_url": "https://github.com/STRRL" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2215, - "title": "new chart in dashboard for booleans metrics", - "href": "https://github.com/orgs/langfuse/discussions/2215", - "created_at": "2024-06-03T12:48:37Z", + "number": 3176, + "title": "Get all the generations, events, etc. under Trace", + "href": "https://github.com/orgs/langfuse/discussions/3176", + "created_at": "2024-08-31T02:10:28Z", "upvotes": 1, "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [], "author": { - "login": "paolotamag", - "html_url": "https://github.com/paolotamag" + "login": "bytecod3r", + "html_url": "https://github.com/bytecod3r" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2210, - "title": "MessagesPlaceholder in \"Create New Prompt\" panel", - "href": "https://github.com/orgs/langfuse/discussions/2210", - "created_at": "2024-06-03T06:58:45Z", - "upvotes": 6, + "number": 3168, + "title": "usage pattern for new llamaindex integration", + "href": "https://github.com/orgs/langfuse/discussions/3168", + "created_at": "2024-08-30T20:23:17Z", + "upvotes": 1, "comment_count": 2, - "resolved": false, + "resolved": true, "labels": [ - "feat-prompt-management" + "integraton-llamaindex" ], "author": { - "login": "NIKsun", - "html_url": "https://github.com/NIKsun" + "login": "erik-squared", + "html_url": "https://github.com/erik-squared" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2209, - "title": "Enhance data in daily metrics api endpoint", - "href": "https://github.com/orgs/langfuse/discussions/2209", - "created_at": "2024-06-02T14:38:15Z", + "number": 3132, + "title": "Tracing ChatGoogleGenerativeAI calls in langchain doesn't return usage metadata", + "href": "https://github.com/orgs/langfuse/discussions/3132", + "created_at": "2024-08-29T13:09:13Z", "upvotes": 1, "comment_count": 1, "resolved": false, "labels": [ - "✅ Done", - "feat-api" + "integration-langchain" ], "author": { - "login": "matthiaslau", - "html_url": "https://github.com/matthiaslau" + "login": "NeerajG03", + "html_url": "https://github.com/NeerajG03" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2203, - "title": "Ability to add comments to versions of prompts (\"commit message\")", - "href": "https://github.com/orgs/langfuse/discussions/2203", - "created_at": "2024-06-01T13:13:27Z", - "upvotes": 4, - "comment_count": 4, - "resolved": false, - "labels": [ - "feat-prompt-management" - ], + "number": 3124, + "title": "Generation does not come under @observe trace", + "href": "https://github.com/orgs/langfuse/discussions/3124", + "created_at": "2024-08-29T00:28:14Z", + "upvotes": 1, + "comment_count": 2, + "resolved": true, + "labels": [], "author": { - "login": "ajram23", - "html_url": "https://github.com/ajram23" + "login": "SatheeshJM", + "html_url": "https://github.com/SatheeshJM" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2195, - "title": "Timeline/graph visualization for traces", - "href": "https://github.com/orgs/langfuse/discussions/2195", - "created_at": "2024-05-31T08:18:11Z", - "upvotes": 7, - "comment_count": 4, + "number": 3120, + "title": "Langfuse 2.74.0 integration with Flowise 2.0.5", + "href": "https://github.com/orgs/langfuse/discussions/3120", + "created_at": "2024-08-28T20:18:19Z", + "upvotes": 1, + "comment_count": 2, "resolved": false, - "labels": [ - "✅ Done" - ], + "labels": [], "author": { - "login": "david1542", - "html_url": "https://github.com/david1542" + "login": "harshad-c1", + "html_url": "https://github.com/harshad-c1" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2194, - "title": "Terraform Provider for internal Langfuse configuration", - "href": "https://github.com/orgs/langfuse/discussions/2194", - "created_at": "2024-05-31T06:23:11Z", - "upvotes": 2, - "comment_count": 1, - "resolved": false, - "labels": [ - "self-hosting" - ], + "number": 3110, + "title": "How to set SMTP_CONNECTION_URL and reset password?", + "href": "https://github.com/orgs/langfuse/discussions/3110", + "created_at": "2024-08-28T10:05:06Z", + "upvotes": 1, + "comment_count": 2, + "resolved": true, + "labels": [], "author": { - "login": "mroedder-d7", - "html_url": "https://github.com/mroedder-d7" + "login": "zs856", + "html_url": "https://github.com/zs856" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2184, - "title": "support query prompt via prompt id", - "href": "https://github.com/orgs/langfuse/discussions/2184", - "created_at": "2024-05-30T02:55:59Z", + "number": 3105, + "title": "Dockerfile of langfuse/langfuse:2 image", + "href": "https://github.com/orgs/langfuse/discussions/3105", + "created_at": "2024-08-28T00:13:57Z", "upvotes": 1, - "comment_count": 1, - "resolved": false, - "labels": [], + "comment_count": 2, + "resolved": true, + "labels": [ + "self-hosting" + ], "author": { - "login": "hu9029", - "html_url": "https://github.com/hu9029" + "login": "pparreira", + "html_url": "https://github.com/pparreira" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2181, - "title": "Support for SDK entry-point wrapper around async REST API client", - "href": "https://github.com/orgs/langfuse/discussions/2181", - "created_at": "2024-05-29T17:50:22Z", + "number": 3100, + "title": "Time to first token is not populating in trace detail or generations view", + "href": "https://github.com/orgs/langfuse/discussions/3100", + "created_at": "2024-08-27T20:12:14Z", "upvotes": 1, - "comment_count": 0, - "resolved": false, + "comment_count": 2, + "resolved": true, "labels": [], "author": { - "login": "blazing-gig", - "html_url": "https://github.com/blazing-gig" + "login": "databloom", + "html_url": "https://github.com/databloom" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2176, - "title": "Support querying Users (GET) to support analytics pipeline solutions", - "href": "https://github.com/orgs/langfuse/discussions/2176", - "created_at": "2024-05-29T02:42:13Z", - "upvotes": 2, + "number": 3099, + "title": "Pulling prompts by tag?", + "href": "https://github.com/orgs/langfuse/discussions/3099", + "created_at": "2024-08-27T20:01:45Z", + "upvotes": 1, "comment_count": 1, "resolved": false, - "labels": [ - "feat-users" - ], + "labels": [], "author": { - "login": "Tjmstudios", - "html_url": "https://github.com/Tjmstudios" + "login": "mayajosifo", + "html_url": "https://github.com/mayajosifo" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2161, - "title": "Prompt version only create when different", - "href": "https://github.com/orgs/langfuse/discussions/2161", - "created_at": "2024-05-27T23:47:21Z", - "upvotes": 4, + "number": 3092, + "title": "Deployment into Azure", + "href": "https://github.com/orgs/langfuse/discussions/3092", + "created_at": "2024-08-27T10:05:32Z", + "upvotes": 1, "comment_count": 2, - "resolved": false, + "resolved": true, "labels": [ - "feat-prompt-management" + "self-hosting" ], "author": { - "login": "brightsparc", - "html_url": "https://github.com/brightsparc" + "login": "GaryFail", + "html_url": "https://github.com/GaryFail" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2140, - "title": "clickhouse support", - "href": "https://github.com/orgs/langfuse/discussions/2140", - "created_at": "2024-05-24T15:21:14Z", - "upvotes": 2, - "comment_count": 1, - "resolved": false, + "number": 3079, + "title": "How to change the Level to ERROR when there is an error in SPAN?", + "href": "https://github.com/orgs/langfuse/discussions/3079", + "created_at": "2024-08-26T15:46:23Z", + "upvotes": 3, + "comment_count": 2, + "resolved": true, "labels": [ - "work-in-progress", - "performance" + "feat-log-levels" ], "author": { - "login": "newcworld", - "html_url": "https://github.com/newcworld" - }, - "category": "Ideas" - }, - { - "number": 2131, - "title": "Export to data warehouses (BigQuery etc)", - "href": "https://github.com/orgs/langfuse/discussions/2131", - "created_at": "2024-05-23T15:52:18Z", - "upvotes": 18, - "comment_count": 1, - "resolved": false, - "labels": [], - "author": { - "login": "rohan-mehta", - "html_url": "https://github.com/rohan-mehta" + "login": "kftam1994", + "html_url": "https://github.com/kftam1994" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2124, - "title": "Proposal: Add Support for Uploading Dataset Items via UI", - "href": "https://github.com/orgs/langfuse/discussions/2124", - "created_at": "2024-05-22T10:58:04Z", - "upvotes": 5, + "number": 3056, + "title": "Support for configuring SMTP email at project level", + "href": "https://github.com/orgs/langfuse/discussions/3056", + "created_at": "2024-08-23T14:41:45Z", + "upvotes": 1, "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [ - "feat-datasets" + "self-hosting" ], "author": { - "login": "vaddenz", - "html_url": "https://github.com/vaddenz" + "login": "rvndbalaji", + "html_url": "https://github.com/rvndbalaji" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2119, - "title": "Phidata support", - "href": "https://github.com/orgs/langfuse/discussions/2119", - "created_at": "2024-05-21T14:20:09Z", + "number": 3003, + "title": "Example GenAI bot with guardrails", + "href": "https://github.com/orgs/langfuse/discussions/3003", + "created_at": "2024-08-22T06:37:29Z", "upvotes": 1, "comment_count": 1, "resolved": false, - "labels": [ - "integrations" - ], + "labels": [], "author": { - "login": "michaelpoluektov", - "html_url": "https://github.com/michaelpoluektov" + "login": "wangxj03", + "html_url": "https://github.com/wangxj03" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2104, - "title": "Feature Request: Tracing Sampling Rate Configuration for Langfuse", - "href": "https://github.com/orgs/langfuse/discussions/2104", - "created_at": "2024-05-20T16:23:05Z", - "upvotes": 2, - "comment_count": 1, - "resolved": false, + "number": 2990, + "title": "[Question] using langfuse with llama_index", + "href": "https://github.com/orgs/langfuse/discussions/2990", + "created_at": "2024-08-21T08:00:59Z", + "upvotes": 1, + "comment_count": 2, + "resolved": true, "labels": [ - "✅ Done" + "integraton-llamaindex" ], "author": { - "login": "himansrivastava", - "html_url": "https://github.com/himansrivastava" + "login": "nightosong", + "html_url": "https://github.com/nightosong" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2101, - "title": "feat: Adding AWS Cognito Authentication", - "href": "https://github.com/orgs/langfuse/discussions/2101", - "created_at": "2024-05-20T14:30:32Z", + "number": 2988, + "title": "Non-langchain generation nested within LangGraph execution", + "href": "https://github.com/orgs/langfuse/discussions/2988", + "created_at": "2024-08-21T05:13:51Z", "upvotes": 1, "comment_count": 2, - "resolved": false, + "resolved": true, "labels": [ - "✅ Done", - "feat-auth" + "integration-langchain" ], "author": { - "login": "Shekswess", - "html_url": "https://github.com/Shekswess" + "login": "mrdrprofuroboros", + "html_url": "https://github.com/mrdrprofuroboros" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2097, - "title": "Markdown Rendering Option", - "href": "https://github.com/orgs/langfuse/discussions/2097", - "created_at": "2024-05-18T16:58:37Z", - "upvotes": 4, - "comment_count": 4, - "resolved": false, + "number": 2983, + "title": "Tracing directly to queue instead of http api", + "href": "https://github.com/orgs/langfuse/discussions/2983", + "created_at": "2024-08-20T14:33:17Z", + "upvotes": 0, + "comment_count": 1, + "resolved": true, "labels": [ - "✅ Done" + "self-hosting" ], "author": { - "login": "hburrichter", - "html_url": "https://github.com/hburrichter" + "login": "exotikh3", + "html_url": "https://github.com/exotikh3" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2081, - "title": "feat: inject langfuse info into langchain metadata", - "href": "https://github.com/orgs/langfuse/discussions/2081", - "created_at": "2024-05-16T20:43:41Z", + "number": 3901, + "title": "How to resolve memory leak when integrating Langfuse with LangChain", + "href": "https://github.com/orgs/langfuse/discussions/3901", + "created_at": "2024-08-20T03:14:45Z", "upvotes": 1, - "comment_count": 0, - "resolved": false, + "comment_count": 6, + "resolved": true, "labels": [ "integration-langchain" ], "author": { - "login": "benobytes", - "html_url": "https://github.com/benobytes" + "login": "ivan-94", + "html_url": "https://github.com/ivan-94" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2072, - "title": "Adding prompt tags via Python SDK (or other code based interactions)", - "href": "https://github.com/orgs/langfuse/discussions/2072", - "created_at": "2024-05-16T09:46:20Z", - "upvotes": 5, + "number": 2959, + "title": "Duplicate usage data in observation api endpoint response", + "href": "https://github.com/orgs/langfuse/discussions/2959", + "created_at": "2024-08-16T10:57:00Z", + "upvotes": 1, "comment_count": 2, - "resolved": false, + "resolved": true, "labels": [], "author": { - "login": "simon-hiel", - "html_url": "https://github.com/simon-hiel" + "login": "jonnyforsterMSG", + "html_url": "https://github.com/jonnyforsterMSG" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2071, - "title": "Save playground conversation to a dataset", - "href": "https://github.com/orgs/langfuse/discussions/2071", - "created_at": "2024-05-16T09:24:29Z", - "upvotes": 3, - "comment_count": 0, + "number": 2958, + "title": "Time to first token query", + "href": "https://github.com/orgs/langfuse/discussions/2958", + "created_at": "2024-08-16T10:08:42Z", + "upvotes": 1, + "comment_count": 2, "resolved": false, - "labels": [ - "feat-datasets", - "feat-playground" - ], + "labels": [], "author": { - "login": "bderenzi", - "html_url": "https://github.com/bderenzi" + "login": "GaryFail", + "html_url": "https://github.com/GaryFail" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2065, - "title": "Support multiple prompts attached to a generation.", - "href": "https://github.com/orgs/langfuse/discussions/2065", - "created_at": "2024-05-15T22:16:35Z", - "upvotes": 3, + "number": 2952, + "title": "Locally hosted PrivateGPT + pgpt_python + Langfuse", + "href": "https://github.com/orgs/langfuse/discussions/2952", + "created_at": "2024-08-15T15:12:16Z", + "upvotes": 1, "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "jansenderr", - "html_url": "https://github.com/jansenderr" + "login": "qdingle404", + "html_url": "https://github.com/qdingle404" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2064, - "title": "Show explicit error when viewing a project that doesn't exist", - "href": "https://github.com/orgs/langfuse/discussions/2064", - "created_at": "2024-05-15T16:49:32Z", + "number": 2945, + "title": "Unit of token count for cost analysis", + "href": "https://github.com/orgs/langfuse/discussions/2945", + "created_at": "2024-08-15T09:33:59Z", "upvotes": 1, - "comment_count": 0, - "resolved": false, + "comment_count": 1, + "resolved": true, "labels": [], "author": { - "login": "backmask", - "html_url": "https://github.com/backmask" + "login": "thomasjv799", + "html_url": "https://github.com/thomasjv799" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2045, - "title": "Requesting official support OpenAI's new gpt-4o model", - "href": "https://github.com/orgs/langfuse/discussions/2045", - "created_at": "2024-05-13T21:37:38Z", - "upvotes": 3, - "comment_count": 5, - "resolved": false, + "number": 2933, + "title": "how to return trace_id in openai completion response when using langfuse as a proxy in litellm?", + "href": "https://github.com/orgs/langfuse/discussions/2933", + "created_at": "2024-08-14T07:52:30Z", + "upvotes": 1, + "comment_count": 2, + "resolved": true, "labels": [ - "integration-openai", - "✅ Done", - "feat-cost-tracking" + "integration-litellm" ], "author": { - "login": "varenc", - "html_url": "https://github.com/varenc" + "login": "octadion", + "html_url": "https://github.com/octadion" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2043, - "title": "Support instrumentation through openllmetry", - "href": "https://github.com/orgs/langfuse/discussions/2043", - "created_at": "2024-05-13T19:27:59Z", - "upvotes": 8, - "comment_count": 1, - "resolved": false, - "labels": [], + "number": 2927, + "title": "Span created with Langchain not showing up in traces.", + "href": "https://github.com/orgs/langfuse/discussions/2927", + "created_at": "2024-08-13T20:32:35Z", + "upvotes": 1, + "comment_count": 2, + "resolved": true, + "labels": [ + "integration-langchain" + ], "author": { - "login": "baggiponte", - "html_url": "https://github.com/baggiponte" + "login": "HardKothari", + "html_url": "https://github.com/HardKothari" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2039, - "title": "Introduce the concept of \"sub-prompt\" to improve prompt reusability", - "href": "https://github.com/orgs/langfuse/discussions/2039", - "created_at": "2024-05-13T10:14:44Z", - "upvotes": 3, - "comment_count": 1, - "resolved": false, - "labels": [], + "number": 2909, + "title": "Change port database in file docker-compose.yml", + "href": "https://github.com/orgs/langfuse/discussions/2909", + "created_at": "2024-08-13T08:05:37Z", + "upvotes": 1, + "comment_count": 2, + "resolved": true, + "labels": [ + "self-hosting" + ], "author": { - "login": "khaelys", - "html_url": "https://github.com/khaelys" + "login": "hungvipqt15", + "html_url": "https://github.com/hungvipqt15" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2030, - "title": "Add number of 'successful request' to traces list view", - "href": "https://github.com/orgs/langfuse/discussions/2030", - "created_at": "2024-05-09T23:25:27Z", + "number": 2907, + "title": "Change port connection in docker compose", + "href": "https://github.com/orgs/langfuse/discussions/2907", + "created_at": "2024-08-13T06:40:30Z", "upvotes": 1, "comment_count": 1, "resolved": false, - "labels": [], + "labels": [ + "self-hosting" + ], "author": { - "login": "arthurGrigo", - "html_url": "https://github.com/arthurGrigo" + "login": "hungvipqt15", + "html_url": "https://github.com/hungvipqt15" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2021, - "title": "Ask for a import/export on prompt management page", - "href": "https://github.com/orgs/langfuse/discussions/2021", - "created_at": "2024-05-09T03:17:50Z", - "upvotes": 1, + "number": 2904, + "title": "How to append current trace when calling function second time?", + "href": "https://github.com/orgs/langfuse/discussions/2904", + "created_at": "2024-08-12T15:12:22Z", + "upvotes": 2, "comment_count": 2, - "resolved": false, - "labels": [], + "resolved": true, + "labels": [ + "integration-python-decorator" + ], "author": { - "login": "ShaunDeng", - "html_url": "https://github.com/ShaunDeng" + "login": "nathan-vo810", + "html_url": "https://github.com/nathan-vo810" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2006, - "title": "Gitlab Auth Provider", - "href": "https://github.com/orgs/langfuse/discussions/2006", - "created_at": "2024-05-08T10:12:51Z", + "number": 2895, + "title": "How to update an event", + "href": "https://github.com/orgs/langfuse/discussions/2895", + "created_at": "2024-08-11T16:51:18Z", "upvotes": 1, "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [], "author": { - "login": "jsirex", - "html_url": "https://github.com/jsirex" + "login": "bytecod3r", + "html_url": "https://github.com/bytecod3r" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1990, - "title": "Add batch actions to traces", - "href": "https://github.com/orgs/langfuse/discussions/1990", - "created_at": "2024-05-07T09:37:42Z", + "number": 2888, + "title": "How to change the level of a trace?", + "href": "https://github.com/orgs/langfuse/discussions/2888", + "created_at": "2024-08-09T14:35:34Z", "upvotes": 3, - "comment_count": 0, - "resolved": false, - "labels": [], - "author": { - "login": "nimbusaeta", - "html_url": "https://github.com/nimbusaeta" - }, - "category": "Ideas" - }, - { - "number": 1988, - "title": "Upload datasets via UI", - "href": "https://github.com/orgs/langfuse/discussions/1988", - "created_at": "2024-05-06T20:25:20Z", - "upvotes": 9, - "comment_count": 1, - "resolved": false, + "comment_count": 2, + "resolved": true, "labels": [ - "feat-datasets" + "feat-log-levels" ], "author": { - "login": "assafweinberg", - "html_url": "https://github.com/assafweinberg" + "login": "ldbolanos", + "html_url": "https://github.com/ldbolanos" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1987, - "title": "API/UI to delete dataset items and runs", - "href": "https://github.com/orgs/langfuse/discussions/1987", - "created_at": "2024-05-06T17:13:16Z", - "upvotes": 24, - "comment_count": 2, + "number": 2879, + "title": "ERROR:langfuse:status_code: 404, body: {'message': 'Trace not found within authorized project', 'error': 'LangfuseNotFoundError'}", + "href": "https://github.com/orgs/langfuse/discussions/2879", + "created_at": "2024-08-09T09:31:33Z", + "upvotes": 1, + "comment_count": 3, "resolved": false, - "labels": [ - "feat-datasets" - ], + "labels": [], "author": { - "login": "tomek82", - "html_url": "https://github.com/tomek82" + "login": "nithin1995", + "html_url": "https://github.com/nithin1995" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1963, - "title": "Is it possible integrate Langfuse with Microsoft Copilot Studio?", - "href": "https://github.com/orgs/langfuse/discussions/1963", - "created_at": "2024-05-03T03:33:22Z", + "number": 2874, + "title": "Does langfuse trace parallel api calls? I tried a sample with parallel call but it didn't traced.", + "href": "https://github.com/orgs/langfuse/discussions/2874", + "created_at": "2024-08-09T05:09:26Z", "upvotes": 1, - "comment_count": 0, + "comment_count": 4, "resolved": false, "labels": [], "author": { - "login": "aiakubovich", - "html_url": "https://github.com/aiakubovich" + "login": "ksundarraj-c-rpx", + "html_url": "https://github.com/ksundarraj-c-rpx" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2055, - "title": "Openai: Support IO capture when streaming function / tool call", - "href": "https://github.com/orgs/langfuse/discussions/2055", - "created_at": "2024-05-01T15:25:15Z", - "upvotes": 16, - "comment_count": 7, - "resolved": false, + "number": 2871, + "title": "Self-hosted Langfuse running as a Google cloud service not showing traces", + "href": "https://github.com/orgs/langfuse/discussions/2871", + "created_at": "2024-08-08T13:40:34Z", + "upvotes": 1, + "comment_count": 2, + "resolved": true, "labels": [ - "sdk-python", - "integration-openai", - "✅ Done" + "🐞❔ unconfirmed bug" ], "author": { - "login": "DanrForetellix", - "html_url": "https://github.com/DanrForetellix" + "login": "SectumPsempra", + "html_url": "https://github.com/SectumPsempra" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1941, - "title": "Looking into allowing more customization of the table", - "href": "https://github.com/orgs/langfuse/discussions/1941", - "created_at": "2024-05-01T14:47:32Z", + "number": 2867, + "title": "Using the API to record traces from multiple platforms?", + "href": "https://github.com/orgs/langfuse/discussions/2867", + "created_at": "2024-08-08T13:15:49Z", "upvotes": 1, "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "Mohamed-Ayaan358", - "html_url": "https://github.com/Mohamed-Ayaan358" + "login": "appliraz", + "html_url": "https://github.com/appliraz" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1916, - "title": "Langchain integration Improvements", - "href": "https://github.com/orgs/langfuse/discussions/1916", - "created_at": "2024-04-30T13:23:19Z", - "upvotes": 2, - "comment_count": 2, - "resolved": false, - "labels": [ - "integration-langchain", - "✅ Done" - ], + "number": 2858, + "title": "Langfuse observeOpenAI not logging generations using new zodResponseFormat.", + "href": "https://github.com/orgs/langfuse/discussions/2858", + "created_at": "2024-08-07T21:45:41Z", + "upvotes": 1, + "comment_count": 3, + "resolved": true, + "labels": [], "author": { - "login": "ajram23", - "html_url": "https://github.com/ajram23" + "login": "fabstu", + "html_url": "https://github.com/fabstu" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1904, - "title": "Retrieve prompts based on versioning rather than times for caching", - "href": "https://github.com/orgs/langfuse/discussions/1904", - "created_at": "2024-04-29T14:04:27Z", + "number": 2852, + "title": "How run Langfuse evaluations over specifics spans?", + "href": "https://github.com/orgs/langfuse/discussions/2852", + "created_at": "2024-08-07T13:40:02Z", "upvotes": 1, "comment_count": 2, - "resolved": false, - "labels": [ - "feat-prompt-management" - ], - "author": { - "login": "ajram23", - "html_url": "https://github.com/ajram23" - }, - "category": "Ideas" - }, - { - "number": 1896, - "title": "Delete Session", - "href": "https://github.com/orgs/langfuse/discussions/1896", - "created_at": "2024-04-29T08:01:05Z", - "upvotes": 15, - "comment_count": 0, - "resolved": false, + "resolved": true, "labels": [ - "feat-sessions" + "integration-langchain", + "feat-evals" ], "author": { - "login": "rohan-gt", - "html_url": "https://github.com/rohan-gt" + "login": "joaoCrulhas", + "html_url": "https://github.com/joaoCrulhas" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1895, - "title": "linking prompts with tracing in langchain integration", - "href": "https://github.com/orgs/langfuse/discussions/1895", - "created_at": "2024-04-28T13:13:08Z", - "upvotes": 10, + "number": 2844, + "title": "LangFuse not logging LlamaIndex events", + "href": "https://github.com/orgs/langfuse/discussions/2844", + "created_at": "2024-08-07T10:46:19Z", + "upvotes": 2, "comment_count": 3, "resolved": false, "labels": [ - "feat-prompt-management", - "integration-langchain", - "✅ Done" + "integraton-llamaindex" ], "author": { - "login": "SatheeshJM", - "html_url": "https://github.com/SatheeshJM" + "login": "adieyal", + "html_url": "https://github.com/adieyal" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1867, - "title": "Add integration with evaluation frameworks", - "href": "https://github.com/orgs/langfuse/discussions/1867", - "created_at": "2024-04-25T23:09:03Z", + "number": 2830, + "title": "UpdateRoot in the callback handler seems not work", + "href": "https://github.com/orgs/langfuse/discussions/2830", + "created_at": "2024-08-06T08:58:25Z", "upvotes": 1, "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [], "author": { - "login": "johnnydevriese", - "html_url": "https://github.com/johnnydevriese" + "login": "joaoCrulhas", + "html_url": "https://github.com/joaoCrulhas" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1862, - "title": "Support Linking Execution Trace to DatasetItem without Fetching Entire Dataset", - "href": "https://github.com/orgs/langfuse/discussions/1862", - "created_at": "2024-04-25T18:57:08Z", + "number": 2828, + "title": "Issue: Integration of Langfuse with DSPy Framework - Zero Values for Cost and Token Usage", + "href": "https://github.com/orgs/langfuse/discussions/2828", + "created_at": "2024-08-06T05:55:30Z", "upvotes": 1, - "comment_count": 1, - "resolved": false, + "comment_count": 3, + "resolved": true, "labels": [ - "feat-datasets" + "integration-dspy" ], "author": { - "login": "sfarthin", - "html_url": "https://github.com/sfarthin" + "login": "mahitha-29", + "html_url": "https://github.com/mahitha-29" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1858, - "title": "Platform User roles to allow or disable project creation", - "href": "https://github.com/orgs/langfuse/discussions/1858", - "created_at": "2024-04-25T16:00:12Z", - "upvotes": 1, - "comment_count": 2, - "resolved": false, - "labels": [ - "✅ Done", - "feat-rbac" - ], + "number": 2817, + "title": "Praise for the Langfuse library! 🚀", + "href": "https://github.com/orgs/langfuse/discussions/2817", + "created_at": "2024-08-03T10:53:41Z", + "upvotes": 2, + "comment_count": 1, + "resolved": true, + "labels": [], "author": { - "login": "JMcGenn", - "html_url": "https://github.com/JMcGenn" + "login": "ttamg", + "html_url": "https://github.com/ttamg" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1851, - "title": "[oauth] Keycloak provider support", - "href": "https://github.com/orgs/langfuse/discussions/1851", - "created_at": "2024-04-25T12:39:26Z", - "upvotes": 7, - "comment_count": 1, - "resolved": false, + "number": 2809, + "title": "No space left on device db error", + "href": "https://github.com/orgs/langfuse/discussions/2809", + "created_at": "2024-08-01T15:10:52Z", + "upvotes": 1, + "comment_count": 2, + "resolved": true, "labels": [ "self-hosting" ], "author": { - "login": "9teen90nine", - "html_url": "https://github.com/9teen90nine" + "login": "nithin1995", + "html_url": "https://github.com/nithin1995" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1843, - "title": "Support GigaChat model from LangChain", - "href": "https://github.com/orgs/langfuse/discussions/1843", - "created_at": "2024-04-25T09:24:07Z", + "number": 2808, + "title": "Dynamic prompt generation", + "href": "https://github.com/orgs/langfuse/discussions/2808", + "created_at": "2024-08-01T14:41:48Z", "upvotes": 1, - "comment_count": 0, - "resolved": false, + "comment_count": 2, + "resolved": true, "labels": [ - "integration-langchain" + "feat-prompt-management" ], "author": { - "login": "Rai220", - "html_url": "https://github.com/Rai220" + "login": "LLazzar", + "html_url": "https://github.com/LLazzar" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1830, - "title": "Decorator should also be able to return JSON or Dictionary object", - "href": "https://github.com/orgs/langfuse/discussions/1830", - "created_at": "2024-04-24T09:41:39Z", + "number": 2801, + "title": "Unable to update generation span after LLM invocation", + "href": "https://github.com/orgs/langfuse/discussions/2801", + "created_at": "2024-08-01T03:23:15Z", "upvotes": 1, "comment_count": 2, - "resolved": false, - "labels": [], + "resolved": true, + "labels": [ + "integration-langchain" + ], "author": { - "login": "nathan-vo810", - "html_url": "https://github.com/nathan-vo810" + "login": "Heucles", + "html_url": "https://github.com/Heucles" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1826, - "title": "Having a session_with_user client", - "href": "https://github.com/orgs/langfuse/discussions/1826", - "created_at": "2024-04-24T08:31:05Z", + "number": 2787, + "title": "Self-hosted (Railway) Authorization error (401) while connecting to host", + "href": "https://github.com/orgs/langfuse/discussions/2787", + "created_at": "2024-07-30T19:23:59Z", "upvotes": 1, - "comment_count": 0, + "comment_count": 3, "resolved": false, "labels": [], "author": { - "login": "rtzy7", - "html_url": "https://github.com/rtzy7" + "login": "vishnumallela", + "html_url": "https://github.com/vishnumallela" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1823, - "title": "Change `/api/chatCompletion` to be a standard OpenAI proxy on `/api/v1/chat/completions`?", - "href": "https://github.com/orgs/langfuse/discussions/1823", - "created_at": "2024-04-23T19:48:34Z", + "number": 2769, + "title": "Continue trace on Celery worker with observe decorator", + "href": "https://github.com/orgs/langfuse/discussions/2769", + "created_at": "2024-07-27T18:23:13Z", "upvotes": 1, - "comment_count": 1, - "resolved": false, - "labels": [], + "comment_count": 2, + "resolved": true, + "labels": [ + "integration-python-decorator" + ], "author": { - "login": "Manouchehri", - "html_url": "https://github.com/Manouchehri" + "login": "artefactop", + "html_url": "https://github.com/artefactop" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1820, - "title": "Auth using Microsoft Entra ID", - "href": "https://github.com/orgs/langfuse/discussions/1820", - "created_at": "2024-04-23T18:32:42Z", + "number": 2768, + "title": "How do i register the token count and cost for observe decorator", + "href": "https://github.com/orgs/langfuse/discussions/2768", + "created_at": "2024-07-27T14:47:58Z", "upvotes": 1, "comment_count": 2, - "resolved": false, + "resolved": true, "labels": [ - "✅ Done", - "self-hosting" + "integration-python-decorator", + "feat-cost-tracking" ], "author": { - "login": "Stadly", - "html_url": "https://github.com/Stadly" + "login": "yevkim", + "html_url": "https://github.com/yevkim" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1816, - "title": "Add a metrics endpoint for Prometheus", - "href": "https://github.com/orgs/langfuse/discussions/1816", - "created_at": "2024-04-23T14:33:38Z", - "upvotes": 5, + "number": 2767, + "title": "Missing evaluation metrics", + "href": "https://github.com/orgs/langfuse/discussions/2767", + "created_at": "2024-07-27T05:07:56Z", + "upvotes": 1, "comment_count": 2, - "resolved": false, + "resolved": true, "labels": [], "author": { - "login": "nolwennz", - "html_url": "https://github.com/nolwennz" + "login": "MayankBitcot", + "html_url": "https://github.com/MayankBitcot" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1813, - "title": "Provide an integration with Matomo Analytics so as for Posthog", - "href": "https://github.com/orgs/langfuse/discussions/1813", - "created_at": "2024-04-23T12:24:41Z", - "upvotes": 12, - "comment_count": 4, + "number": 2736, + "title": "Ability to upload Cost and Usage metrics in Langfuse for Gemini Models from LlamaIndex", + "href": "https://github.com/orgs/langfuse/discussions/2736", + "created_at": "2024-07-25T06:17:14Z", + "upvotes": 2, + "comment_count": 1, "resolved": false, "labels": [ - "integrations" + "integraton-llamaindex", + "feat-cost-tracking" ], "author": { - "login": "Chardonneaur", - "html_url": "https://github.com/Chardonneaur" + "login": "ansu86d", + "html_url": "https://github.com/ansu86d" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1800, - "title": "Add command r/command r plus via Azure Marketplace", - "href": "https://github.com/orgs/langfuse/discussions/1800", - "created_at": "2024-04-22T16:11:38Z", - "upvotes": 2, + "number": 2735, + "title": "Deployment on K8s", + "href": "https://github.com/orgs/langfuse/discussions/2735", + "created_at": "2024-07-25T04:38:19Z", + "upvotes": 1, "comment_count": 2, + "resolved": true, + "labels": [], + "author": { + "login": "nithin1995", + "html_url": "https://github.com/nithin1995" + }, + "category": "Support" + }, + { + "number": 2718, + "title": "How to ignore inputs when using LangChain?", + "href": "https://github.com/orgs/langfuse/discussions/2718", + "created_at": "2024-07-23T10:58:07Z", + "upvotes": 2, + "comment_count": 3, "resolved": false, "labels": [ - "bug", "integration-langchain" ], "author": { - "login": "jayfk", - "html_url": "https://github.com/jayfk" + "login": "justingodden", + "html_url": "https://github.com/justingodden" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1794, - "title": "User-level dashboard", - "href": "https://github.com/orgs/langfuse/discussions/1794", - "created_at": "2024-04-22T01:56:15Z", + "number": 2716, + "title": "Langgraph with langfuse", + "href": "https://github.com/orgs/langfuse/discussions/2716", + "created_at": "2024-07-23T09:12:20Z", "upvotes": 1, - "comment_count": 1, - "resolved": false, + "comment_count": 4, + "resolved": true, "labels": [ - "feat-users" + "integration-langchain" ], "author": { - "login": "secsilm", - "html_url": "https://github.com/secsilm" + "login": "MayankBitcot", + "html_url": "https://github.com/MayankBitcot" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1793, - "title": "Request chart of min/avg/max input/output tokens", - "href": "https://github.com/orgs/langfuse/discussions/1793", - "created_at": "2024-04-21T13:33:39Z", - "upvotes": 2, - "comment_count": 1, - "resolved": false, + "number": 2714, + "title": "Using langfuse without saving promps", + "href": "https://github.com/orgs/langfuse/discussions/2714", + "created_at": "2024-07-23T08:44:44Z", + "upvotes": 1, + "comment_count": 2, + "resolved": true, "labels": [], "author": { - "login": "secsilm", - "html_url": "https://github.com/secsilm" + "login": "molntamas", + "html_url": "https://github.com/molntamas" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1783, - "title": "Limit new user registration", - "href": "https://github.com/orgs/langfuse/discussions/1783", - "created_at": "2024-04-19T09:34:55Z", + "number": 2712, + "title": "cannot execute INSERT in a read-only transaction", + "href": "https://github.com/orgs/langfuse/discussions/2712", + "created_at": "2024-07-23T07:49:30Z", "upvotes": 1, - "comment_count": 1, + "comment_count": 2, "resolved": false, "labels": [ "self-hosting" ], "author": { - "login": "secsilm", - "html_url": "https://github.com/secsilm" + "login": "damianradowiecki", + "html_url": "https://github.com/damianradowiecki" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1781, - "title": "feature for python client:get traces by score", - "href": "https://github.com/orgs/langfuse/discussions/1781", - "created_at": "2024-04-19T09:12:48Z", - "upvotes": 1, + "number": 2706, + "title": "Disable tracing of input and output for nested elements with in a chain.", + "href": "https://github.com/orgs/langfuse/discussions/2706", + "created_at": "2024-07-22T16:17:53Z", + "upvotes": 2, "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "StarsSparkle", - "html_url": "https://github.com/StarsSparkle" + "login": "jaitd", + "html_url": "https://github.com/jaitd" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1780, - "title": "Log for Function Calling", - "href": "https://github.com/orgs/langfuse/discussions/1780", - "created_at": "2024-04-19T06:40:55Z", - "upvotes": 6, + "number": 2705, + "title": "Support for adding traces/observations/sessions/events/spans/generations related logging to LF via API", + "href": "https://github.com/orgs/langfuse/discussions/2705", + "created_at": "2024-07-22T12:57:05Z", + "upvotes": 1, "comment_count": 1, - "resolved": false, - "labels": [ - "integration-openai" - ], + "resolved": true, + "labels": [], "author": { - "login": "jaindees", - "html_url": "https://github.com/jaindees" + "login": "ashutoshsaboo", + "html_url": "https://github.com/ashutoshsaboo" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1776, - "title": "SSO: Cognito", - "href": "https://github.com/orgs/langfuse/discussions/1776", - "created_at": "2024-04-18T20:40:43Z", + "number": 2671, + "title": "Cannot connect prompt to trace when using Langchain AzureChatOpenai", + "href": "https://github.com/orgs/langfuse/discussions/2671", + "created_at": "2024-07-18T13:30:14Z", "upvotes": 1, "comment_count": 2, "resolved": false, + "labels": [], + "author": { + "login": "nihadazimli", + "html_url": "https://github.com/nihadazimli" + }, + "category": "Support" + }, + { + "number": 2658, + "title": "how to customize trace id when using callback handler in langchain integration", + "href": "https://github.com/orgs/langfuse/discussions/2658", + "created_at": "2024-07-17T13:38:18Z", + "upvotes": 3, + "comment_count": 2, + "resolved": true, "labels": [ - "✅ Done", - "self-hosting" + "integration-langchain" ], "author": { - "login": "theluk", - "html_url": "https://github.com/theluk" + "login": "shawnzhu", + "html_url": "https://github.com/shawnzhu" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1774, - "title": "PromptClient: Support mustache type export to langchain", - "href": "https://github.com/orgs/langfuse/discussions/1774", - "created_at": "2024-04-18T18:52:40Z", + "number": 2640, + "title": "Adding Scores to langfuse with dify", + "href": "https://github.com/orgs/langfuse/discussions/2640", + "created_at": "2024-07-16T16:00:11Z", + "upvotes": 2, + "comment_count": 1, + "resolved": true, + "labels": [ + "integration-dify" + ], + "author": { + "login": "shaquelsamir", + "html_url": "https://github.com/shaquelsamir" + }, + "category": "Support" + }, + { + "number": 2619, + "title": "How to add a function to current trace instead of seperate since it's outside lcel chain?", + "href": "https://github.com/orgs/langfuse/discussions/2619", + "created_at": "2024-07-12T07:08:47Z", "upvotes": 1, "comment_count": 1, - "resolved": false, - "labels": [], + "resolved": true, + "labels": [ + "integration-langchain" + ], "author": { - "login": "maxjacu", - "html_url": "https://github.com/maxjacu" + "login": "sarim2000", + "html_url": "https://github.com/sarim2000" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1770, - "title": "New REST API endpoint to get all prompts", - "href": "https://github.com/orgs/langfuse/discussions/1770", - "created_at": "2024-04-18T02:40:14Z", + "number": 2616, + "title": "Weird Output for scores when using fetch_traces()", + "href": "https://github.com/orgs/langfuse/discussions/2616", + "created_at": "2024-07-11T12:46:23Z", "upvotes": 1, "comment_count": 2, "resolved": false, "labels": [], "author": { - "login": "zoltan-fedor", - "html_url": "https://github.com/zoltan-fedor" + "login": "kevinpkaria", + "html_url": "https://github.com/kevinpkaria" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1769, - "title": "Request chart of the generation speed of tokens (tokens/s)", - "href": "https://github.com/orgs/langfuse/discussions/1769", - "created_at": "2024-04-18T02:14:37Z", - "upvotes": 1, + "number": 2600, + "title": "Add input Price and Output price for gemini-1.5-pro and gemini-1.5-flash in Models", + "href": "https://github.com/orgs/langfuse/discussions/2600", + "created_at": "2024-07-10T09:52:23Z", + "upvotes": 4, "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "secsilm", - "html_url": "https://github.com/secsilm" + "login": "fjeanchar", + "html_url": "https://github.com/fjeanchar" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1760, - "title": "annotation of traces in langfuse console?", - "href": "https://github.com/orgs/langfuse/discussions/1760", - "created_at": "2024-04-17T17:51:47Z", - "upvotes": 3, - "comment_count": 2, - "resolved": false, - "labels": [ - "✅ Done", - "feat-annotation" + "number": 2599, + "title": "Overall projects dashboard?", + "href": "https://github.com/orgs/langfuse/discussions/2599", + "created_at": "2024-07-10T09:09:02Z", + "upvotes": 1, + "comment_count": 1, + "resolved": true, + "labels": [ + "feat-dashboard" ], "author": { - "login": "erik-squared", - "html_url": "https://github.com/erik-squared" + "login": "justingodden", + "html_url": "https://github.com/justingodden" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1755, - "title": "feat: Prompt API Search (by tags)", - "href": "https://github.com/orgs/langfuse/discussions/1755", - "created_at": "2024-04-17T09:37:50Z", - "upvotes": 2, - "comment_count": 2, - "resolved": false, + "number": 2597, + "title": "[Errno 111] Connection refused when connecting to langfuse within docker compose", + "href": "https://github.com/orgs/langfuse/discussions/2597", + "created_at": "2024-07-10T09:00:34Z", + "upvotes": 1, + "comment_count": 1, + "resolved": true, "labels": [ - "✅ Done" + "self-hosting" ], "author": { - "login": "bryan-agicap", - "html_url": "https://github.com/bryan-agicap" + "login": "bspetrov", + "html_url": "https://github.com/bspetrov" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1744, - "title": "Is it possible to support Dify?", - "href": "https://github.com/orgs/langfuse/discussions/1744", - "created_at": "2024-04-16T20:55:11Z", - "upvotes": 2, + "number": 2595, + "title": "Migrate a local deployment of langfuse from one computer to another", + "href": "https://github.com/orgs/langfuse/discussions/2595", + "created_at": "2024-07-10T07:46:04Z", + "upvotes": 1, "comment_count": 2, - "resolved": false, + "resolved": true, "labels": [ - "integrations", - "✅ Done", - "integration-dify" + "self-hosting" ], "author": { - "login": "jtsang4", - "html_url": "https://github.com/jtsang4" + "login": "nithin1995", + "html_url": "https://github.com/nithin1995" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1716, - "title": "feat: Add `TRACE_EVENTS` flag", - "href": "https://github.com/orgs/langfuse/discussions/1716", - "created_at": "2024-04-15T12:29:30Z", + "number": 2590, + "title": "Experiments running but inputs and outputs of LLM are not linked to dashboard", + "href": "https://github.com/orgs/langfuse/discussions/2590", + "created_at": "2024-07-09T18:29:22Z", "upvotes": 1, - "comment_count": 2, + "comment_count": 1, "resolved": false, - "labels": [ - "✅ Done" - ], + "labels": [], "author": { - "login": "JorisAndrade", - "html_url": "https://github.com/JorisAndrade" + "login": "IbrahimAhmed03", + "html_url": "https://github.com/IbrahimAhmed03" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1715, - "title": "Add support for ZITADEL OIDC", - "href": "https://github.com/orgs/langfuse/discussions/1715", - "created_at": "2024-04-15T12:27:54Z", + "number": 2574, + "title": "how to embed langfuse dashboard in other tool", + "href": "https://github.com/orgs/langfuse/discussions/2574", + "created_at": "2024-07-08T21:24:13Z", "upvotes": 1, "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [ - "self-hosting" + "feat-dashboard" ], "author": { - "login": "bitfactory-sem-denbroeder", - "html_url": "https://github.com/bitfactory-sem-denbroeder" + "login": "deepakdeore2004", + "html_url": "https://github.com/deepakdeore2004" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1711, - "title": "Webhook to trigger CI/CD pipeline when new prompt version is created", - "href": "https://github.com/orgs/langfuse/discussions/1711", - "created_at": "2024-04-14T13:46:30Z", - "upvotes": 5, - "comment_count": 1, + "number": 2567, + "title": "How to use prompt management with openai JS?", + "href": "https://github.com/orgs/langfuse/discussions/2567", + "created_at": "2024-07-08T08:22:49Z", + "upvotes": 1, + "comment_count": 2, "resolved": false, "labels": [ - "feat-prompt-management", - "feat-api" + "feat-prompt-management" ], "author": { - "login": "tamdoEH", - "html_url": "https://github.com/tamdoEH" + "login": "oscarmorrison", + "html_url": "https://github.com/oscarmorrison" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1710, - "title": "Review feature for prompt deployment", - "href": "https://github.com/orgs/langfuse/discussions/1710", - "created_at": "2024-04-14T13:39:50Z", - "upvotes": 3, + "number": 2564, + "title": "Update metadata when using OpenAI JS Integration", + "href": "https://github.com/orgs/langfuse/discussions/2564", + "created_at": "2024-07-08T07:37:38Z", + "upvotes": 1, "comment_count": 3, "resolved": false, - "labels": [ - "feat-prompt-management" - ], + "labels": [], "author": { - "login": "tamdoEH", - "html_url": "https://github.com/tamdoEH" + "login": "oscarmorrison", + "html_url": "https://github.com/oscarmorrison" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1707, - "title": "API for custom model <> token usage pricing", - "href": "https://github.com/orgs/langfuse/discussions/1707", - "created_at": "2024-04-13T22:37:38Z", - "upvotes": 3, + "number": 2527, + "title": "Can't set trace params e.g session_id when using with llhama_index", + "href": "https://github.com/orgs/langfuse/discussions/2527", + "created_at": "2024-07-02T20:41:53Z", + "upvotes": 2, "comment_count": 2, "resolved": false, "labels": [ - "✅ Done", - "feat-api" + "integraton-llamaindex" ], "author": { - "login": "rydamckinney", - "html_url": "https://github.com/rydamckinney" + "login": "famoraes", + "html_url": "https://github.com/famoraes" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1696, - "title": "Export & import for prompts, copy between projects", - "href": "https://github.com/orgs/langfuse/discussions/1696", - "created_at": "2024-04-12T20:28:47Z", - "upvotes": 16, - "comment_count": 7, - "resolved": false, + "number": 2498, + "title": "Method to update prompt template for Langserve use case", + "href": "https://github.com/orgs/langfuse/discussions/2498", + "created_at": "2024-07-01T11:20:08Z", + "upvotes": 2, + "comment_count": 1, + "resolved": true, "labels": [ - "feat-prompt-management" + "integration-langchain" ], "author": { - "login": "zoltan-fedor", - "html_url": "https://github.com/zoltan-fedor" + "login": "quadcube", + "html_url": "https://github.com/quadcube" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1692, - "title": "Read-only prompt keys?", - "href": "https://github.com/orgs/langfuse/discussions/1692", - "created_at": "2024-04-12T00:57:44Z", - "upvotes": 2, + "number": 2486, + "title": "Cost of embedding in langfuse", + "href": "https://github.com/orgs/langfuse/discussions/2486", + "created_at": "2024-06-29T07:50:06Z", + "upvotes": 1, "comment_count": 2, - "resolved": false, + "resolved": true, "labels": [], "author": { - "login": "Manouchehri", - "html_url": "https://github.com/Manouchehri" + "login": "Amitt1412", + "html_url": "https://github.com/Amitt1412" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1671, - "title": "Ability to run langfuse in tests automatically without manual involvement", - "href": "https://github.com/orgs/langfuse/discussions/1671", - "created_at": "2024-04-11T05:29:44Z", + "number": 2481, + "title": "Getting all traces logged in a timerange for custom scoring", + "href": "https://github.com/orgs/langfuse/discussions/2481", + "created_at": "2024-06-28T12:09:14Z", "upvotes": 1, - "comment_count": 2, - "resolved": false, + "comment_count": 1, + "resolved": true, "labels": [ - "✅ Done", - "self-hosting" + "feat-scores" ], "author": { - "login": "SinghCoder", - "html_url": "https://github.com/SinghCoder" + "login": "sanandnarayan", + "html_url": "https://github.com/sanandnarayan" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1664, - "title": "\"Task\" and \"Bot\" core abstractions", - "href": "https://github.com/orgs/langfuse/discussions/1664", - "created_at": "2024-04-10T20:24:53Z", - "upvotes": 2, - "comment_count": 1, - "resolved": false, + "number": 2479, + "title": "Cost of embedding", + "href": "https://github.com/orgs/langfuse/discussions/2479", + "created_at": "2024-06-28T06:58:16Z", + "upvotes": 1, + "comment_count": 3, + "resolved": true, "labels": [], "author": { - "login": "sfarthin", - "html_url": "https://github.com/sfarthin" + "login": "Amitt1412", + "html_url": "https://github.com/Amitt1412" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1660, - "title": "Prompt Composability", - "href": "https://github.com/orgs/langfuse/discussions/1660", - "created_at": "2024-04-10T15:25:05Z", - "upvotes": 10, - "comment_count": 5, - "resolved": false, + "number": 2455, + "title": "Getting issue with local setup", + "href": "https://github.com/orgs/langfuse/discussions/2455", + "created_at": "2024-06-27T10:23:02Z", + "upvotes": 1, + "comment_count": 1, + "resolved": true, "labels": [ - "feat-prompt-management" + "self-hosting" ], "author": { - "login": "meissnereric", - "html_url": "https://github.com/meissnereric" + "login": "kiranraut7709", + "html_url": "https://github.com/kiranraut7709" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1633, - "title": "feat: Function Calling Under OpenAI Format", - "href": "https://github.com/orgs/langfuse/discussions/1633", - "created_at": "2024-04-09T08:49:58Z", - "upvotes": 2, + "number": 2447, + "title": "Access observation id in langchain runnable", + "href": "https://github.com/orgs/langfuse/discussions/2447", + "created_at": "2024-06-26T21:03:07Z", + "upvotes": 4, "comment_count": 1, "resolved": false, "labels": [ - "feat-playground" + "integration-langchain" ], "author": { - "login": "anhphong22", - "html_url": "https://github.com/anhphong22" + "login": "snikch", + "html_url": "https://github.com/snikch" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1630, - "title": "Groq - Mixtral", - "href": "https://github.com/orgs/langfuse/discussions/1630", - "created_at": "2024-04-09T05:11:12Z", + "number": 2431, + "title": "Trying to work with llama3 in Azure using AzureMLChatOnlineEndpoint but no cost showing up", + "href": "https://github.com/orgs/langfuse/discussions/2431", + "created_at": "2024-06-25T21:20:25Z", "upvotes": 1, - "comment_count": 1, + "comment_count": 2, "resolved": false, "labels": [], "author": { - "login": "mike4lyf", - "html_url": "https://github.com/mike4lyf" + "login": "spacepirate0001", + "html_url": "https://github.com/spacepirate0001" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1627, - "title": "VertexAI support", - "href": "https://github.com/orgs/langfuse/discussions/1627", - "created_at": "2024-04-08T22:43:38Z", - "upvotes": 3, - "comment_count": 1, + "number": 2416, + "title": "some tests failed for langfuse-js", + "href": "https://github.com/orgs/langfuse/discussions/2416", + "created_at": "2024-06-25T04:31:35Z", + "upvotes": 1, + "comment_count": 3, "resolved": false, - "labels": [ - "integration-langchain" - ], + "labels": [], "author": { - "login": "eles13", - "html_url": "https://github.com/eles13" + "login": "4t8dd", + "html_url": "https://github.com/4t8dd" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1613, - "title": "[Feature] Add a score value filter", - "href": "https://github.com/orgs/langfuse/discussions/1613", - "created_at": "2024-04-08T07:58:58Z", + "number": 2415, + "title": "AUTH AZURE AD returns AADSTS9002325: Proof Key for Code Exchange is required for cross-origin authorization code redemption.", + "href": "https://github.com/orgs/langfuse/discussions/2415", + "created_at": "2024-06-24T18:00:45Z", "upvotes": 1, - "comment_count": 0, - "resolved": false, + "comment_count": 1, + "resolved": true, "labels": [], "author": { - "login": "Hacky-DH", - "html_url": "https://github.com/Hacky-DH" + "login": "spacepirate0001", + "html_url": "https://github.com/spacepirate0001" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1612, - "title": "DSPY integration", - "href": "https://github.com/orgs/langfuse/discussions/1612", - "created_at": "2024-04-07T18:54:32Z", + "number": 2401, + "title": "Trying to understand why in Langfuse Trace under Stream Completion I get this output:", + "href": "https://github.com/orgs/langfuse/discussions/2401", + "created_at": "2024-06-21T12:22:38Z", "upvotes": 1, "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "wdhitchc", - "html_url": "https://github.com/wdhitchc" + "login": "howtodoml", + "html_url": "https://github.com/howtodoml" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1566, - "title": "LangchainCallbackHandler httpx_client not accessible", - "href": "https://github.com/orgs/langfuse/discussions/1566", - "created_at": "2024-04-03T09:18:12Z", + "number": 2385, + "title": "Modify trace after getting response from OpenAI", + "href": "https://github.com/orgs/langfuse/discussions/2385", + "created_at": "2024-06-20T18:00:09Z", "upvotes": 2, - "comment_count": 1, + "comment_count": 3, "resolved": false, - "labels": [ - "integration-langchain" - ], + "labels": [], "author": { - "login": "dlmatt", - "html_url": "https://github.com/dlmatt" + "login": "tylerlittlefield", + "html_url": "https://github.com/tylerlittlefield" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1541, - "title": "Disable events logging", - "href": "https://github.com/orgs/langfuse/discussions/1541", - "created_at": "2024-03-29T18:08:13Z", - "upvotes": 8, - "comment_count": 3, + "number": 2381, + "title": "LangFuse UI doesn't show all traces despite debug logging saying that all are sent to the server", + "href": "https://github.com/orgs/langfuse/discussions/2381", + "created_at": "2024-06-20T14:02:12Z", + "upvotes": 3, + "comment_count": 1, "resolved": false, - "labels": [ - "✅ Done" - ], + "labels": [], "author": { - "login": "omgovich", - "html_url": "https://github.com/omgovich" + "login": "stokedout", + "html_url": "https://github.com/stokedout" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1535, - "title": "Request for Integration of Mistral Models into Langfuse", - "href": "https://github.com/orgs/langfuse/discussions/1535", - "created_at": "2024-03-28T16:10:25Z", - "upvotes": 5, + "number": 2379, + "title": "Langfuse was not able to parse the LLM model", + "href": "https://github.com/orgs/langfuse/discussions/2379", + "created_at": "2024-06-20T08:56:57Z", + "upvotes": 1, "comment_count": 2, - "resolved": false, + "resolved": true, "labels": [ - "integrations", - "✅ Done" + "integration-langchain", + "integration-amazon-bedrock" ], "author": { - "login": "Zherdev1996", - "html_url": "https://github.com/Zherdev1996" + "login": "fdbvega", + "html_url": "https://github.com/fdbvega" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1533, - "title": "Managing Embeddings", - "href": "https://github.com/orgs/langfuse/discussions/1533", - "created_at": "2024-03-28T15:36:21Z", + "number": 2377, + "title": "Can't see any traces or logs when running Langfuse locally.", + "href": "https://github.com/orgs/langfuse/discussions/2377", + "created_at": "2024-06-19T23:51:46Z", "upvotes": 1, - "comment_count": 0, - "resolved": false, - "labels": [], + "comment_count": 6, + "resolved": true, + "labels": [ + "self-hosting" + ], "author": { - "login": "Botman-Hotman", - "html_url": "https://github.com/Botman-Hotman" + "login": "ibdafna", + "html_url": "https://github.com/ibdafna" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1513, - "title": "Langfuse Trace with OpenAI Assistants", - "href": "https://github.com/orgs/langfuse/discussions/1513", - "created_at": "2024-03-27T11:47:19Z", - "upvotes": 10, - "comment_count": 5, + "number": 2373, + "title": "Not recording llamaindex response. Please help", + "href": "https://github.com/orgs/langfuse/discussions/2373", + "created_at": "2024-06-19T19:26:30Z", + "upvotes": 1, + "comment_count": 1, "resolved": false, "labels": [ - "integration-openai" + "integraton-llamaindex" ], "author": { - "login": "marco-introvigne", - "html_url": "https://github.com/marco-introvigne" + "login": "mraguth", + "html_url": "https://github.com/mraguth" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1500, - "title": "Comment column can have any name the user chooses, there could be multiple comment columns per metric", - "href": "https://github.com/orgs/langfuse/discussions/1500", - "created_at": "2024-03-26T08:42:45Z", + "number": 2366, + "title": "Add label to prompt from Langfuse UI", + "href": "https://github.com/orgs/langfuse/discussions/2366", + "created_at": "2024-06-18T14:26:14Z", "upvotes": 1, "comment_count": 1, - "resolved": false, - "labels": [], + "resolved": true, + "labels": [ + "feat-prompt-management" + ], "author": { - "login": "emailic", - "html_url": "https://github.com/emailic" + "login": "charlieviettq", + "html_url": "https://github.com/charlieviettq" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1488, - "title": "Make Langfuse switchable", - "href": "https://github.com/orgs/langfuse/discussions/1488", - "created_at": "2024-03-25T21:05:17Z", + "number": 2354, + "title": "Link Prompt & Trace with langchain CallbackHandler", + "href": "https://github.com/orgs/langfuse/discussions/2354", + "created_at": "2024-06-17T08:21:56Z", "upvotes": 2, - "comment_count": 1, - "resolved": false, + "comment_count": 2, + "resolved": true, "labels": [], "author": { - "login": "MrMojoR", - "html_url": "https://github.com/MrMojoR" + "login": "derevyan", + "html_url": "https://github.com/derevyan" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1479, - "title": "Add total filtered Generations to UI", - "href": "https://github.com/orgs/langfuse/discussions/1479", - "created_at": "2024-03-24T17:19:51Z", + "number": 2353, + "title": "[Migration] Auto-migration DB error when upgrade langfuse version", + "href": "https://github.com/orgs/langfuse/discussions/2353", + "created_at": "2024-06-17T08:02:03Z", "upvotes": 1, - "comment_count": 0, - "resolved": false, - "labels": [], + "comment_count": 1, + "resolved": true, + "labels": [ + "self-hosting" + ], "author": { - "login": "PhiBrandon", - "html_url": "https://github.com/PhiBrandon" - }, - "category": "Ideas" + "login": "charlieviettq", + "html_url": "https://github.com/charlieviettq" + }, + "category": "Support" }, { - "number": 1461, - "title": "Loose prisma datasource db provider.", - "href": "https://github.com/orgs/langfuse/discussions/1461", - "created_at": "2024-03-21T13:09:15Z", + "number": 2351, + "title": "Customize Langchain callback handler to add spans to existing traces created by separate thread/process", + "href": "https://github.com/orgs/langfuse/discussions/2351", + "created_at": "2024-06-17T03:41:57Z", "upvotes": 1, - "comment_count": 1, + "comment_count": 2, "resolved": false, "labels": [ - "self-hosting" + "integration-langchain" ], "author": { - "login": "muazhari", - "html_url": "https://github.com/muazhari" + "login": "Chengdyc", + "html_url": "https://github.com/Chengdyc" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1460, - "title": "Langfuse images for arm64 (mac silicon, some cloud vms)", - "href": "https://github.com/orgs/langfuse/discussions/1460", - "created_at": "2024-03-21T05:48:56Z", + "number": 2348, + "title": "not serializable object of type: LangfuseResponseGeneratorSync", + "href": "https://github.com/orgs/langfuse/discussions/2348", + "created_at": "2024-06-14T22:33:09Z", "upvotes": 1, "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "verdverm", - "html_url": "https://github.com/verdverm" + "login": "howtodoml", + "html_url": "https://github.com/howtodoml" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1454, - "title": "Add a time based filter option", - "href": "https://github.com/orgs/langfuse/discussions/1454", - "created_at": "2024-03-20T16:06:15Z", - "upvotes": 4, - "comment_count": 2, + "number": 2346, + "title": "Chain two prompts", + "href": "https://github.com/orgs/langfuse/discussions/2346", + "created_at": "2024-06-14T08:20:48Z", + "upvotes": 1, + "comment_count": 1, "resolved": false, "labels": [ - "✅ Done" + "feat-prompt-management", + "integration-langchain" ], "author": { - "login": "Kurumindla-Kranthivardhan", - "html_url": "https://github.com/Kurumindla-Kranthivardhan" + "login": "darkostanimirovic", + "html_url": "https://github.com/darkostanimirovic" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1431, - "title": "Integration with Langserve", - "href": "https://github.com/orgs/langfuse/discussions/1431", - "created_at": "2024-03-18T08:40:32Z", + "number": 2344, + "title": "Can you use internal Kubernetes DNS to receive traffic from other Kubernetes workloads?", + "href": "https://github.com/orgs/langfuse/discussions/2344", + "created_at": "2024-06-14T08:15:36Z", "upvotes": 1, - "comment_count": 2, - "resolved": false, + "comment_count": 1, + "resolved": true, "labels": [], "author": { - "login": "Haxeebraja", - "html_url": "https://github.com/Haxeebraja" - }, - "category": "Ideas" - }, - { - "number": 1428, - "title": "allow to delete sessions", - "href": "https://github.com/orgs/langfuse/discussions/1428", - "created_at": "2024-03-16T15:56:35Z", - "upvotes": 4, - "comment_count": 2, - "resolved": false, - "labels": [ - "feat-sessions" - ], - "author": { - "login": "morganveyret", - "html_url": "https://github.com/morganveyret" + "login": "smeasures", + "html_url": "https://github.com/smeasures" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1427, - "title": "Toggle collection of traces on a per-trace basis", - "href": "https://github.com/orgs/langfuse/discussions/1427", - "created_at": "2024-03-16T15:19:07Z", + "number": 2342, + "title": "Getting trace id out of a langchain runnable", + "href": "https://github.com/orgs/langfuse/discussions/2342", + "created_at": "2024-06-14T01:15:26Z", "upvotes": 1, "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [], "author": { - "login": "foragerr", - "html_url": "https://github.com/foragerr" + "login": "salmanmashayekh", + "html_url": "https://github.com/salmanmashayekh" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1415, - "title": "Add a \"correction\" field on the user feedback info", - "href": "https://github.com/orgs/langfuse/discussions/1415", - "created_at": "2024-03-14T14:18:30Z", - "upvotes": 3, + "number": 2338, + "title": "Can RBAC Role Assignment be done using Azure AD SSO token?", + "href": "https://github.com/orgs/langfuse/discussions/2338", + "created_at": "2024-06-13T11:29:59Z", + "upvotes": 4, "comment_count": 2, "resolved": false, - "labels": [], + "labels": [ + "feat-rbac", + "self-hosting" + ], "author": { - "login": "almirb", - "html_url": "https://github.com/almirb" + "login": "joshwright10", + "html_url": "https://github.com/joshwright10" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1408, - "title": "Trace Latencies line chart please", - "href": "https://github.com/orgs/langfuse/discussions/1408", - "created_at": "2024-03-13T15:00:35Z", - "upvotes": 2, - "comment_count": 0, + "number": 2298, + "title": "llamaindex: function_call does not generate subspans for a custom AsyncBaseTool class", + "href": "https://github.com/orgs/langfuse/discussions/2298", + "created_at": "2024-06-11T09:28:33Z", + "upvotes": 1, + "comment_count": 3, "resolved": false, - "labels": [], + "labels": [ + "integraton-llamaindex" + ], "author": { - "login": "Huarong", - "html_url": "https://github.com/Huarong" + "login": "ootkin", + "html_url": "https://github.com/ootkin" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1398, - "title": "What standardized dataset formats are people using?", - "href": "https://github.com/orgs/langfuse/discussions/1398", - "created_at": "2024-03-12T15:47:53Z", - "upvotes": 2, - "comment_count": 0, - "resolved": false, - "labels": [ - "feat-datasets" - ], + "number": 2290, + "title": "There are no evaluation component in the 2.50 version", + "href": "https://github.com/orgs/langfuse/discussions/2290", + "created_at": "2024-06-10T19:36:30Z", + "upvotes": 1, + "comment_count": 1, + "resolved": true, + "labels": [], "author": { - "login": "norton120", - "html_url": "https://github.com/norton120" + "login": "yanlinchn", + "html_url": "https://github.com/yanlinchn" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1397, - "title": "Reorder columns in tables", - "href": "https://github.com/orgs/langfuse/discussions/1397", - "created_at": "2024-03-12T14:45:37Z", + "number": 2254, + "title": "Unable to get hello world program working due to incorrect public key / host", + "href": "https://github.com/orgs/langfuse/discussions/2254", + "created_at": "2024-06-06T09:13:53Z", "upvotes": 3, - "comment_count": 2, - "resolved": false, + "comment_count": 1, + "resolved": true, "labels": [ - "✅ Done" + "self-hosting" ], "author": { - "login": "marcklingen", - "html_url": "https://github.com/marcklingen" + "login": "mr-nano", + "html_url": "https://github.com/mr-nano" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1394, - "title": "Adding a \"Select all\" button to tables", - "href": "https://github.com/orgs/langfuse/discussions/1394", - "created_at": "2024-03-12T10:37:23Z", - "upvotes": 2, + "number": 2244, + "title": "2 traces generated instead of 1", + "href": "https://github.com/orgs/langfuse/discussions/2244", + "created_at": "2024-06-05T17:06:52Z", + "upvotes": 1, "comment_count": 1, - "resolved": false, - "labels": [], + "resolved": true, + "labels": [ + "integration-langchain", + "feat-datasets" + ], "author": { - "login": "samyxdev", - "html_url": "https://github.com/samyxdev" + "login": "nithin1995", + "html_url": "https://github.com/nithin1995" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1392, - "title": "Hide prompts/completions (privacy)", - "href": "https://github.com/orgs/langfuse/discussions/1392", - "created_at": "2024-03-12T07:48:22Z", - "upvotes": 10, + "number": 2211, + "title": "How to clean the langfuse cache data periodically?", + "href": "https://github.com/orgs/langfuse/discussions/2211", + "created_at": "2024-06-03T07:40:22Z", + "upvotes": 1, "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [], "author": { - "login": "ziodave", - "html_url": "https://github.com/ziodave" + "login": "He-Huang", + "html_url": "https://github.com/He-Huang" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1391, - "title": "Enhancements for Langfuse User Sign-Up Control", - "href": "https://github.com/orgs/langfuse/discussions/1391", - "created_at": "2024-03-11T23:38:18Z", - "upvotes": 7, - "comment_count": 0, - "resolved": false, + "number": 2207, + "title": "Model Cost does not show up", + "href": "https://github.com/orgs/langfuse/discussions/2207", + "created_at": "2024-06-02T11:08:58Z", + "upvotes": 1, + "comment_count": 1, + "resolved": true, "labels": [ - "self-hosting" + "feat-cost-tracking" ], "author": { - "login": "udit-001", - "html_url": "https://github.com/udit-001" - }, - "category": "Ideas" + "login": "jannikstdl", + "html_url": "https://github.com/jannikstdl" + }, + "category": "Support" }, { - "number": 1385, - "title": "bug: Not allowing to limit Azure AD authentication for selected users in same tenent", - "href": "https://github.com/orgs/langfuse/discussions/1385", - "created_at": "2024-03-11T17:42:05Z", - "upvotes": 2, - "comment_count": 2, - "resolved": false, + "number": 2206, + "title": "Possibilities for auth", + "href": "https://github.com/orgs/langfuse/discussions/2206", + "created_at": "2024-06-01T23:38:39Z", + "upvotes": 1, + "comment_count": 1, + "resolved": true, "labels": [ "self-hosting" ], "author": { - "login": "SathinduGA", - "html_url": "https://github.com/SathinduGA" - }, - "category": "Ideas" - }, - { - "number": 1378, - "title": "Aggregate cost per span", - "href": "https://github.com/orgs/langfuse/discussions/1378", - "created_at": "2024-03-08T16:06:04Z", - "upvotes": 2, - "comment_count": 1, - "resolved": false, - "labels": [], - "author": { - "login": "ladislasdellinger", - "html_url": "https://github.com/ladislasdellinger" + "login": "Getty", + "html_url": "https://github.com/Getty" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1376, - "title": "Support parsing LLM model for ChatOllama", - "href": "https://github.com/orgs/langfuse/discussions/1376", - "created_at": "2024-03-08T14:13:58Z", - "upvotes": 1, - "comment_count": 1, + "number": 2200, + "title": "How does one replace values for a ChatPromptTemplate for Langchain", + "href": "https://github.com/orgs/langfuse/discussions/2200", + "created_at": "2024-05-31T19:39:14Z", + "upvotes": 0, + "comment_count": 2, "resolved": false, "labels": [], "author": { - "login": "kleebaum", - "html_url": "https://github.com/kleebaum" + "login": "ajram23", + "html_url": "https://github.com/ajram23" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1374, - "title": "Add LLamaIndexTS example", - "href": "https://github.com/orgs/langfuse/discussions/1374", - "created_at": "2024-03-08T00:42:30Z", + "number": 2188, + "title": "Time to first token?", + "href": "https://github.com/orgs/langfuse/discussions/2188", + "created_at": "2024-05-30T12:45:37Z", "upvotes": 1, "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "luandro", - "html_url": "https://github.com/luandro" + "login": "jrcapicua", + "html_url": "https://github.com/jrcapicua" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1361, - "title": "Add a retention window for unnecessary data", - "href": "https://github.com/orgs/langfuse/discussions/1361", - "created_at": "2024-03-07T14:42:07Z", + "number": 2172, + "title": "How to reuse callback handler in langchain integration?", + "href": "https://github.com/orgs/langfuse/discussions/2172", + "created_at": "2024-05-28T15:25:39Z", "upvotes": 1, - "comment_count": 1, + "comment_count": 2, "resolved": false, - "labels": [], + "labels": [ + "integration-langchain" + ], "author": { - "login": "albertoforcato", - "html_url": "https://github.com/albertoforcato" + "login": "SebastianStehle", + "html_url": "https://github.com/SebastianStehle" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1337, - "title": "Support for Langchain ChatAnthropic", - "href": "https://github.com/orgs/langfuse/discussions/1337", - "created_at": "2024-03-06T10:42:36Z", + "number": 2165, + "title": "Auth0 not working", + "href": "https://github.com/orgs/langfuse/discussions/2165", + "created_at": "2024-05-28T11:38:43Z", "upvotes": 2, - "comment_count": 1, + "comment_count": 3, "resolved": false, "labels": [ - "integration-langchain" + "self-hosting" ], "author": { - "login": "dotrunghieu96", - "html_url": "https://github.com/dotrunghieu96" + "login": "mforell", + "html_url": "https://github.com/mforell" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1331, - "title": "Adding cost to the datasets tables", - "href": "https://github.com/orgs/langfuse/discussions/1331", - "created_at": "2024-03-05T18:53:25Z", - "upvotes": 1, + "number": 2162, + "title": "Connect Prompt ID to GENERATIONS when integrate Langfuse in LangChain.", + "href": "https://github.com/orgs/langfuse/discussions/2162", + "created_at": "2024-05-28T00:56:34Z", + "upvotes": 8, "comment_count": 1, - "resolved": false, - "labels": [ - "✅ Done" - ], + "resolved": true, + "labels": [], "author": { - "login": "ladislasdellinger", - "html_url": "https://github.com/ladislasdellinger" + "login": "hdp173", + "html_url": "https://github.com/hdp173" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1321, - "title": "More prompt environments/tags instead of just `active`", - "href": "https://github.com/orgs/langfuse/discussions/1321", - "created_at": "2024-03-05T11:05:17Z", - "upvotes": 3, + "number": 2154, + "title": "__root__ -> items -> 0 -> datasetName field required (type=value_error.missing)", + "href": "https://github.com/orgs/langfuse/discussions/2154", + "created_at": "2024-05-27T11:26:24Z", + "upvotes": 1, "comment_count": 2, "resolved": false, - "labels": [ - "feat-prompt-management", - "✅ Done" - ], + "labels": [], "author": { - "login": "ladislasdellinger", - "html_url": "https://github.com/ladislasdellinger" + "login": "emailic", + "html_url": "https://github.com/emailic" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1309, - "title": "Log used prompt on generations when using Langchain", - "href": "https://github.com/orgs/langfuse/discussions/1309", - "created_at": "2024-03-04T09:03:35Z", - "upvotes": 5, - "comment_count": 2, + "number": 2152, + "title": "get_langchain_handler() alwasy start from trace root.", + "href": "https://github.com/orgs/langfuse/discussions/2152", + "created_at": "2024-05-27T10:47:42Z", + "upvotes": 1, + "comment_count": 1, "resolved": false, "labels": [ - "integration-langchain", - "✅ Done" + "integration-langchain" ], "author": { - "login": "TobinShaw", - "html_url": "https://github.com/TobinShaw" + "login": "hdp173", + "html_url": "https://github.com/hdp173" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1306, - "title": "[TS] Generating through OpenAI SDK directly", - "href": "https://github.com/orgs/langfuse/discussions/1306", - "created_at": "2024-03-02T10:56:07Z", + "number": 2146, + "title": "Customize LangChain Integration.", + "href": "https://github.com/orgs/langfuse/discussions/2146", + "created_at": "2024-05-27T06:12:41Z", "upvotes": 1, - "comment_count": 2, - "resolved": false, + "comment_count": 1, + "resolved": true, "labels": [ - "integrations", - "integration-openai", - "✅ Done" + "integration-langchain" ], "author": { - "login": "louis030195", - "html_url": "https://github.com/louis030195" + "login": "hdp173", + "html_url": "https://github.com/hdp173" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1305, - "title": "Allow Project-Specific Default Time Ranges", - "href": "https://github.com/orgs/langfuse/discussions/1305", - "created_at": "2024-03-02T03:42:42Z", + "number": 2145, + "title": "Need help on syntax for editing project roles", + "href": "https://github.com/orgs/langfuse/discussions/2145", + "created_at": "2024-05-26T18:50:59Z", "upvotes": 1, - "comment_count": 1, + "comment_count": 2, "resolved": false, "labels": [], "author": { - "login": "dkindlund", - "html_url": "https://github.com/dkindlund" + "login": "hrithik062", + "html_url": "https://github.com/hrithik062" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1300, - "title": "Consider adding support for DSPy", - "href": "https://github.com/orgs/langfuse/discussions/1300", - "created_at": "2024-03-01T15:42:23Z", + "number": 2142, + "title": "Unable to login with SSO", + "href": "https://github.com/orgs/langfuse/discussions/2142", + "created_at": "2024-05-24T18:40:35Z", "upvotes": 1, - "comment_count": 2, - "resolved": false, + "comment_count": 1, + "resolved": true, "labels": [], "author": { - "login": "sutyum", - "html_url": "https://github.com/sutyum" + "login": "alecor191", + "html_url": "https://github.com/alecor191" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1295, - "title": "Support DSPy", - "href": "https://github.com/orgs/langfuse/discussions/1295", - "created_at": "2024-03-01T11:34:05Z", - "upvotes": 19, - "comment_count": 9, - "resolved": false, - "labels": [ - "integrations", - "✅ Done", - "integration-dspy" - ], + "number": 2137, + "title": "Latency (Avg) showing 0 for dataset runs", + "href": "https://github.com/orgs/langfuse/discussions/2137", + "created_at": "2024-05-24T07:33:51Z", + "upvotes": 4, + "comment_count": 1, + "resolved": true, + "labels": [], "author": { - "login": "sandangel", - "html_url": "https://github.com/sandangel" + "login": "karthik-TLIT", + "html_url": "https://github.com/karthik-TLIT" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1291, - "title": "Integration: LlamaIndex JS/TS", - "href": "https://github.com/orgs/langfuse/discussions/1291", - "created_at": "2024-02-29T11:56:42Z", - "upvotes": 33, - "comment_count": 3, - "resolved": false, - "labels": [ - "sdk-js", - "integrations", - "integraton-llamaindex" - ], - "author": { - "login": "marcklingen", - "html_url": "https://github.com/marcklingen" - }, - "category": "Ideas" - }, - { - "number": 1287, - "title": "Add filtering by errors", - "href": "https://github.com/orgs/langfuse/discussions/1287", - "created_at": "2024-02-28T22:52:59Z", + "number": 2130, + "title": "Evaluations Not Available in Self-Hosted Version?", + "href": "https://github.com/orgs/langfuse/discussions/2130", + "created_at": "2024-05-23T14:31:16Z", "upvotes": 3, - "comment_count": 2, - "resolved": false, + "comment_count": 1, + "resolved": true, "labels": [ - "ui" + "feat-evals" ], "author": { - "login": "ankerbachryhl", - "html_url": "https://github.com/ankerbachryhl" + "login": "c0pper", + "html_url": "https://github.com/c0pper" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1277, - "title": "Add Audit Logging System to Worker Tasks", - "href": "https://github.com/orgs/langfuse/discussions/1277", - "created_at": "2024-02-28T11:53:15Z", + "number": 2114, + "title": "Careers link on HN is broken", + "href": "https://github.com/orgs/langfuse/discussions/2114", + "created_at": "2024-05-21T07:28:26Z", "upvotes": 1, - "comment_count": 3, - "resolved": false, + "comment_count": 1, + "resolved": true, "labels": [], "author": { - "login": "khareyash05", - "html_url": "https://github.com/khareyash05" + "login": "davherrmann", + "html_url": "https://github.com/davherrmann" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1268, - "title": "Possible with different units for input and output", - "href": "https://github.com/orgs/langfuse/discussions/1268", - "created_at": "2024-02-27T13:45:21Z", - "upvotes": 1, + "number": 2111, + "title": "Token cost is counted even if langchains LLM cache is utilized", + "href": "https://github.com/orgs/langfuse/discussions/2111", + "created_at": "2024-05-20T23:23:44Z", + "upvotes": 5, "comment_count": 1, - "resolved": false, - "labels": [], + "resolved": true, + "labels": [ + "integration-langchain" + ], "author": { - "login": "Stadly", - "html_url": "https://github.com/Stadly" + "login": "arthurGrigo", + "html_url": "https://github.com/arthurGrigo" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1264, - "title": "ChatML/ChatMessage Prompt Templates", - "href": "https://github.com/orgs/langfuse/discussions/1264", - "created_at": "2024-02-27T01:59:05Z", - "upvotes": 4, - "comment_count": 3, - "resolved": false, - "labels": [ - "feat-prompt-management", - "✅ Done" - ], + "number": 2106, + "title": "Hability to store pre defined initial message", + "href": "https://github.com/orgs/langfuse/discussions/2106", + "created_at": "2024-05-20T20:40:23Z", + "upvotes": 1, + "comment_count": 1, + "resolved": true, + "labels": [], "author": { - "login": "tuan3w", - "html_url": "https://github.com/tuan3w" + "login": "Lunik", + "html_url": "https://github.com/Lunik" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1258, - "title": "Dashboard for all projects of an organization", - "href": "https://github.com/orgs/langfuse/discussions/1258", - "created_at": "2024-02-26T20:12:22Z", - "upvotes": 11, - "comment_count": 2, - "resolved": false, + "number": 2099, + "title": "Deleting Duplicate Items in a Dataset", + "href": "https://github.com/orgs/langfuse/discussions/2099", + "created_at": "2024-05-20T09:48:58Z", + "upvotes": 1, + "comment_count": 1, + "resolved": true, "labels": [ - "feat-dashboard" + "feat-datasets" ], "author": { - "login": "aiakubovich", - "html_url": "https://github.com/aiakubovich" + "login": "emailic", + "html_url": "https://github.com/emailic" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1221, - "title": "Add Haystack integration", - "href": "https://github.com/orgs/langfuse/discussions/1221", - "created_at": "2024-02-21T13:06:06Z", - "upvotes": 9, - "comment_count": 2, - "resolved": false, - "labels": [ - "integrations", - "✅ Done", - "integration-haystack" - ], + "number": 2098, + "title": "Wrong model for billing", + "href": "https://github.com/orgs/langfuse/discussions/2098", + "created_at": "2024-05-20T09:29:33Z", + "upvotes": 2, + "comment_count": 1, + "resolved": true, + "labels": [], "author": { - "login": "marcklingen", - "html_url": "https://github.com/marcklingen" + "login": "wdxwj", + "html_url": "https://github.com/wdxwj" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1220, - "title": "Export to S3", - "href": "https://github.com/orgs/langfuse/discussions/1220", - "created_at": "2024-02-21T12:46:58Z", + "number": 2077, + "title": "Error Encountered During Migration for Applying Newly Supported Models to Existing Data", + "href": "https://github.com/orgs/langfuse/discussions/2077", + "created_at": "2024-05-16T15:30:33Z", "upvotes": 1, - "comment_count": 0, + "comment_count": 1, "resolved": false, - "labels": [ - "integrations" - ], + "labels": [], "author": { - "login": "marcklingen", - "html_url": "https://github.com/marcklingen" + "login": "Zherdev1996", + "html_url": "https://github.com/Zherdev1996" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1219, - "title": "Export to BigQuery", - "href": "https://github.com/orgs/langfuse/discussions/1219", - "created_at": "2024-02-21T12:46:26Z", - "upvotes": 4, - "comment_count": 0, - "resolved": false, + "number": 2073, + "title": "Will Playground be available for self-hosted?", + "href": "https://github.com/orgs/langfuse/discussions/2073", + "created_at": "2024-05-16T12:40:30Z", + "upvotes": 5, + "comment_count": 2, + "resolved": true, "labels": [ - "integrations" + "feat-playground" ], "author": { - "login": "marcklingen", - "html_url": "https://github.com/marcklingen" + "login": "sabatesduran", + "html_url": "https://github.com/sabatesduran" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1212, - "title": "Adding support for async Langchain methods", - "href": "https://github.com/orgs/langfuse/discussions/1212", - "created_at": "2024-02-20T13:09:19Z", - "upvotes": 24, - "comment_count": 5, + "number": 2070, + "title": "Error on Local Deployment: \"Evals available in cloud only\" when Adding LLM API Key", + "href": "https://github.com/orgs/langfuse/discussions/2070", + "created_at": "2024-05-16T09:02:43Z", + "upvotes": 1, + "comment_count": 1, "resolved": false, - "labels": [ - "integration-langchain", - "✅ Done" - ], + "labels": [], "author": { - "login": "marcklingen", - "html_url": "https://github.com/marcklingen" + "login": "youngsj951104", + "html_url": "https://github.com/youngsj951104" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1208, - "title": "Add Images in Tracing", - "href": "https://github.com/orgs/langfuse/discussions/1208", - "created_at": "2024-02-20T00:41:41Z", - "upvotes": 11, - "comment_count": 2, - "resolved": false, - "labels": [ - "✅ Done", - "feat-multimodal" - ], + "number": 2069, + "title": "Does langfuse uses any Postgres-only features?", + "href": "https://github.com/orgs/langfuse/discussions/2069", + "created_at": "2024-05-16T06:36:16Z", + "upvotes": 2, + "comment_count": 1, + "resolved": true, + "labels": [], "author": { - "login": "aiakubovich", - "html_url": "https://github.com/aiakubovich" + "login": "rohts-patil", + "html_url": "https://github.com/rohts-patil" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1190, - "title": "Request to add 75 percentile under Model latency section as shown in image below", - "href": "https://github.com/orgs/langfuse/discussions/1190", - "created_at": "2024-02-16T21:41:29Z", + "number": 2063, + "title": "Exception(\"parent run not found\")", + "href": "https://github.com/orgs/langfuse/discussions/2063", + "created_at": "2024-05-15T14:45:00Z", "upvotes": 1, "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "ssubburaj85", - "html_url": "https://github.com/ssubburaj85" + "login": "emailic", + "html_url": "https://github.com/emailic" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1170, - "title": "LLM Playground", - "href": "https://github.com/orgs/langfuse/discussions/1170", - "created_at": "2024-02-15T17:44:42Z", - "upvotes": 7, - "comment_count": 6, - "resolved": false, + "number": 2042, + "title": "Availability of evals when self-hosting", + "href": "https://github.com/orgs/langfuse/discussions/2042", + "created_at": "2024-05-13T14:06:11Z", + "upvotes": 2, + "comment_count": 1, + "resolved": true, "labels": [ - "feat-prompt-management", - "✅ Done", - "feat-playground" + "feat-evals" ], "author": { - "login": "reza-mohideen", - "html_url": "https://github.com/reza-mohideen" + "login": "derevyan", + "html_url": "https://github.com/derevyan" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1159, - "title": "Looking for users (that are migrating off of something) to co-build Langfuse integration with", - "href": "https://github.com/orgs/langfuse/discussions/1159", - "created_at": "2024-02-14T19:05:27Z", - "upvotes": 2, + "number": 2031, + "title": "Starting a demo from JS SDK and local running Langfuse, but cannot create init trace currently", + "href": "https://github.com/orgs/langfuse/discussions/2031", + "created_at": "2024-05-10T08:49:40Z", + "upvotes": 1, "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "skrawcz", - "html_url": "https://github.com/skrawcz" + "login": "JamieLee0510", + "html_url": "https://github.com/JamieLee0510" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1156, - "title": "Possible to set timestamp when creating trace", - "href": "https://github.com/orgs/langfuse/discussions/1156", - "created_at": "2024-02-14T14:26:22Z", + "number": 2009, + "title": "Custom name of Span when using Langchain handler instead of RunnableSequence", + "href": "https://github.com/orgs/langfuse/discussions/2009", + "created_at": "2024-05-08T12:23:08Z", "upvotes": 1, "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [ - "sdk-js" + "integration-langchain" ], "author": { - "login": "Stadly", - "html_url": "https://github.com/Stadly" + "login": "nathan-vo810", + "html_url": "https://github.com/nathan-vo810" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1154, - "title": "Dedicated user object which can include groups/teams and other attributes", - "href": "https://github.com/orgs/langfuse/discussions/1154", - "created_at": "2024-02-14T09:45:40Z", - "upvotes": 6, - "comment_count": 5, + "number": 2008, + "title": "Not able to add dataset item", + "href": "https://github.com/orgs/langfuse/discussions/2008", + "created_at": "2024-05-08T12:11:04Z", + "upvotes": 1, + "comment_count": 1, "resolved": false, - "labels": [ - "feat-users" - ], + "labels": [], "author": { - "login": "bryan-agicap", - "html_url": "https://github.com/bryan-agicap" + "login": "nithin1995", + "html_url": "https://github.com/nithin1995" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1133, - "title": "API to delete scores", - "href": "https://github.com/orgs/langfuse/discussions/1133", - "created_at": "2024-02-12T11:19:59Z", - "upvotes": 2, + "number": 2007, + "title": "Langfuse in PHP. Which are the minimum functions needed to implement?", + "href": "https://github.com/orgs/langfuse/discussions/2007", + "created_at": "2024-05-08T10:55:07Z", + "upvotes": 1, "comment_count": 1, "resolved": false, + "labels": [], + "author": { + "login": "phpia", + "html_url": "https://github.com/phpia" + }, + "category": "Support" + }, + { + "number": 2005, + "title": "How to get trace data with langfuse-langchain in JS/TS?", + "href": "https://github.com/orgs/langfuse/discussions/2005", + "created_at": "2024-05-08T08:08:42Z", + "upvotes": 1, + "comment_count": 2, + "resolved": true, "labels": [ - "feat-api", - "feat-scores" + "integration-langchain" ], "author": { - "login": "Jason-CKY", - "html_url": "https://github.com/Jason-CKY" + "login": "AdiletBekmuratov", + "html_url": "https://github.com/AdiletBekmuratov" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1128, - "title": "Display all traces within a session", - "href": "https://github.com/orgs/langfuse/discussions/1128", - "created_at": "2024-02-10T17:36:48Z", + "number": 1982, + "title": "trace doesn't work with .batch handler on langserve", + "href": "https://github.com/orgs/langfuse/discussions/1982", + "created_at": "2024-05-06T02:32:30Z", "upvotes": 2, - "comment_count": 1, + "comment_count": 0, "resolved": false, - "labels": [ - "ui", - "feat-sessions" - ], + "labels": [], "author": { - "login": "benm5678", - "html_url": "https://github.com/benm5678" + "login": "restuprajna", + "html_url": "https://github.com/restuprajna" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1118, - "title": "[Simple Feature/WebUI] Adding a button to hide the sidebar", - "href": "https://github.com/orgs/langfuse/discussions/1118", - "created_at": "2024-02-09T09:43:34Z", - "upvotes": 3, + "number": 1979, + "title": "get_prompt function failed in langfuse-python 2.28.3", + "href": "https://github.com/orgs/langfuse/discussions/1979", + "created_at": "2024-05-05T19:57:40Z", + "upvotes": 1, "comment_count": 1, - "resolved": false, - "labels": [ - "ui" - ], + "resolved": true, + "labels": [], "author": { - "login": "samyxdev", - "html_url": "https://github.com/samyxdev" + "login": "nathan-vo810", + "html_url": "https://github.com/nathan-vo810" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1115, - "title": "Prioritize traces captured from LangGraph by relevance", - "href": "https://github.com/orgs/langfuse/discussions/1115", - "created_at": "2024-02-08T06:44:34Z", - "upvotes": 8, - "comment_count": 3, + "number": 1969, + "title": "How to utilize a dataset w/ typescript and langchain integration", + "href": "https://github.com/orgs/langfuse/discussions/1969", + "created_at": "2024-05-03T15:22:21Z", + "upvotes": 1, + "comment_count": 2, "resolved": false, "labels": [ - "ui", - "integration-langchain" + "✅ Done", + "feat-datasets" ], "author": { - "login": "litagent", - "html_url": "https://github.com/litagent" + "login": "sahellebusch", + "html_url": "https://github.com/sahellebusch" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1114, - "title": "Pulling prompt/completions via API", - "href": "https://github.com/orgs/langfuse/discussions/1114", - "created_at": "2024-02-08T00:52:10Z", - "upvotes": 1, - "comment_count": 1, - "resolved": false, - "labels": [], + "number": 1957, + "title": "DevOps: What is the best way to create separate Langfuse instances in different environments: Dev, Test, QA, Prod?", + "href": "https://github.com/orgs/langfuse/discussions/1957", + "created_at": "2024-05-02T21:28:07Z", + "upvotes": 2, + "comment_count": 2, + "resolved": true, + "labels": [ + "self-hosting" + ], "author": { - "login": "mukundt", - "html_url": "https://github.com/mukundt" + "login": "aiakubovich", + "html_url": "https://github.com/aiakubovich" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1106, - "title": "Prompt version comments", - "href": "https://github.com/orgs/langfuse/discussions/1106", - "created_at": "2024-02-07T15:38:07Z", - "upvotes": 5, - "comment_count": 2, + "number": 1952, + "title": "How to communicate trace-id between backend and frontend ? (langchain+langserve integration)", + "href": "https://github.com/orgs/langfuse/discussions/1952", + "created_at": "2024-05-02T13:48:20Z", + "upvotes": 1, + "comment_count": 3, "resolved": false, "labels": [ - "ui", - "feat-prompt-management", - "✅ Done" + "integration-langchain" ], "author": { - "login": "mukundt", - "html_url": "https://github.com/mukundt" + "login": "Sinnaeve", + "html_url": "https://github.com/Sinnaeve" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1105, - "title": "\"Git diff\" view between two prompt versions", - "href": "https://github.com/orgs/langfuse/discussions/1105", - "created_at": "2024-02-07T15:37:18Z", - "upvotes": 13, + "number": 1946, + "title": "Not able to build docker image from web/Dockerfile", + "href": "https://github.com/orgs/langfuse/discussions/1946", + "created_at": "2024-05-02T09:41:18Z", + "upvotes": 2, "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [ - "ui", - "feat-prompt-management" + "self-hosting" ], "author": { - "login": "mukundt", - "html_url": "https://github.com/mukundt" + "login": "Subham0793", + "html_url": "https://github.com/Subham0793" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1097, - "title": "Ability to post-process generation data", - "href": "https://github.com/orgs/langfuse/discussions/1097", - "created_at": "2024-02-06T17:45:58Z", + "number": 1940, + "title": "Simple Prompt -> LLM error with Usage Object?", + "href": "https://github.com/orgs/langfuse/discussions/1940", + "created_at": "2024-05-01T13:47:14Z", "upvotes": 2, "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [], "author": { - "login": "denisergashbaev", - "html_url": "https://github.com/denisergashbaev" + "login": "tzilkha", + "html_url": "https://github.com/tzilkha" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1096, - "title": "[Python SDK] Link prompt to OpenAI Chat Completion directly", - "href": "https://github.com/orgs/langfuse/discussions/1096", - "created_at": "2024-02-06T17:19:29Z", + "number": 1864, + "title": "Can't see traces in the webUI if callback_handler passed to LLM init constructor", + "href": "https://github.com/orgs/langfuse/discussions/1864", + "created_at": "2024-04-25T21:01:54Z", "upvotes": 2, - "comment_count": 2, + "comment_count": 1, "resolved": false, + "labels": [], + "author": { + "login": "gabrielfior", + "html_url": "https://github.com/gabrielfior" + }, + "category": "Support" + }, + { + "number": 1860, + "title": "Alter generation names with LangChain integration", + "href": "https://github.com/orgs/langfuse/discussions/1860", + "created_at": "2024-04-25T18:12:35Z", + "upvotes": 1, + "comment_count": 1, + "resolved": true, "labels": [ - "sdk-python", - "feat-prompt-management", - "integration-openai" + "integration-langchain" ], "author": { - "login": "fancyweb", - "html_url": "https://github.com/fancyweb" + "login": "nic-asnes-klaviyo", + "html_url": "https://github.com/nic-asnes-klaviyo" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1089, - "title": "Use JWTs for API private key", - "href": "https://github.com/orgs/langfuse/discussions/1089", - "created_at": "2024-02-06T02:11:39Z", - "upvotes": 1, - "comment_count": 2, + "number": 1831, + "title": "how to check only output tokens and models costs related to only output tokens?", + "href": "https://github.com/orgs/langfuse/discussions/1831", + "created_at": "2024-04-24T12:27:17Z", + "upvotes": 2, + "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "Manouchehri", - "html_url": "https://github.com/Manouchehri" + "login": "manishiitg", + "html_url": "https://github.com/manishiitg" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1082, - "title": "Add LLM call duration on session and trace table", - "href": "https://github.com/orgs/langfuse/discussions/1082", - "created_at": "2024-02-05T20:52:23Z", + "number": 1814, + "title": "Deploy to heroku", + "href": "https://github.com/orgs/langfuse/discussions/1814", + "created_at": "2024-04-23T13:56:27Z", "upvotes": 1, - "comment_count": 1, - "resolved": false, + "comment_count": 2, + "resolved": true, "labels": [ - "ui" + "self-hosting" ], "author": { - "login": "Manouchehri", - "html_url": "https://github.com/Manouchehri" + "login": "MarcoSteinke", + "html_url": "https://github.com/MarcoSteinke" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1077, - "title": "Flowise: Allow adding metadata in API call to populate Langfuse trace metadata", - "href": "https://github.com/orgs/langfuse/discussions/1077", - "created_at": "2024-02-05T15:55:07Z", + "number": 1788, + "title": "Need help with resolving long runtimes when Langfuse tracing is enabled", + "href": "https://github.com/orgs/langfuse/discussions/1788", + "created_at": "2024-04-19T17:46:05Z", "upvotes": 2, - "comment_count": 0, + "comment_count": 1, "resolved": false, - "labels": [ - "integration-flowise" - ], + "labels": [], "author": { - "login": "jpmin7", - "html_url": "https://github.com/jpmin7" + "login": "pooja1423", + "html_url": "https://github.com/pooja1423" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1076, - "title": "Flowise: Allow Langfuse traceId to be set or passed on with API response", - "href": "https://github.com/orgs/langfuse/discussions/1076", - "created_at": "2024-02-05T14:58:23Z", + "number": 1785, + "title": "How to limit the number of traces", + "href": "https://github.com/orgs/langfuse/discussions/1785", + "created_at": "2024-04-19T10:29:17Z", "upvotes": 1, "comment_count": 1, "resolved": false, - "labels": [ - "sdk-js", - "integration-flowise" - ], + "labels": [], "author": { - "login": "jpmin7", - "html_url": "https://github.com/jpmin7" + "login": "secsilm", + "html_url": "https://github.com/secsilm" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1074, - "title": "Model costs in terms of energy for self hosted models (or cloud hosted)", - "href": "https://github.com/orgs/langfuse/discussions/1074", - "created_at": "2024-02-05T10:15:27Z", + "number": 1773, + "title": "Flowise 1.6.5 can not Trace", + "href": "https://github.com/orgs/langfuse/discussions/1773", + "created_at": "2024-04-18T11:55:32Z", "upvotes": 1, "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "vquilon", - "html_url": "https://github.com/vquilon" + "login": "lknbv5", + "html_url": "https://github.com/lknbv5" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1073, - "title": "Use proper logger for backend API to make it configurable", - "href": "https://github.com/orgs/langfuse/discussions/1073", - "created_at": "2024-02-05T09:19:01Z", - "upvotes": 3, - "comment_count": 5, + "number": 1759, + "title": "How to get generations and scores in the same trace when using OpenAI sdk or other tools", + "href": "https://github.com/orgs/langfuse/discussions/1759", + "created_at": "2024-04-17T15:56:51Z", + "upvotes": 1, + "comment_count": 1, "resolved": false, - "labels": [ - "✅ Done", - "self-hosting" - ], + "labels": [], "author": { - "login": "code-haven", - "html_url": "https://github.com/code-haven" + "login": "databill86", + "html_url": "https://github.com/databill86" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1049, - "title": "API Examples for Generations", - "href": "https://github.com/orgs/langfuse/discussions/1049", - "created_at": "2024-02-02T07:02:08Z", - "upvotes": 2, + "number": 1712, + "title": "Invalid public key", + "href": "https://github.com/orgs/langfuse/discussions/1712", + "created_at": "2024-04-14T18:11:51Z", + "upvotes": 1, "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "Manouchehri", - "html_url": "https://github.com/Manouchehri" + "login": "taaha3244", + "html_url": "https://github.com/taaha3244" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1048, - "title": "Allow sharing traces as a self contained HTML file via presigned S3 URL", - "href": "https://github.com/orgs/langfuse/discussions/1048", - "created_at": "2024-02-02T06:05:47Z", - "upvotes": 2, - "comment_count": 0, + "number": 1672, + "title": "Cookies not allowed", + "href": "https://github.com/orgs/langfuse/discussions/1672", + "created_at": "2024-04-11T07:43:53Z", + "upvotes": 1, + "comment_count": 3, "resolved": false, "labels": [], "author": { - "login": "Manouchehri", - "html_url": "https://github.com/Manouchehri" + "login": "danielpirs", + "html_url": "https://github.com/danielpirs" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1043, - "title": "Ability to query entities from SDK", - "href": "https://github.com/orgs/langfuse/discussions/1043", - "created_at": "2024-02-01T23:51:00Z", - "upvotes": 4, - "comment_count": 2, + "number": 1649, + "title": "Run Langchain Evaluations on data in Langfuse , Why is the prompt not considered, and could this lead to evaluation flaws?", + "href": "https://github.com/orgs/langfuse/discussions/1649", + "created_at": "2024-04-10T05:25:28Z", + "upvotes": 1, + "comment_count": 1, "resolved": false, + "labels": [], + "author": { + "login": "pengpengIlove", + "html_url": "https://github.com/pengpengIlove" + }, + "category": "Support" + }, + { + "number": 1610, + "title": "Scoring a trace after the LLM chain returns", + "href": "https://github.com/orgs/langfuse/discussions/1610", + "created_at": "2024-04-07T15:12:34Z", + "upvotes": 1, + "comment_count": 1, + "resolved": true, "labels": [ - "feat-api" + "feat-scores" ], "author": { - "login": "Pranov1", - "html_url": "https://github.com/Pranov1" + "login": "pooja1423", + "html_url": "https://github.com/pooja1423" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1033, - "title": "Subscribe to Langfuse Events via Webhooks", - "href": "https://github.com/orgs/langfuse/discussions/1033", - "created_at": "2024-02-01T18:59:56Z", - "upvotes": 34, - "comment_count": 6, + "number": 1601, + "title": "Okta auth got `read ECONNRESET`", + "href": "https://github.com/orgs/langfuse/discussions/1601", + "created_at": "2024-04-04T03:46:08Z", + "upvotes": 1, + "comment_count": 2, "resolved": false, "labels": [], "author": { - "login": "marcklingen", - "html_url": "https://github.com/marcklingen" + "login": "tmwatchanan", + "html_url": "https://github.com/tmwatchanan" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1032, - "title": "Periodic reports (email or slack)", - "href": "https://github.com/orgs/langfuse/discussions/1032", - "created_at": "2024-02-01T18:57:42Z", - "upvotes": 12, + "number": 1538, + "title": "Trace input is null when passing in nodes, or Documents with transformations to VectorStoreIndex constructor", + "href": "https://github.com/orgs/langfuse/discussions/1538", + "created_at": "2024-03-29T00:30:49Z", + "upvotes": 1, "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "marcklingen", - "html_url": "https://github.com/marcklingen" + "login": "mwertheim-zco", + "html_url": "https://github.com/mwertheim-zco" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1021, - "title": "Add `Embedding` observation type", - "href": "https://github.com/orgs/langfuse/discussions/1021", - "created_at": "2024-02-01T03:15:17Z", - "upvotes": 55, - "comment_count": 2, - "resolved": false, - "labels": [], + "number": 1536, + "title": "Tracing and Session support on Integrations like LiteLLM Proxy and others and Is LangFuse logging a background process?", + "href": "https://github.com/orgs/langfuse/discussions/1536", + "created_at": "2024-03-28T20:22:49Z", + "upvotes": 1, + "comment_count": 1, + "resolved": true, + "labels": [ + "integration-litellm", + "feat-sessions" + ], "author": { - "login": "marcklingen", - "html_url": "https://github.com/marcklingen" + "login": "Harryalways317", + "html_url": "https://github.com/Harryalways317" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1020, - "title": "Leveraging Azure OpenAI Diagnostic Settings?", - "href": "https://github.com/orgs/langfuse/discussions/1020", - "created_at": "2024-02-01T02:58:54Z", - "upvotes": 1, - "comment_count": 0, + "number": 1528, + "title": "Aggregated project from multiple langfuse servers", + "href": "https://github.com/orgs/langfuse/discussions/1528", + "created_at": "2024-03-28T09:01:37Z", + "upvotes": 3, + "comment_count": 1, "resolved": false, - "labels": [ - "integration-openai", - "integration-litellm" - ], + "labels": [], "author": { - "login": "Manouchehri", - "html_url": "https://github.com/Manouchehri" + "login": "juan-abia", + "html_url": "https://github.com/juan-abia" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1011, - "title": "Configurable dashboards", - "href": "https://github.com/orgs/langfuse/discussions/1011", - "created_at": "2024-01-31T13:40:59Z", - "upvotes": 17, + "number": 1524, + "title": "How to add default user and project to self-hosted docker?", + "href": "https://github.com/orgs/langfuse/discussions/1524", + "created_at": "2024-03-28T08:00:07Z", + "upvotes": 1, "comment_count": 2, - "resolved": false, + "resolved": true, "labels": [ - "ui", - "feat-dashboard" + "self-hosting" ], "author": { - "login": "marcklingen", - "html_url": "https://github.com/marcklingen" + "login": "tzsombor95", + "html_url": "https://github.com/tzsombor95" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1010, - "title": "Add new integration: LLM Proxy", - "href": "https://github.com/orgs/langfuse/discussions/1010", - "created_at": "2024-01-31T12:40:35Z", - "upvotes": 2, + "number": 1512, + "title": "[Alerts] Connect to Slack", + "href": "https://github.com/orgs/langfuse/discussions/1512", + "created_at": "2024-03-27T08:04:49Z", + "upvotes": 4, "comment_count": 1, - "resolved": false, - "labels": [ - "integrations" - ], + "resolved": true, + "labels": [], "author": { - "login": "marcklingen", - "html_url": "https://github.com/marcklingen" + "login": "hypernovas", + "html_url": "https://github.com/hypernovas" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1009, - "title": "Decorator-based integration with Langfuse", - "href": "https://github.com/orgs/langfuse/discussions/1009", - "created_at": "2024-01-31T12:19:26Z", - "upvotes": 7, - "comment_count": 3, - "resolved": false, + "number": 1486, + "title": "Update/delete score using python sdk", + "href": "https://github.com/orgs/langfuse/discussions/1486", + "created_at": "2024-03-25T20:13:55Z", + "upvotes": 5, + "comment_count": 1, + "resolved": true, "labels": [ - "sdk-python", - "integrations", - "✅ Done", - "integration-python-decorator" + "feat-scores" ], "author": { - "login": "marcklingen", - "html_url": "https://github.com/marcklingen" + "login": "msanand", + "html_url": "https://github.com/msanand" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1004, - "title": "should work with OpenAI-compatible self-hosted endpoints", - "href": "https://github.com/orgs/langfuse/discussions/1004", - "created_at": "2024-01-31T09:04:28Z", - "upvotes": 2, - "comment_count": 2, - "resolved": false, + "number": 1481, + "title": "502-Bad Request", + "href": "https://github.com/orgs/langfuse/discussions/1481", + "created_at": "2024-03-22T13:06:18Z", + "upvotes": 1, + "comment_count": 3, + "resolved": true, "labels": [ - "sdk-python", - "integration-openai" + "self-hosting" ], "author": { - "login": "7flash", - "html_url": "https://github.com/7flash" + "login": "tbarbito", + "html_url": "https://github.com/tbarbito" }, - "category": "Ideas" + "category": "Support" }, { - "number": 999, - "title": "Users should be able to pass metadata and tags via `overrideConfig` when using the Flowise integration", - "href": "https://github.com/orgs/langfuse/discussions/999", - "created_at": "2024-01-30T19:52:41Z", - "upvotes": 2, + "number": 1466, + "title": "bug: Potential bug with AzureAD auth setup", + "href": "https://github.com/orgs/langfuse/discussions/1466", + "created_at": "2024-03-22T07:12:43Z", + "upvotes": 1, "comment_count": 1, "resolved": false, "labels": [ - "sdk-js", - "integration-flowise", - "✅ Done" + "self-hosting" ], "author": { - "login": "giorgosera", - "html_url": "https://github.com/giorgosera" + "login": "mprudra", + "html_url": "https://github.com/mprudra" }, - "category": "Ideas" + "category": "Support" }, { - "number": 991, - "title": "Inferring cost of trace from metadata field if optionally provided", - "href": "https://github.com/orgs/langfuse/discussions/991", - "created_at": "2024-01-30T07:38:56Z", + "number": 1449, + "title": "Langfuse session ID when using Chainlit", + "href": "https://github.com/orgs/langfuse/discussions/1449", + "created_at": "2024-03-20T00:57:09Z", "upvotes": 1, "comment_count": 2, "resolved": false, "labels": [], "author": { - "login": "sumba101", - "html_url": "https://github.com/sumba101" + "login": "tituslhy", + "html_url": "https://github.com/tituslhy" }, - "category": "Ideas" + "category": "Support" }, { - "number": 990, - "title": "filtering sessions with metadata", - "href": "https://github.com/orgs/langfuse/discussions/990", - "created_at": "2024-01-30T06:21:42Z", - "upvotes": 7, - "comment_count": 2, + "number": 1445, + "title": "Linking dataset run items with existing callback handler", + "href": "https://github.com/orgs/langfuse/discussions/1445", + "created_at": "2024-03-19T16:54:54Z", + "upvotes": 1, + "comment_count": 1, "resolved": false, "labels": [ - "ui", - "feat-sessions", - "feat-metadata" + "feat-datasets" ], "author": { - "login": "litagent", - "html_url": "https://github.com/litagent" + "login": "subandwho", + "html_url": "https://github.com/subandwho" }, - "category": "Ideas" + "category": "Support" }, { - "number": 989, - "title": "Enable Collaboration Platforms for Project Members", - "href": "https://github.com/orgs/langfuse/discussions/989", - "created_at": "2024-01-30T04:00:26Z", + "number": 1434, + "title": "Add UserID and Feedback when using LlamaIndex Integration", + "href": "https://github.com/orgs/langfuse/discussions/1434", + "created_at": "2024-03-18T20:24:29Z", "upvotes": 1, "comment_count": 1, - "resolved": false, - "labels": [], - "author": { - "login": "khareyash05", - "html_url": "https://github.com/khareyash05" - }, - "category": "Ideas" - }, - { - "number": 982, - "title": "Supporting OpenAI Vision", - "href": "https://github.com/orgs/langfuse/discussions/982", - "created_at": "2024-01-29T19:06:44Z", - "upvotes": 7, - "comment_count": 2, - "resolved": false, + "resolved": true, "labels": [ - "integration-openai", - "✅ Done", - "feat-multimodal" + "integraton-llamaindex" ], "author": { - "login": "pj747", - "html_url": "https://github.com/pj747" + "login": "skelleex", + "html_url": "https://github.com/skelleex" }, - "category": "Ideas" + "category": "Support" }, { - "number": 980, - "title": "Comments on objects across the Langfuse UI", - "href": "https://github.com/orgs/langfuse/discussions/980", - "created_at": "2024-01-29T18:21:03Z", - "upvotes": 3, - "comment_count": 3, + "number": 1432, + "title": "langfuse.api.resources.commons.errors.not_found_error.NotFoundError: status_code: 404, body: {'message': 'Observation not found'}", + "href": "https://github.com/orgs/langfuse/discussions/1432", + "created_at": "2024-03-18T13:29:05Z", + "upvotes": 1, + "comment_count": 1, "resolved": false, - "labels": [ - "ui", - "✅ Done" - ], + "labels": [], "author": { - "login": "marcklingen", - "html_url": "https://github.com/marcklingen" + "login": "emailic", + "html_url": "https://github.com/emailic" }, - "category": "Ideas" + "category": "Support" }, { - "number": 976, - "title": "Support alternative databases next to Postgres, e.g. MySQL", - "href": "https://github.com/orgs/langfuse/discussions/976", - "created_at": "2024-01-28T21:44:11Z", - "upvotes": 3, - "comment_count": 6, - "resolved": false, - "labels": [ - "self-hosting" - ], + "number": 1429, + "title": "Hybrid usage Langfuse among OpenAI calls as well Langchain", + "href": "https://github.com/orgs/langfuse/discussions/1429", + "created_at": "2024-03-17T14:09:57Z", + "upvotes": 1, + "comment_count": 1, + "resolved": true, + "labels": [], "author": { - "login": "zoltan-fedor", - "html_url": "https://github.com/zoltan-fedor" + "login": "mikeon", + "html_url": "https://github.com/mikeon" }, - "category": "Ideas" + "category": "Support" }, { - "number": 969, - "title": "Flowise - OpenAI Assistant cost tracking", - "href": "https://github.com/orgs/langfuse/discussions/969", - "created_at": "2024-01-26T18:04:07Z", + "number": 1420, + "title": "Datasets list / by id", + "href": "https://github.com/orgs/langfuse/discussions/1420", + "created_at": "2024-03-15T02:22:27Z", "upvotes": 2, - "comment_count": 0, - "resolved": false, + "comment_count": 2, + "resolved": true, "labels": [ - "integration-flowise" + "feat-datasets" ], "author": { - "login": "jozsef-gereby", - "html_url": "https://github.com/jozsef-gereby" + "login": "norton120", + "html_url": "https://github.com/norton120" }, - "category": "Ideas" + "category": "Support" }, { - "number": 964, - "title": "Latency metrics - Time to first token, Tokens per second", - "href": "https://github.com/orgs/langfuse/discussions/964", - "created_at": "2024-01-26T15:37:01Z", - "upvotes": 8, - "comment_count": 3, - "resolved": false, - "labels": [ - "✅ Done" - ], + "number": 1417, + "title": "Running Langfuse in Kubernetes", + "href": "https://github.com/orgs/langfuse/discussions/1417", + "created_at": "2024-03-14T19:59:42Z", + "upvotes": 1, + "comment_count": 2, + "resolved": true, + "labels": [], "author": { - "login": "nikcaryo-super", - "html_url": "https://github.com/nikcaryo-super" + "login": "mikeon", + "html_url": "https://github.com/mikeon" }, - "category": "Ideas" + "category": "Support" }, { - "number": 958, - "title": "LLM calls captured via Langchain integration should match what’s sent to the LLM", - "href": "https://github.com/orgs/langfuse/discussions/958", - "created_at": "2024-01-25T16:45:38Z", - "upvotes": 3, - "comment_count": 2, + "number": 1382, + "title": "Match LLMs from AWS Bedrock to added model definition", + "href": "https://github.com/orgs/langfuse/discussions/1382", + "created_at": "2024-03-09T08:28:53Z", + "upvotes": 2, + "comment_count": 0, "resolved": false, "labels": [], "author": { - "login": "benm5678", - "html_url": "https://github.com/benm5678" + "login": "DominikNeumaier", + "html_url": "https://github.com/DominikNeumaier" }, - "category": "Ideas" + "category": "Support" }, { - "number": 953, - "title": "Improve integration with flowise", - "href": "https://github.com/orgs/langfuse/discussions/953", - "created_at": "2024-01-24T19:57:06Z", + "number": 1380, + "title": "Langfuse flush() taking a long time and hangs", + "href": "https://github.com/orgs/langfuse/discussions/1380", + "created_at": "2024-03-09T00:09:55Z", "upvotes": 1, "comment_count": 2, - "resolved": false, - "labels": [ - "sdk-js", - "integration-flowise" - ], + "resolved": true, + "labels": [], "author": { - "login": "tsiougkosn", - "html_url": "https://github.com/tsiougkosn" + "login": "venu-shapley", + "html_url": "https://github.com/venu-shapley" }, - "category": "Ideas" + "category": "Support" }, { - "number": 941, - "title": "Dark mode", - "href": "https://github.com/orgs/langfuse/discussions/941", - "created_at": "2024-01-24T05:52:30Z", - "upvotes": 9, - "comment_count": 5, - "resolved": false, + "number": 1373, + "title": "How to fix error when running docs app demo chat", + "href": "https://github.com/orgs/langfuse/discussions/1373", + "created_at": "2024-03-08T00:08:46Z", + "upvotes": 1, + "comment_count": 1, + "resolved": true, + "labels": [], + "author": { + "login": "luandro", + "html_url": "https://github.com/luandro" + }, + "category": "Support" + }, + { + "number": 1357, + "title": "Run items not appearing when linking to a trace and not a span or a generation", + "href": "https://github.com/orgs/langfuse/discussions/1357", + "created_at": "2024-03-07T10:17:34Z", + "upvotes": 1, + "comment_count": 2, + "resolved": true, "labels": [ - "✅ Done" + "feat-datasets" ], "author": { - "login": "archywillhe", - "html_url": "https://github.com/archywillhe" + "login": "ladislasdellinger", + "html_url": "https://github.com/ladislasdellinger" }, - "category": "Ideas" + "category": "Support" }, { - "number": 939, - "title": "Full-text search on trace/observation/generation input/output", - "href": "https://github.com/orgs/langfuse/discussions/939", - "created_at": "2024-01-23T23:47:11Z", - "upvotes": 28, - "comment_count": 10, + "number": 1353, + "title": "How do I add custom LLM APIs to the Langfuse UI?", + "href": "https://github.com/orgs/langfuse/discussions/1353", + "created_at": "2024-03-07T06:33:23Z", + "upvotes": 0, + "comment_count": 1, "resolved": false, - "labels": [ - "ui" - ], + "labels": [], "author": { - "login": "marcklingen", - "html_url": "https://github.com/marcklingen" + "login": "yudhiesh", + "html_url": "https://github.com/yudhiesh" }, - "category": "Ideas" + "category": "Support" }, { - "number": 917, - "title": "Download dashboard details", - "href": "https://github.com/orgs/langfuse/discussions/917", - "created_at": "2024-01-21T16:35:24Z", - "upvotes": 8, - "comment_count": 3, + "number": 1336, + "title": "Applying database migrations failed. This is mostly caused by the database being unavailable.", + "href": "https://github.com/orgs/langfuse/discussions/1336", + "created_at": "2024-03-06T09:10:19Z", + "upvotes": 1, + "comment_count": 2, "resolved": false, "labels": [], "author": { - "login": "kerenaba", - "html_url": "https://github.com/kerenaba" + "login": "everyfin-in", + "html_url": "https://github.com/everyfin-in" }, - "category": "Ideas" + "category": "Support" }, { - "number": 902, - "title": "Support secret in docker compose", - "href": "https://github.com/orgs/langfuse/discussions/902", - "created_at": "2024-01-17T14:03:26Z", + "number": 1335, + "title": "Openai and null traces for input/output/metadata", + "href": "https://github.com/orgs/langfuse/discussions/1335", + "created_at": "2024-03-06T02:02:46Z", "upvotes": 2, - "comment_count": 1, + "comment_count": 0, "resolved": false, "labels": [], "author": { - "login": "shuther", - "html_url": "https://github.com/shuther" + "login": "aiakubovich", + "html_url": "https://github.com/aiakubovich" }, - "category": "Ideas" + "category": "Support" }, { - "number": 896, - "title": "generation usage should accept a list of dict for async generation", - "href": "https://github.com/orgs/langfuse/discussions/896", - "created_at": "2024-01-17T05:59:24Z", + "number": 1328, + "title": "Incompatibility between openllmetry and langfuse OpenAI wrapper", + "href": "https://github.com/orgs/langfuse/discussions/1328", + "created_at": "2024-03-05T17:03:34Z", "upvotes": 1, "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "dove-young", - "html_url": "https://github.com/dove-young" + "login": "pamelafox", + "html_url": "https://github.com/pamelafox" }, - "category": "Ideas" + "category": "Support" }, { - "number": 874, - "title": "Improve exception handling and type safety in python SDK", - "href": "https://github.com/orgs/langfuse/discussions/874", - "created_at": "2024-01-12T17:01:58Z", - "upvotes": 5, - "comment_count": 3, - "resolved": false, + "number": 1326, + "title": "Does Langfuse integrate with LiteLLM Proxy Server?", + "href": "https://github.com/orgs/langfuse/discussions/1326", + "created_at": "2024-03-05T15:25:37Z", + "upvotes": 1, + "comment_count": 1, + "resolved": true, "labels": [], "author": { - "login": "hubert-springbok", - "html_url": "https://github.com/hubert-springbok" + "login": "alphanome", + "html_url": "https://github.com/alphanome" }, - "category": "Ideas" + "category": "Support" }, { - "number": 854, - "title": "Feature: API should give User-Tokens", - "href": "https://github.com/orgs/langfuse/discussions/854", - "created_at": "2024-01-09T14:26:47Z", - "upvotes": 6, - "comment_count": 0, + "number": 1325, + "title": "Do you need a helm chart of langfuse?", + "href": "https://github.com/orgs/langfuse/discussions/1325", + "created_at": "2024-03-05T15:02:42Z", + "upvotes": 1, + "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "droggta", - "html_url": "https://github.com/droggta" + "login": "artemus717", + "html_url": "https://github.com/artemus717" }, - "category": "Ideas" + "category": "Support" }, { - "number": 852, - "title": "Add prompt.to_langchain() to get a Langchain Prompt Template", - "href": "https://github.com/orgs/langfuse/discussions/852", - "created_at": "2024-01-09T13:20:55Z", - "upvotes": 7, + "number": 1323, + "title": "When referencing the local langfuse in the langserve code, an error occurs:“ImportError: cannot import name 'ChatDeepInfra' from 'langchain_community.chat_models...”", + "href": "https://github.com/orgs/langfuse/discussions/1323", + "created_at": "2024-03-05T13:03:49Z", + "upvotes": 2, "comment_count": 2, - "resolved": false, - "labels": [ - "integrations", - "feat-prompt-management", - "✅ Done" - ], + "resolved": true, + "labels": [], "author": { - "login": "marcklingen", - "html_url": "https://github.com/marcklingen" + "login": "zhenlong-zhu", + "html_url": "https://github.com/zhenlong-zhu" }, - "category": "Ideas" + "category": "Support" }, { - "number": 853, - "title": "feat(ui): Dashboard filter and highlight", - "href": "https://github.com/orgs/langfuse/discussions/853", - "created_at": "2024-01-09T05:37:34Z", - "upvotes": 2, + "number": 1225, + "title": "Can Langfuse be used to record the records of ConversationChain in LangChain?", + "href": "https://github.com/orgs/langfuse/discussions/1225", + "created_at": "2024-02-22T09:24:34Z", + "upvotes": 1, "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [ - "ui", - "Dashboard" + "integration-langchain" ], "author": { - "login": "lkNGAT", - "html_url": "https://github.com/lkNGAT" + "login": "lyzltysgithub", + "html_url": "https://github.com/lyzltysgithub" }, - "category": "Ideas" + "category": "Support" }, { - "number": 844, - "title": "Integration: Node.js/Typescript OpenAI SDK", - "href": "https://github.com/orgs/langfuse/discussions/844", - "created_at": "2024-01-08T22:39:27Z", - "upvotes": 8, + "number": 1193, + "title": "What is the shadow database needed for?", + "href": "https://github.com/orgs/langfuse/discussions/1193", + "created_at": "2024-02-17T08:23:33Z", + "upvotes": 1, "comment_count": 2, - "resolved": false, + "resolved": true, + "labels": [], + "author": { + "login": "Stadly", + "html_url": "https://github.com/Stadly" + }, + "category": "Support" + }, + { + "number": 1184, + "title": "Unable to set session id or other CallbackHandler parameters when passing trace client in langchain sdk", + "href": "https://github.com/orgs/langfuse/discussions/1184", + "created_at": "2024-02-16T08:01:51Z", + "upvotes": 1, + "comment_count": 1, + "resolved": true, "labels": [ - "sdk-js", - "integrations", - "✅ Done" + "integration-langchain" ], "author": { - "login": "marcklingen", - "html_url": "https://github.com/marcklingen" + "login": "sasidevtool", + "html_url": "https://github.com/sasidevtool" }, - "category": "Ideas" + "category": "Support" }, { - "number": 828, - "title": "LlamaIndex integration (Python)", - "href": "https://github.com/orgs/langfuse/discussions/828", - "created_at": "2024-01-06T18:21:02Z", - "upvotes": 20, - "comment_count": 7, - "resolved": false, + "number": 1186, + "title": "How to set tags when using the Langchain Callback handler", + "href": "https://github.com/orgs/langfuse/discussions/1186", + "created_at": "2024-02-16T05:47:31Z", + "upvotes": 2, + "comment_count": 2, + "resolved": true, "labels": [ "sdk-python", - "integrations", - "✅ Done", - "integraton-llamaindex" + "integration-langchain", + "feat-tags" ], "author": { - "login": "marcklingen", - "html_url": "https://github.com/marcklingen" + "login": "reza-mohideen", + "html_url": "https://github.com/reza-mohideen" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1007, - "title": "Admin API: projects, api keys, user management", - "href": "https://github.com/orgs/langfuse/discussions/1007", - "created_at": "2023-12-21T13:22:28Z", - "upvotes": 24, - "comment_count": 13, - "resolved": false, + "number": 1179, + "title": "Ollama token counts", + "href": "https://github.com/orgs/langfuse/discussions/1179", + "created_at": "2024-02-15T23:38:39Z", + "upvotes": 2, + "comment_count": 2, + "resolved": true, "labels": [ - "feat-api", - "self-hosting" + "feat-cost-tracking" ], "author": { - "login": "maxxte", - "html_url": "https://github.com/maxxte" + "login": "aiseei", + "html_url": "https://github.com/aiseei" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1006, - "title": "Versioning of docs", - "href": "https://github.com/orgs/langfuse/discussions/1006", - "created_at": "2023-12-18T01:27:09Z", + "number": 1310, + "title": "Trace of custom classes gives nondescriptive info", + "href": "https://github.com/orgs/langfuse/discussions/1310", + "created_at": "2024-02-06T14:13:26Z", "upvotes": 1, - "comment_count": 1, + "comment_count": 0, "resolved": false, + "labels": [], + "author": { + "login": "mjungiewicz-exadel", + "html_url": "https://github.com/mjungiewicz-exadel" + }, + "category": "Support" + }, + { + "number": 1091, + "title": "How to pass span id to OpenAI `chat.completions.create`", + "href": "https://github.com/orgs/langfuse/discussions/1091", + "created_at": "2024-02-06T09:33:30Z", + "upvotes": 1, + "comment_count": 1, + "resolved": true, "labels": [ - "docs" + "integration-openai" ], "author": { - "login": "flxwu", - "html_url": "https://github.com/flxwu" + "login": "techytushar", + "html_url": "https://github.com/techytushar" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1008, - "title": "Datasets: Diff of output and expected output", - "href": "https://github.com/orgs/langfuse/discussions/1008", - "created_at": "2023-11-29T00:35:13Z", - "upvotes": 6, - "comment_count": 3, - "resolved": false, + "number": 1081, + "title": "Sessions vs Traces?", + "href": "https://github.com/orgs/langfuse/discussions/1081", + "created_at": "2024-02-05T21:06:03Z", + "upvotes": 1, + "comment_count": 2, + "resolved": true, "labels": [ - "ui", - "feat-datasets" + "feat-sessions" ], "author": { - "login": "marcklingen", - "html_url": "https://github.com/marcklingen" + "login": "Manouchehri", + "html_url": "https://github.com/Manouchehri" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1066, - "title": "feat: Publish arm64 compatible docker images", - "href": "https://github.com/orgs/langfuse/discussions/1066", - "created_at": "2023-11-08T16:06:08Z", + "number": 1071, + "title": "feat: support for custom httpx.client", + "href": "https://github.com/orgs/langfuse/discussions/1071", + "created_at": "2024-02-05T06:35:23Z", "upvotes": 1, - "comment_count": 10, + "comment_count": 2, "resolved": false, + "labels": [], + "author": { + "login": "brandonkzw", + "html_url": "https://github.com/brandonkzw" + }, + "category": "Support" + }, + { + "number": 1070, + "title": "Where to log request and response headers of generations? (litellm)", + "href": "https://github.com/orgs/langfuse/discussions/1070", + "created_at": "2024-02-05T02:40:38Z", + "upvotes": 1, + "comment_count": 2, + "resolved": true, "labels": [ - "✅ Done", - "self-hosting" + "integration-litellm" ], "author": { - "login": "code-haven", - "html_url": "https://github.com/code-haven" + "login": "Manouchehri", + "html_url": "https://github.com/Manouchehri" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1065, - "title": "OpenAI SDK wrapper for JS", - "href": "https://github.com/orgs/langfuse/discussions/1065", - "created_at": "2023-09-15T10:55:35Z", + "number": 1055, + "title": "Best way to flush LF in Next.js?", + "href": "https://github.com/orgs/langfuse/discussions/1055", + "created_at": "2024-02-02T17:50:58Z", "upvotes": 1, - "comment_count": 3, + "comment_count": 1, + "resolved": true, + "labels": [], + "author": { + "login": "gullerg", + "html_url": "https://github.com/gullerg" + }, + "category": "Support" + }, + { + "number": 1054, + "title": "Sentry for self-hosted?", + "href": "https://github.com/orgs/langfuse/discussions/1054", + "created_at": "2024-02-02T17:21:06Z", + "upvotes": 1, + "comment_count": 1, + "resolved": true, + "labels": [], + "author": { + "login": "Manouchehri", + "html_url": "https://github.com/Manouchehri" + }, + "category": "Support" + }, + { + "number": 1051, + "title": "How can I get the trace_id in langfuse.openai.OpenAI?", + "href": "https://github.com/orgs/langfuse/discussions/1051", + "created_at": "2024-02-02T09:39:55Z", + "upvotes": 1, + "comment_count": 1, + "resolved": true, + "labels": [ + "integration-openai" + ], + "author": { + "login": "yangge2333", + "html_url": "https://github.com/yangge2333" + }, + "category": "Support" + }, + { + "number": 1044, + "title": "AWS SES IAM Policy", + "href": "https://github.com/orgs/langfuse/discussions/1044", + "created_at": "2024-02-02T01:58:26Z", + "upvotes": 2, + "comment_count": 1, "resolved": false, + "labels": [], + "author": { + "login": "Manouchehri", + "html_url": "https://github.com/Manouchehri" + }, + "category": "Support" + }, + { + "number": 1019, + "title": "WAF Rules for self-hosted", + "href": "https://github.com/orgs/langfuse/discussions/1019", + "created_at": "2024-02-01T01:41:51Z", + "upvotes": 3, + "comment_count": 0, + "resolved": false, + "labels": [], + "author": { + "login": "Manouchehri", + "html_url": "https://github.com/Manouchehri" + }, + "category": "Support" + }, + { + "number": 1016, + "title": "Scaling / Parallelism / Concurrency safe?", + "href": "https://github.com/orgs/langfuse/discussions/1016", + "created_at": "2024-01-31T22:33:36Z", + "upvotes": 1, + "comment_count": 1, + "resolved": true, + "labels": [], + "author": { + "login": "Manouchehri", + "html_url": "https://github.com/Manouchehri" + }, + "category": "Support" + }, + { + "number": 1013, + "title": "Building Docker container without database connection?", + "href": "https://github.com/orgs/langfuse/discussions/1013", + "created_at": "2024-01-31T19:32:47Z", + "upvotes": 1, + "comment_count": 2, + "resolved": true, + "labels": [], + "author": { + "login": "Manouchehri", + "html_url": "https://github.com/Manouchehri" + }, + "category": "Support" + }, + { + "number": 973, + "title": "If we use cloud services, when we migrate to our own host later, do all the above data support export?", + "href": "https://github.com/orgs/langfuse/discussions/973", + "created_at": "2024-01-27T09:55:41Z", + "upvotes": 1, + "comment_count": 1, + "resolved": true, + "labels": [], + "author": { + "login": "wsdo", + "html_url": "https://github.com/wsdo" + }, + "category": "Support" + }, + { + "number": 866, + "title": "Cannot see Add to Dataset button in the UI", + "href": "https://github.com/orgs/langfuse/discussions/866", + "created_at": "2024-01-11T09:12:16Z", + "upvotes": 1, + "comment_count": 2, + "resolved": true, "labels": [ - "sdk-js", - "integrations", - "integration-openai", - "✅ Done" + "feat-datasets" ], "author": { - "login": "marcklingen", - "html_url": "https://github.com/marcklingen" + "login": "SinghCoder", + "html_url": "https://github.com/SinghCoder" }, - "category": "Ideas" + "category": "Support" } ] }, From ab860463d73e0661cd37604d7daa56367da8ce87 Mon Sep 17 00:00:00 2001 From: steffen911 Date: Wed, 27 Nov 2024 10:33:22 +0100 Subject: [PATCH 15/21] chore: update image for v3 docs --- pages/docs/deployment/v3/components/clickhouse.mdx | 2 +- pages/docs/deployment/v3/overview.mdx | 13 ++++++++++--- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/pages/docs/deployment/v3/components/clickhouse.mdx b/pages/docs/deployment/v3/components/clickhouse.mdx index 758d71125..77094db94 100644 --- a/pages/docs/deployment/v3/components/clickhouse.mdx +++ b/pages/docs/deployment/v3/components/clickhouse.mdx @@ -20,7 +20,7 @@ They need to be provided for the Langfuse Web and Langfuse Worker containers. | `CLICKHOUSE_URL` | Required | Hostname of the ClickHouse instance. Pattern: `http(s)://:(8123/8443)` | | `CLICKHOUSE_USER` | Required | Username of the ClickHouse database. Needs SELECT, ALTER, INSERT, CREATE, DELETE grants. | | `CLICKHOUSE_PASSWORD` | Required | Password of the ClickHouse user. | -| `CLICKHOUSE_CLUSTER_ENABLED` | `true` | Whether to disable the automatic ClickHouse migrations during server start. | +| `CLICKHOUSE_CLUSTER_ENABLED` | `true` | Whether to run ClickHouse commands `ON CLUSTER`. Set to `false` for single-container setups. | | `LANGFUSE_AUTO_CLICKHOUSE_MIGRATION_DISABLED` | `false` | Whether to disable automatic ClickHouse migrations. | Please note, that Langfuse uses the `default` schema and `default` cluster. diff --git a/pages/docs/deployment/v3/overview.mdx b/pages/docs/deployment/v3/overview.mdx index 5c6ff51cc..e4e953226 100644 --- a/pages/docs/deployment/v3/overview.mdx +++ b/pages/docs/deployment/v3/overview.mdx @@ -92,11 +92,13 @@ Langfuse uses Redis for caching and queue operations. You can use a managed service on AWS, Azure, or GCP, or host it yourself. At least version 7 is required and the instance must have `maxmemory-policy=noeviction` configured. You may use Valkey instead of Redis, but there is no active support from the Langfuse team as of now. +See [Redis](/docs/deployment/v3/components/redis) for more details on how to connect Redis to Langfuse. ### S3/Blob Store Langfuse requires an S3-compatible blob store to persist all incoming events, multi-modal inputs, and large exports. You can use a managed service on AWS, Azure, or GCP, or host it yourself using MinIO. +See [S3/Blob Store](/docs/deployment/v3/components/blobstorage) for more details on how to connect a blob store to Langfuse. ### Clickhouse @@ -112,6 +114,11 @@ You can use managed services like AWS ECS, Azure Container Instances, or GCP Clo During the container startup, all database migrations will be applied automatically. This can be optionally disabled via environment variables. + + We recommend that you test V3 using the latest release candidate. + You can find the newest tag in our [GitHub Releases](https://github.com/langfuse/langfuse/releases?q=v3.0.0-rc&expanded=true). + + ### Run Langfuse Web ```bash @@ -142,7 +149,7 @@ docker run --name langfuse-web \ -e LANGFUSE_RETURN_FROM_CLICKHOUSE=true \ -p 3000:3000 \ -a STDOUT \ -langfuse/langfuse:latest # TODO: Update to tagged version +langfuse/langfuse:3.0.0-rc.1 ``` ### Run Langfuse Worker @@ -169,7 +176,7 @@ docker run --name langfuse-worker \ -e LANGFUSE_ASYNC_CLICKHOUSE_INGESTION_PROCESSING=true \ -p 3030:3030 \ -a STDOUT \ -langfuse/langfuse-worker:latest # TODO: Update to tagged version +langfuse/langfuse-worker:3.0.0-rc.1 ``` ### Recommended sizing @@ -193,7 +200,7 @@ You can use the same environment variables for the Langfuse Web and Langfuse Wor | `CLICKHOUSE_URL` | Required | Hostname of the clickhouse instance. Pattern: `http(s)://:8123` | | `CLICKHOUSE_USER` | Required | Username of the clickhouse database. Needs SELECT, ALTER, INSERT, CREATE, DELETE grants. | | `CLICKHOUSE_PASSWORD` | Required | Password of the clickhouse user. | -| `CLICKHOUSE_CLUSTER_ENABLED` | `true` | Whether to disable the automatic ClickHouse migrations during server start. | +| `CLICKHOUSE_CLUSTER_ENABLED` | `true` | Whether to run ClickHouse commands `ON CLUSTER`. Set to `false` for single-container setups. | | `LANGFUSE_AUTO_CLICKHOUSE_MIGRATION_DISABLED` | `false` | Whether to disable the cluster mode in ClickHouse migrations. | | `REDIS_CONNECTION_STRING` | Required | Connection string of your redis instance. Instead of `REDIS_CONNECTION_STRING`, you can also use `REDIS_HOST`, `REDIS_PORT`, and `REDIS_AUTH`. | | `LANGFUSE_S3_EVENT_UPLOAD_ENABLED`
    `LANGFUSE_S3_EVENT_UPLOAD_BUCKET`
    `LANGFUSE_S3_EVENT_UPLOAD_REGION`
    `LANGFUSE_S3_EVENT_UPLOAD_ACCESS_KEY_ID`
    `LANGFUSE_S3_EVENT_UPLOAD_SECRET_ACCESS_KEY`
    `LANGFUSE_S3_EVENT_UPLOAD_ENDPOINT`
    `LANGFUSE_S3_EVENT_UPLOAD_FORCE_PATH_STYLE` | Required | S3 configuration to upload incoming events into S3. `LANGFUSE_S3_EVENT_UPLOAD_BUCKET` is required for Langfuse to accept events. The other variables are optional if you use the default credentials on AWS instances and must be supplied in other cloud environments. | From f8ba8a00d55d663ee82b094e916e1860ac3f214d Mon Sep 17 00:00:00 2001 From: Hassieb Pakzad <68423100+hassiebp@users.noreply.github.com> Date: Wed, 27 Nov 2024 10:56:11 +0100 Subject: [PATCH 16/21] docs(media): bucket hostname publicly resolvable --- pages/docs/deployment/self-host.mdx | 50 +++++++++---------- .../docs/tracing-features/multi-modality.mdx | 2 +- 2 files changed, 26 insertions(+), 26 deletions(-) diff --git a/pages/docs/deployment/self-host.mdx b/pages/docs/deployment/self-host.mdx index 3c3171013..7ec0dbfdd 100644 --- a/pages/docs/deployment/self-host.mdx +++ b/pages/docs/deployment/self-host.mdx @@ -76,31 +76,31 @@ For production environments, we suggest using a configuration of 2 CPU cores and Langfuse can be configured using environment variables ([.env.prod.example](https://github.com/langfuse/langfuse/blob/main/.env.prod.example)). Some are mandatory as defined in the table below: -| Variable | Required / Default | Description | -| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | --------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `DATABASE_URL` | Required | Connection string of your Postgres database. Instead of `DATABASE_URL`, you can also use `DATABASE_HOST`, `DATABASE_USERNAME`, `DATABASE_PASSWORD` and `DATABASE_NAME`. | -| `DIRECT_URL` | `DATABASE_URL` | Connection string of your Postgres database used for database migrations. Use this if you want to use a different user for migrations or use connection pooling on `DATABASE_URL`. **For large deployments**, configure the database user with long timeouts as migrations might need a while to complete. | -| `SHADOW_DATABASE_URL` | | If your database user lacks the `CREATE DATABASE` permission, you must create a shadow database and configure the "SHADOW_DATABASE_URL". This is often the case if you use a Cloud database. Refer to the [Prisma docs](https://www.prisma.io/docs/orm/prisma-migrate/understanding-prisma-migrate/shadow-database#cloud-hosted-shadow-databases-must-be-created-manually) for detailed instructions. | -| `NEXTAUTH_URL` | Required | URL of your deployment, e.g. `https://yourdomain.com` or `http://localhost:3000`. Required for successful authentication via OAUTH. | -| `NEXTAUTH_SECRET` | Required | Used to validate login session cookies, generate secret with at least 256 entropy using `openssl rand -base64 32`. | -| `SALT` | Required | Used to salt hashed API keys, generate secret with at least 256 entropy using `openssl rand -base64 32`. | -| `ENCRYPTION_KEY` | Required | Used to encrypt sensitive data. Must be 256 bits, 64 string characters in hex format, generate via: `openssl rand -hex 32`. | -| `LANGFUSE_CSP_ENFORCE_HTTPS` | `false` | Set to `true` to set CSP headers to only allow HTTPS connections. | -| `PORT` | `3000` | Port the server listens on. | -| `HOSTNAME` | `localhost` | In some environments it needs to be set to `0.0.0.0` to be accessible from outside the container (e.g. Google Cloud Run). | -| `LANGFUSE_DEFAULT_ORG_ID` | | Configure optional default organization for new users. When users create an account they will be automatically added to this organization. | -| `LANGFUSE_DEFAULT_ORG_ROLE` | `VIEWER` | Role of the user in the default organization (if set). Possible values are `OWNER`, `ADMIN`, `MEMBER`, `VIEWER`. See [roles](/docs/rbac) for details. | -| `LANGFUSE_DEFAULT_PROJECT_ID` | | Configure optional default project for new users. When users create an account they will be automatically added to this project. | -| `LANGFUSE_DEFAULT_PROJECT_ROLE` | `VIEWER` | Role of the user in the default project (if set). Possible values are `OWNER`, `ADMIN`, `MEMBER`, `VIEWER`. See [roles](/docs/rbac) for details. | -| `SMTP_CONNECTION_URL` | | Configure optional SMTP server connection for transactional email. Connection URL is passed to Nodemailer ([docs](https://nodemailer.com/smtp)). | -| `EMAIL_FROM_ADDRESS` | | Configure from address for transactional email. Required if `SMTP_CONNECTION_URL` is set. | -| `S3_ENDPOINT`
    `S3_ACCESS_KEY_ID`
    `S3_SECRET_ACCESS_KEY`
    `S3_BUCKET_NAME`
    `S3_REGION` | | Optional S3 configuration for enabling large exports from the UI. `S3_BUCKET_NAME` is required to enable exports. The other variables are optional and will use the default provider credential chain if not specified. | -| `LANGFUSE_S3_MEDIA_UPLOAD_ENABLED`
    `LANGFUSE_S3_MEDIA_UPLOAD_BUCKET`
    `LANGFUSE_S3_MEDIA_UPLOAD_REGION`
    `LANGFUSE_S3_MEDIA_UPLOAD_ACCESS_KEY_ID`
    `LANGFUSE_S3_MEDIA_UPLOAD_SECRET_ACCESS_KEY`
    `LANGFUSE_S3_MEDIA_UPLOAD_ENDPOINT`
    `LANGFUSE_S3_MEDIA_UPLOAD_FORCE_PATH_STYLE`
    `LANGFUSE_S3_MEDIA_UPLOAD_PREFIX` | `false`
    ``
    ` `
    ` `
    ` `
    ` `
    ` `
    ` ` | S3 configuration for enabling [multi-modal attachments](/docs/tracing-features/multi-modality). All variables are optional and will use the default values shown if not specified. Set `LANGFUSE_S3_MEDIA_UPLOAD_ENABLED=true` to enable multi-modal attachments. | -| `DB_EXPORT_PAGE_SIZE` | `1000` | Optional page size for streaming exports to S3 to avoid memory issues. The page size can be adjusted if needed to optimize performance. | -| `LANGFUSE_AUTO_POSTGRES_MIGRATION_DISABLED` | `false` | Set to `true` to disable automatic database migrations on docker startup. | -| `LANGFUSE_LOG_LEVEL` | `info` | Set the log level for the application. Possible values are `trace`, `debug`, `info`, `warn`, `error`, `fatal`. | -| `LANGFUSE_LOG_FORMAT` | `text` | Set the log format for the application. Possible values are `text`, `json`. | -| `NEXT_PUBLIC_BASE_PATH` | | Set the base path for the application. This is useful if you want to deploy Langfuse on a subpath, especially when integrating Langfuse into existing infrastructure. Refer to the [section](#custom-base-path) below for details. | +| Variable | Required / Default | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ---------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `DATABASE_URL` | Required | Connection string of your Postgres database. Instead of `DATABASE_URL`, you can also use `DATABASE_HOST`, `DATABASE_USERNAME`, `DATABASE_PASSWORD` and `DATABASE_NAME`. | +| `DIRECT_URL` | `DATABASE_URL` | Connection string of your Postgres database used for database migrations. Use this if you want to use a different user for migrations or use connection pooling on `DATABASE_URL`. **For large deployments**, configure the database user with long timeouts as migrations might need a while to complete. | +| `SHADOW_DATABASE_URL` | | If your database user lacks the `CREATE DATABASE` permission, you must create a shadow database and configure the "SHADOW_DATABASE_URL". This is often the case if you use a Cloud database. Refer to the [Prisma docs](https://www.prisma.io/docs/orm/prisma-migrate/understanding-prisma-migrate/shadow-database#cloud-hosted-shadow-databases-must-be-created-manually) for detailed instructions. | +| `NEXTAUTH_URL` | Required | URL of your deployment, e.g. `https://yourdomain.com` or `http://localhost:3000`. Required for successful authentication via OAUTH. | +| `NEXTAUTH_SECRET` | Required | Used to validate login session cookies, generate secret with at least 256 entropy using `openssl rand -base64 32`. | +| `SALT` | Required | Used to salt hashed API keys, generate secret with at least 256 entropy using `openssl rand -base64 32`. | +| `ENCRYPTION_KEY` | Required | Used to encrypt sensitive data. Must be 256 bits, 64 string characters in hex format, generate via: `openssl rand -hex 32`. | +| `LANGFUSE_CSP_ENFORCE_HTTPS` | `false` | Set to `true` to set CSP headers to only allow HTTPS connections. | +| `PORT` | `3000` | Port the server listens on. | +| `HOSTNAME` | `localhost` | In some environments it needs to be set to `0.0.0.0` to be accessible from outside the container (e.g. Google Cloud Run). | +| `LANGFUSE_DEFAULT_ORG_ID` | | Configure optional default organization for new users. When users create an account they will be automatically added to this organization. | +| `LANGFUSE_DEFAULT_ORG_ROLE` | `VIEWER` | Role of the user in the default organization (if set). Possible values are `OWNER`, `ADMIN`, `MEMBER`, `VIEWER`. See [roles](/docs/rbac) for details. | +| `LANGFUSE_DEFAULT_PROJECT_ID` | | Configure optional default project for new users. When users create an account they will be automatically added to this project. | +| `LANGFUSE_DEFAULT_PROJECT_ROLE` | `VIEWER` | Role of the user in the default project (if set). Possible values are `OWNER`, `ADMIN`, `MEMBER`, `VIEWER`. See [roles](/docs/rbac) for details. | +| `SMTP_CONNECTION_URL` | | Configure optional SMTP server connection for transactional email. Connection URL is passed to Nodemailer ([docs](https://nodemailer.com/smtp)). | +| `EMAIL_FROM_ADDRESS` | | Configure from address for transactional email. Required if `SMTP_CONNECTION_URL` is set. | +| `S3_ENDPOINT`
    `S3_ACCESS_KEY_ID`
    `S3_SECRET_ACCESS_KEY`
    `S3_BUCKET_NAME`
    `S3_REGION` | | Optional S3 configuration for enabling large exports from the UI. `S3_BUCKET_NAME` is required to enable exports. The other variables are optional and will use the default provider credential chain if not specified. | +| `LANGFUSE_S3_MEDIA_UPLOAD_ENABLED`
    `LANGFUSE_S3_MEDIA_UPLOAD_BUCKET`
    `LANGFUSE_S3_MEDIA_UPLOAD_REGION`
    `LANGFUSE_S3_MEDIA_UPLOAD_ACCESS_KEY_ID`
    `LANGFUSE_S3_MEDIA_UPLOAD_SECRET_ACCESS_KEY`
    `LANGFUSE_S3_MEDIA_UPLOAD_ENDPOINT`
    `LANGFUSE_S3_MEDIA_UPLOAD_FORCE_PATH_STYLE`
    `LANGFUSE_S3_MEDIA_UPLOAD_PREFIX` | `false`
    ` `
    ` `
    ` `
    ` `
    ` `
    ` `
    ` ` | S3 configuration for enabling [multi-modal attachments](/docs/tracing-features/multi-modality). All variables are optional and will use the default values shown if not specified. Set `LANGFUSE_S3_MEDIA_UPLOAD_ENABLED=true` to enable multi-modal attachments. Configured storage bucket must have a publicly resolvable hostname to support direct uploads via our SDKs and media asset fetching directly from the browser. | +| `DB_EXPORT_PAGE_SIZE` | `1000` | Optional page size for streaming exports to S3 to avoid memory issues. The page size can be adjusted if needed to optimize performance. | +| `LANGFUSE_AUTO_POSTGRES_MIGRATION_DISABLED` | `false` | Set to `true` to disable automatic database migrations on docker startup. | +| `LANGFUSE_LOG_LEVEL` | `info` | Set the log level for the application. Possible values are `trace`, `debug`, `info`, `warn`, `error`, `fatal`. | +| `LANGFUSE_LOG_FORMAT` | `text` | Set the log format for the application. Possible values are `text`, `json`. | +| `NEXT_PUBLIC_BASE_PATH` | | Set the base path for the application. This is useful if you want to deploy Langfuse on a subpath, especially when integrating Langfuse into existing infrastructure. Refer to the [section](#custom-base-path) below for details. | ### Authentication diff --git a/pages/docs/tracing-features/multi-modality.mdx b/pages/docs/tracing-features/multi-modality.mdx index fd20e9e30..17e29c4b8 100644 --- a/pages/docs/tracing-features/multi-modality.mdx +++ b/pages/docs/tracing-features/multi-modality.mdx @@ -36,7 +36,7 @@ Multi-modal attachments on Langfuse Cloud are free while in beta. We will be rol ### Self-hosting -Multi-modal attachments are available today. You need to configure your own object storage bucket via the Langfuse environment variables (`LANGFUSE_S3_MEDIA_UPLOAD_*`). See self-hosting documentation for details on these environment variables. S3-compatible APIs are supported across all major cloud providers and can be self-hosted via minio. +Multi-modal attachments are available today. You need to configure your own object storage bucket via the Langfuse environment variables (`LANGFUSE_S3_MEDIA_UPLOAD_*`). See self-hosting documentation for details on these environment variables. S3-compatible APIs are supported across all major cloud providers and can be self-hosted via minio. Note that the configured storage bucket must have a publicly resolvable hostname to support direct uploads via our SDKs and media asset fetching directly from the browser. ## Supported media formats From 733029d16d9bccc3e23545fbbc1b722e62e4dcd1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jannik=20Maierh=C3=B6fer?= <48529566+jannikmaierhoefer@users.noreply.github.com> Date: Wed, 27 Nov 2024 11:24:46 +0100 Subject: [PATCH 17/21] docs: add jp twitter account (#1017) --- pages/jp.mdx | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pages/jp.mdx b/pages/jp.mdx index ca988f6a4..1161f7a2e 100644 --- a/pages/jp.mdx +++ b/pages/jp.mdx @@ -104,6 +104,7 @@ Langfuseは[インテグレーションやSDKを通して](/docs/integrations/ov * **GitHub :** [github.com/langfuse/discussions](https://github.com/orgs/langfuse/discussions) \- GitHubの公開ディスカッションボード(英語)で質問してください。 * **Eメール :** [support@langfuse.com](mailto:support@langfuse.com) までご連絡ください。 * **企業向けサポート:** [ガオ株式会社(GAO,inc.)](https://gao-ai.com)を通じて、Langfuse Enterpriseプランを日本円で購入し、日本語でサポートを受けることが可能です。ご興味のある方は [contact@gao-ai.com](mailto:contact@gao-ai.com) までご連絡ください。 +* [**Twitter**](https://x.com/LangfuseJP) (Langfuseチームによって保守されていない) ## **Langfuseコミュニティに参加** @@ -111,6 +112,6 @@ Langfuseは[インテグレーションやSDKを通して](/docs/integrations/ov * ⭐️ [GitHub](https://github.com/langfuse/langfuse)でスターをつけると、アップデートが届く。 * 🤷‍♂️ 連絡を取り合う:ソーシャルメディアで最新情報をご覧ください。 - * [Twitter](https://x.com/langfuse) + * [Twitter](https://x.com/langfuse) * [Discord](https://discord.langfuse.com/) * [LinkedIn](https://www.linkedin.com/company/langfuse) \ No newline at end of file From 6c4ab638689a2f2bd4563a03b8cdaee0f923e2b3 Mon Sep 17 00:00:00 2001 From: GitHub Action Date: Wed, 27 Nov 2024 12:07:10 +0000 Subject: [PATCH 18/21] chore: update langfuse_github_discussions.json --- src/langfuse_github_discussions.json | 16029 +++++++++++++------------ 1 file changed, 8022 insertions(+), 8007 deletions(-) diff --git a/src/langfuse_github_discussions.json b/src/langfuse_github_discussions.json index 9274f3c5c..04502893f 100644 --- a/src/langfuse_github_discussions.json +++ b/src/langfuse_github_discussions.json @@ -1,6615 +1,6409 @@ { - "updated_at": "2024-11-27T06:06:06.131016+00:00", + "updated_at": "2024-11-27T12:07:09.992673+00:00", "categories": [ { - "category": "Ideas", + "category": "Support", "discussions": [ { - "number": 4454, - "title": "Support user input, message history, and tool calls in prompt experiments", - "href": "https://github.com/orgs/langfuse/discussions/4454", - "created_at": "2024-11-27T01:04:26Z", + "number": 4456, + "title": "I can't see some of my traces", + "href": "https://github.com/orgs/langfuse/discussions/4456", + "created_at": "2024-11-27T06:25:16Z", "upvotes": 1, - "comment_count": 0, - "resolved": false, - "labels": [ - "feat-prompt-experiments" - ], + "comment_count": 2, + "resolved": true, + "labels": [], "author": { - "login": "marcklingen", - "html_url": "https://github.com/marcklingen" + "login": "MazarSayed", + "html_url": "https://github.com/MazarSayed" }, - "category": "Ideas" + "category": "Support" }, { - "number": 4430, - "title": "Feature request: CRUD for Prompt API", - "href": "https://github.com/orgs/langfuse/discussions/4430", - "created_at": "2024-11-26T08:42:39Z", + "number": 4452, + "title": "Take chat history in consideration when running a prompt experiment", + "href": "https://github.com/orgs/langfuse/discussions/4452", + "created_at": "2024-11-27T00:32:20Z", "upvotes": 1, - "comment_count": 0, - "resolved": false, - "labels": [], + "comment_count": 4, + "resolved": true, + "labels": [ + "feat-prompt-experiments" + ], "author": { - "login": "barseghyanartur", - "html_url": "https://github.com/barseghyanartur" + "login": "benjtlv", + "html_url": "https://github.com/benjtlv" }, - "category": "Ideas" + "category": "Support" }, { - "number": 4414, - "title": "langfuse-python: simple static method listing prompt template var names", - "href": "https://github.com/orgs/langfuse/discussions/4414", - "created_at": "2024-11-25T16:28:05Z", + "number": 4444, + "title": "Running Langfuse behind Nginx with custom base path", + "href": "https://github.com/orgs/langfuse/discussions/4444", + "created_at": "2024-11-26T19:57:21Z", "upvotes": 1, - "comment_count": 1, + "comment_count": 2, "resolved": false, "labels": [ - "feat-prompt-management" + "self-hosting" ], "author": { - "login": "rhighs", - "html_url": "https://github.com/rhighs" + "login": "hookenful", + "html_url": "https://github.com/hookenful" }, - "category": "Ideas" + "category": "Support" }, { - "number": 4397, - "title": "n8n Integration", - "href": "https://github.com/orgs/langfuse/discussions/4397", - "created_at": "2024-11-24T09:43:01Z", - "upvotes": 1, - "comment_count": 0, - "resolved": false, - "labels": [], + "number": 4438, + "title": "Observability with concurrent threads", + "href": "https://github.com/orgs/langfuse/discussions/4438", + "created_at": "2024-11-26T17:08:01Z", + "upvotes": 0, + "comment_count": 2, + "resolved": true, + "labels": [ + "integration-python-decorator" + ], "author": { - "login": "aibucketmail", - "html_url": "https://github.com/aibucketmail" + "login": "DavideSanvito", + "html_url": "https://github.com/DavideSanvito" }, - "category": "Ideas" + "category": "Support" }, { - "number": 4381, - "title": "Feature Request: Add Tagging Pipelines for Evaluation-Based Tagging", - "href": "https://github.com/orgs/langfuse/discussions/4381", - "created_at": "2024-11-22T03:44:17Z", + "number": 4429, + "title": "Is there a way to rotate traces and generations?", + "href": "https://github.com/orgs/langfuse/discussions/4429", + "created_at": "2024-11-26T03:17:35Z", "upvotes": 1, - "comment_count": 0, - "resolved": false, + "comment_count": 1, + "resolved": true, "labels": [], "author": { - "login": "wesleyearlstander", - "html_url": "https://github.com/wesleyearlstander" + "login": "woung717", + "html_url": "https://github.com/woung717" }, - "category": "Ideas" + "category": "Support" }, { - "number": 4380, - "title": "Adding types for evals in Langfuse", - "href": "https://github.com/orgs/langfuse/discussions/4380", - "created_at": "2024-11-22T03:35:26Z", - "upvotes": 1, - "comment_count": 1, - "resolved": false, - "labels": [], + "number": 4418, + "title": "Cannot use prompt experiments \"No dataset item contains any variables\"", + "href": "https://github.com/orgs/langfuse/discussions/4418", + "created_at": "2024-11-25T20:32:59Z", + "upvotes": 2, + "comment_count": 5, + "resolved": true, + "labels": [ + "feat-prompt-experiments" + ], "author": { - "login": "wesleyearlstander", - "html_url": "https://github.com/wesleyearlstander" + "login": "j10sanders", + "html_url": "https://github.com/j10sanders" }, - "category": "Ideas" + "category": "Support" }, { - "number": 4372, - "title": "LaTex Rendering", - "href": "https://github.com/orgs/langfuse/discussions/4372", - "created_at": "2024-11-21T22:06:07Z", - "upvotes": 1, - "comment_count": 0, + "number": 4417, + "title": "does token & cost counting take into consideration prompt caching, eg openai prompt caching?", + "href": "https://github.com/orgs/langfuse/discussions/4417", + "created_at": "2024-11-25T19:59:13Z", + "upvotes": 2, + "comment_count": 2, "resolved": false, - "labels": [], + "labels": [ + "feat-cost-tracking" + ], "author": { - "login": "wesleyearlstander", - "html_url": "https://github.com/wesleyearlstander" + "login": "dwstevens", + "html_url": "https://github.com/dwstevens" }, - "category": "Ideas" + "category": "Support" }, { - "number": 4353, - "title": "Datasets: Add selection of traces to a dataset", - "href": "https://github.com/orgs/langfuse/discussions/4353", - "created_at": "2024-11-21T08:56:15Z", + "number": 4413, + "title": "Help needed with CustomSSOProvider Configuration for GitHub Enterprise", + "href": "https://github.com/orgs/langfuse/discussions/4413", + "created_at": "2024-11-25T15:30:23Z", "upvotes": 1, - "comment_count": 0, + "comment_count": 3, "resolved": false, "labels": [ - "feat-datasets" + "feat-auth", + "self-hosting" ], "author": { - "login": "jannikmaierhoefer", - "html_url": "https://github.com/jannikmaierhoefer" + "login": "jay0129", + "html_url": "https://github.com/jay0129" }, - "category": "Ideas" + "category": "Support" }, { - "number": 4348, - "title": "Multi-user annotation capability in Score Configs", - "href": "https://github.com/orgs/langfuse/discussions/4348", - "created_at": "2024-11-20T19:16:38Z", + "number": 4393, + "title": "Openai JS: Tracing for multiple iterations and tool calling", + "href": "https://github.com/orgs/langfuse/discussions/4393", + "created_at": "2024-11-23T06:57:40Z", "upvotes": 1, - "comment_count": 2, - "resolved": false, + "comment_count": 1, + "resolved": true, "labels": [ - "feat-annotation" + "integration-openai" ], "author": { - "login": "juanmleng", - "html_url": "https://github.com/juanmleng" + "login": "uhhfeef", + "html_url": "https://github.com/uhhfeef" }, - "category": "Ideas" + "category": "Support" }, { - "number": 4342, - "title": "Feature request: Lifecycle hooks in LangFuse", - "href": "https://github.com/orgs/langfuse/discussions/4342", - "created_at": "2024-11-20T14:23:44Z", + "number": 4389, + "title": "Does Langfuse tracing work in Vercel edge functions?", + "href": "https://github.com/orgs/langfuse/discussions/4389", + "created_at": "2024-11-22T22:41:52Z", "upvotes": 1, "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "barseghyanartur", - "html_url": "https://github.com/barseghyanartur" + "login": "holdenmatt", + "html_url": "https://github.com/holdenmatt" }, - "category": "Ideas" + "category": "Support" }, { - "number": 4340, - "title": "RBAC: Restriction based on trace tags/metadata", - "href": "https://github.com/orgs/langfuse/discussions/4340", - "created_at": "2024-11-20T12:32:40Z", - "upvotes": 2, - "comment_count": 0, + "number": 4388, + "title": "How to completely discard image with new multi-modal system?", + "href": "https://github.com/orgs/langfuse/discussions/4388", + "created_at": "2024-11-22T18:56:07Z", + "upvotes": 1, + "comment_count": 3, "resolved": false, "labels": [], "author": { - "login": "jannikmaierhoefer", - "html_url": "https://github.com/jannikmaierhoefer" + "login": "bioshazard", + "html_url": "https://github.com/bioshazard" }, - "category": "Ideas" + "category": "Support" }, { - "number": 4332, - "title": "Trace Table: Ability to sort table by score", - "href": "https://github.com/orgs/langfuse/discussions/4332", - "created_at": "2024-11-20T10:27:38Z", - "upvotes": 2, - "comment_count": 0, - "resolved": false, + "number": 4374, + "title": "Error while migrating schema", + "href": "https://github.com/orgs/langfuse/discussions/4374", + "created_at": "2024-11-21T22:39:36Z", + "upvotes": 1, + "comment_count": 2, + "resolved": true, "labels": [], "author": { - "login": "jannikmaierhoefer", - "html_url": "https://github.com/jannikmaierhoefer" + "login": "geek1s42", + "html_url": "https://github.com/geek1s42" }, - "category": "Ideas" + "category": "Support" }, { - "number": 4322, - "title": "Add the ability to remove tags from traces via the SDK/API", - "href": "https://github.com/orgs/langfuse/discussions/4322", - "created_at": "2024-11-19T20:09:18Z", - "upvotes": 2, - "comment_count": 0, - "resolved": false, + "number": 4373, + "title": "Silent failure when attempting adding scores to trace", + "href": "https://github.com/orgs/langfuse/discussions/4373", + "created_at": "2024-11-21T22:18:26Z", + "upvotes": 1, + "comment_count": 2, + "resolved": true, "labels": [], "author": { - "login": "justinwiley", - "html_url": "https://github.com/justinwiley" - }, - "category": "Ideas" + "login": "bioshazard", + "html_url": "https://github.com/bioshazard" + }, + "category": "Support" }, { - "number": 4316, - "title": "Prompt Changelog Management", - "href": "https://github.com/orgs/langfuse/discussions/4316", - "created_at": "2024-11-19T14:32:33Z", - "upvotes": 3, - "comment_count": 0, - "resolved": false, + "number": 4365, + "title": "Not able to see traces", + "href": "https://github.com/orgs/langfuse/discussions/4365", + "created_at": "2024-11-21T16:56:26Z", + "upvotes": 1, + "comment_count": 2, + "resolved": true, "labels": [], "author": { - "login": "alexander-abramovich", - "html_url": "https://github.com/alexander-abramovich" + "login": "uhhfeef", + "html_url": "https://github.com/uhhfeef" }, - "category": "Ideas" + "category": "Support" }, { - "number": 4315, - "title": "Smartly integrate with prompt templating tools (like Jinja templating engine)", - "href": "https://github.com/orgs/langfuse/discussions/4315", - "created_at": "2024-11-19T14:30:42Z", - "upvotes": 2, - "comment_count": 0, - "resolved": false, + "number": 4363, + "title": "Langchain with ChatVertexAI: Image/Audio Input Not Displayed in Dashboard with Multi-Modal Traces", + "href": "https://github.com/orgs/langfuse/discussions/4363", + "created_at": "2024-11-21T16:41:35Z", + "upvotes": 1, + "comment_count": 2, + "resolved": true, "labels": [], "author": { - "login": "alexander-abramovich", - "html_url": "https://github.com/alexander-abramovich" + "login": "pleomax0730", + "html_url": "https://github.com/pleomax0730" }, - "category": "Ideas" + "category": "Support" }, { - "number": 4314, - "title": "Making prompt editing eye-pleasing and less error-prown", - "href": "https://github.com/orgs/langfuse/discussions/4314", - "created_at": "2024-11-19T14:24:29Z", - "upvotes": 2, - "comment_count": 0, - "resolved": false, + "number": 4361, + "title": "Is downgrade available for self-hosted version?", + "href": "https://github.com/orgs/langfuse/discussions/4361", + "created_at": "2024-11-21T15:52:18Z", + "upvotes": 1, + "comment_count": 1, + "resolved": true, "labels": [], "author": { - "login": "alexander-abramovich", - "html_url": "https://github.com/alexander-abramovich" + "login": "skabbit", + "html_url": "https://github.com/skabbit" }, - "category": "Ideas" + "category": "Support" }, { - "number": 4304, - "title": "Prompt Management: Metadata for Prompt Versions", - "href": "https://github.com/orgs/langfuse/discussions/4304", - "created_at": "2024-11-19T08:39:27Z", - "upvotes": 7, - "comment_count": 2, - "resolved": false, + "number": 4359, + "title": "Unexpected error occurred", + "href": "https://github.com/orgs/langfuse/discussions/4359", + "created_at": "2024-11-21T14:21:11Z", + "upvotes": 1, + "comment_count": 1, + "resolved": true, "labels": [ - "feat-prompt-management" + "self-hosting" ], "author": { - "login": "jannikmaierhoefer", - "html_url": "https://github.com/jannikmaierhoefer" + "login": "jguokion", + "html_url": "https://github.com/jguokion" }, - "category": "Ideas" + "category": "Support" }, { - "number": 4303, - "title": "Exporting comments", - "href": "https://github.com/orgs/langfuse/discussions/4303", - "created_at": "2024-11-19T06:59:31Z", + "number": 4358, + "title": "Tracing of Async Tasks in Agentic Workflow", + "href": "https://github.com/orgs/langfuse/discussions/4358", + "created_at": "2024-11-21T10:46:31Z", "upvotes": 1, - "comment_count": 1, + "comment_count": 2, "resolved": false, "labels": [], "author": { - "login": "jamesyu", - "html_url": "https://github.com/jamesyu" + "login": "ashish-vwo", + "html_url": "https://github.com/ashish-vwo" }, - "category": "Ideas" + "category": "Support" }, { - "number": 4301, - "title": "[Feature Request] API to Remove or Update Trace Tags", - "href": "https://github.com/orgs/langfuse/discussions/4301", - "created_at": "2024-11-19T02:41:13Z", + "number": 4352, + "title": "Send metrics to ELK", + "href": "https://github.com/orgs/langfuse/discussions/4352", + "created_at": "2024-11-21T05:57:10Z", "upvotes": 1, - "comment_count": 0, + "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "0xcodedead", - "html_url": "https://github.com/0xcodedead" + "login": "Kratemis", + "html_url": "https://github.com/Kratemis" }, - "category": "Ideas" + "category": "Support" }, { - "number": 4299, - "title": "Add XML/tree viewer to playground and trace viewer", - "href": "https://github.com/orgs/langfuse/discussions/4299", - "created_at": "2024-11-19T01:12:03Z", + "number": 4331, + "title": "UserIds missing on some traces", + "href": "https://github.com/orgs/langfuse/discussions/4331", + "created_at": "2024-11-20T08:27:01Z", "upvotes": 1, - "comment_count": 0, + "comment_count": 3, "resolved": false, "labels": [], "author": { - "login": "jeff-an", - "html_url": "https://github.com/jeff-an" + "login": "takefy-dev", + "html_url": "https://github.com/takefy-dev" }, - "category": "Ideas" + "category": "Support" }, { - "number": 4280, - "title": "Increase character limit of comments in Langfuse", - "href": "https://github.com/orgs/langfuse/discussions/4280", - "created_at": "2024-11-18T11:20:06Z", + "number": 4330, + "title": "Request for Simplified Custom `trace_id` Implementation in `CallbackHandler` for LangServe", + "href": "https://github.com/orgs/langfuse/discussions/4330", + "created_at": "2024-11-20T07:55:51Z", "upvotes": 1, - "comment_count": 0, + "comment_count": 1, "resolved": false, - "labels": [], + "labels": [ + "integration-langchain" + ], "author": { - "login": "jannikmaierhoefer", - "html_url": "https://github.com/jannikmaierhoefer" + "login": "wertycn", + "html_url": "https://github.com/wertycn" }, - "category": "Ideas" + "category": "Support" }, { - "number": 4276, - "title": "Enh prompt management system", - "href": "https://github.com/orgs/langfuse/discussions/4276", - "created_at": "2024-11-17T21:50:06Z", + "number": 4309, + "title": "Langchain//Langgraph prompt link", + "href": "https://github.com/orgs/langfuse/discussions/4309", + "created_at": "2024-11-19T11:18:16Z", "upvotes": 1, - "comment_count": 1, - "resolved": false, - "labels": [], + "comment_count": 3, + "resolved": true, + "labels": [ + "feat-prompt-management", + "integration-langchain" + ], "author": { - "login": "flefevre", - "html_url": "https://github.com/flefevre" + "login": "BuragaIonut", + "html_url": "https://github.com/BuragaIonut" }, - "category": "Ideas" + "category": "Support" }, { - "number": 4268, - "title": "Support image messages in the playground", - "href": "https://github.com/orgs/langfuse/discussions/4268", - "created_at": "2024-11-17T01:02:48Z", + "number": 4293, + "title": "slower than expected langfuse_context.update_current_observation operation?", + "href": "https://github.com/orgs/langfuse/discussions/4293", + "created_at": "2024-11-18T17:00:12Z", "upvotes": 1, - "comment_count": 1, - "resolved": false, + "comment_count": 2, + "resolved": true, "labels": [], "author": { - "login": "jeff-an", - "html_url": "https://github.com/jeff-an" + "login": "nikcaryo-super", + "html_url": "https://github.com/nikcaryo-super" }, - "category": "Ideas" + "category": "Support" }, { - "number": 4263, - "title": "Extend RBAC to Include Teams and Refine Permissions for Prompt Management", - "href": "https://github.com/orgs/langfuse/discussions/4263", - "created_at": "2024-11-16T04:22:27Z", + "number": 4286, + "title": "Langfuse returning a internal server error message sometimes", + "href": "https://github.com/orgs/langfuse/discussions/4286", + "created_at": "2024-11-18T13:37:41Z", "upvotes": 1, - "comment_count": 0, + "comment_count": 2, "resolved": false, "labels": [], "author": { - "login": "flefevre", - "html_url": "https://github.com/flefevre" + "login": "nithin1995", + "html_url": "https://github.com/nithin1995" }, - "category": "Ideas" + "category": "Support" }, { - "number": 4258, - "title": "Automatically Trace from Playground", - "href": "https://github.com/orgs/langfuse/discussions/4258", - "created_at": "2024-11-15T18:58:05Z", + "number": 4284, + "title": "Update prompt label programatically", + "href": "https://github.com/orgs/langfuse/discussions/4284", + "created_at": "2024-11-18T13:18:06Z", "upvotes": 1, - "comment_count": 0, - "resolved": false, - "labels": [], + "comment_count": 1, + "resolved": true, + "labels": [ + "feat-prompt-management" + ], "author": { - "login": "Chinoman10", - "html_url": "https://github.com/Chinoman10" + "login": "nikitagupta5566", + "html_url": "https://github.com/nikitagupta5566" }, - "category": "Ideas" + "category": "Support" }, { - "number": 4247, - "title": "Reset LangfuseDecorator context to allow nested traces", - "href": "https://github.com/orgs/langfuse/discussions/4247", - "created_at": "2024-11-15T09:59:28Z", - "upvotes": 2, - "comment_count": 0, - "resolved": false, + "number": 4281, + "title": "Preventing Input and Output Capture for GENERATION span in Langfuse", + "href": "https://github.com/orgs/langfuse/discussions/4281", + "created_at": "2024-11-18T11:23:08Z", + "upvotes": 1, + "comment_count": 2, + "resolved": true, "labels": [], "author": { - "login": "vitalii-diachkov-sumup", - "html_url": "https://github.com/vitalii-diachkov-sumup" + "login": "ootkin", + "html_url": "https://github.com/ootkin" }, - "category": "Ideas" + "category": "Support" }, { - "number": 4212, - "title": "Disable authentication in self-hosted deployments", - "href": "https://github.com/orgs/langfuse/discussions/4212", - "created_at": "2024-11-13T13:32:11Z", - "upvotes": 2, + "number": 4262, + "title": "why setup trace is showing SETUP Tracing Pending always and Trace doesn't show in dashboard", + "href": "https://github.com/orgs/langfuse/discussions/4262", + "created_at": "2024-11-15T23:49:20Z", + "upvotes": 1, "comment_count": 1, - "resolved": false, - "labels": [ - "feat-auth", - "self-hosting" - ], + "resolved": true, + "labels": [], "author": { - "login": "mariusp12", - "html_url": "https://github.com/mariusp12" + "login": "msgateway", + "html_url": "https://github.com/msgateway" }, - "category": "Ideas" + "category": "Support" }, { - "number": 4208, - "title": "Multi-turn / session experiments in datasets", - "href": "https://github.com/orgs/langfuse/discussions/4208", - "created_at": "2024-11-13T11:43:31Z", + "number": 4261, + "title": "Disable tracing for certain calls", + "href": "https://github.com/orgs/langfuse/discussions/4261", + "created_at": "2024-11-15T22:54:27Z", "upvotes": 1, "comment_count": 1, - "resolved": false, - "labels": [ - "feat-datasets" - ], + "resolved": true, + "labels": [], "author": { - "login": "bartsimo", - "html_url": "https://github.com/bartsimo" + "login": "yliuaaron", + "html_url": "https://github.com/yliuaaron" }, - "category": "Ideas" + "category": "Support" }, { - "number": 4189, - "title": "feat: add support for SSR to allow runtime BASE_PATH", - "href": "https://github.com/orgs/langfuse/discussions/4189", - "created_at": "2024-11-12T12:39:25Z", - "upvotes": 2, - "comment_count": 1, + "number": 4259, + "title": "Custom trace properties in AsyncOpenAI", + "href": "https://github.com/orgs/langfuse/discussions/4259", + "created_at": "2024-11-15T19:50:10Z", + "upvotes": 1, + "comment_count": 2, "resolved": false, - "labels": [ - "self-hosting" - ], + "labels": [], "author": { - "login": "sinux-l5d", - "html_url": "https://github.com/sinux-l5d" + "login": "yliuaaron", + "html_url": "https://github.com/yliuaaron" }, - "category": "Ideas" + "category": "Support" }, { - "number": 4168, - "title": "Centralized API Key Management with Secret Store Integration (e.g. HashiCorp Vault)", - "href": "https://github.com/orgs/langfuse/discussions/4168", - "created_at": "2024-11-11T11:11:10Z", + "number": 4231, + "title": "Langfuse overwriting ingested usage for gpt-4o-mini models & incorrect inferred usage for low-detail image data", + "href": "https://github.com/orgs/langfuse/discussions/4231", + "created_at": "2024-11-14T12:29:51Z", "upvotes": 1, "comment_count": 2, "resolved": false, "labels": [ - "security", - "self-hosting" + "integration-openai", + "feat-cost-tracking" ], "author": { - "login": "bikram42", - "html_url": "https://github.com/bikram42" + "login": "LastRemote", + "html_url": "https://github.com/LastRemote" }, - "category": "Ideas" + "category": "Support" }, { - "number": 4166, - "title": "Allow sending events to multiple LF projects within one client app", - "href": "https://github.com/orgs/langfuse/discussions/4166", - "created_at": "2024-11-11T10:51:01Z", + "number": 4228, + "title": "Why my langgrpahjs agent can't show token", + "href": "https://github.com/orgs/langfuse/discussions/4228", + "created_at": "2024-11-14T08:46:36Z", "upvotes": 1, "comment_count": 2, - "resolved": false, - "labels": [], + "resolved": true, + "labels": [ + "integration-langchain" + ], "author": { - "login": "snopoke", - "html_url": "https://github.com/snopoke" + "login": "VittorioYan", + "html_url": "https://github.com/VittorioYan" }, - "category": "Ideas" + "category": "Support" }, { - "number": 4165, - "title": "Another glimpse into prompt management in LangFuse", - "href": "https://github.com/orgs/langfuse/discussions/4165", - "created_at": "2024-11-11T10:20:18Z", + "number": 4223, + "title": "How/which environment var do I need to set to get OAuth2.0 authentication flow?", + "href": "https://github.com/orgs/langfuse/discussions/4223", + "created_at": "2024-11-13T19:57:27Z", "upvotes": 1, - "comment_count": 1, + "comment_count": 3, "resolved": false, "labels": [ - "feat-prompt-management" + "self-hosting" ], "author": { - "login": "barseghyanartur", - "html_url": "https://github.com/barseghyanartur" + "login": "itay-moav", + "html_url": "https://github.com/itay-moav" }, - "category": "Ideas" + "category": "Support" }, { - "number": 4154, - "title": "Feature Request: Enable Invites with `AUTH_DISABLE_SIGNUP` (or/and GitHub OAuth for a given organization)", - "href": "https://github.com/orgs/langfuse/discussions/4154", - "created_at": "2024-11-10T15:04:41Z", - "upvotes": 3, - "comment_count": 1, + "number": 4213, + "title": "Is there a way to keep database connections open longer?", + "href": "https://github.com/orgs/langfuse/discussions/4213", + "created_at": "2024-11-13T13:53:25Z", + "upvotes": 1, + "comment_count": 2, "resolved": false, "labels": [ - "feat-auth", "self-hosting" ], "author": { - "login": "shner-elmo", - "html_url": "https://github.com/shner-elmo" + "login": "tomi-bigpi", + "html_url": "https://github.com/tomi-bigpi" }, - "category": "Ideas" + "category": "Support" }, { - "number": 4143, - "title": "Getting prompts using LiteLLM syntax", - "href": "https://github.com/orgs/langfuse/discussions/4143", - "created_at": "2024-11-09T17:01:10Z", + "number": 4205, + "title": "Tokenizer config for Qwen 2.5 models", + "href": "https://github.com/orgs/langfuse/discussions/4205", + "created_at": "2024-11-13T08:05:03Z", "upvotes": 1, - "comment_count": 0, + "comment_count": 2, "resolved": false, "labels": [], "author": { - "login": "doasfrancisco", - "html_url": "https://github.com/doasfrancisco" + "login": "mediumsizeworkingdog", + "html_url": "https://github.com/mediumsizeworkingdog" }, - "category": "Ideas" + "category": "Support" }, { - "number": 4129, - "title": "Annotation Queue: Display trace id", - "href": "https://github.com/orgs/langfuse/discussions/4129", - "created_at": "2024-11-08T16:14:00Z", + "number": 4197, + "title": "[Generations]: Support n parameter", + "href": "https://github.com/orgs/langfuse/discussions/4197", + "created_at": "2024-11-12T18:58:32Z", "upvotes": 1, - "comment_count": 0, - "resolved": false, - "labels": [], - "author": { - "login": "jannikmaierhoefer", - "html_url": "https://github.com/jannikmaierhoefer" - }, - "category": "Ideas" - }, - { - "number": 4121, - "title": "Enable to use variable of prompt on evaluator.", - "href": "https://github.com/orgs/langfuse/discussions/4121", - "created_at": "2024-11-08T09:16:28Z", - "upvotes": 3, "comment_count": 1, "resolved": false, "labels": [ - "feat-evals" + "integration-openai" ], "author": { - "login": "takryo00", - "html_url": "https://github.com/takryo00" + "login": "ngamolsky", + "html_url": "https://github.com/ngamolsky" }, - "category": "Ideas" + "category": "Support" }, { - "number": 4120, - "title": "Sessions Table: Scores Column", - "href": "https://github.com/orgs/langfuse/discussions/4120", - "created_at": "2024-11-08T08:58:10Z", - "upvotes": 5, - "comment_count": 0, - "resolved": false, + "number": 4179, + "title": "Is there a way to get process to exit on DB connection errors when rotating database passwords?", + "href": "https://github.com/orgs/langfuse/discussions/4179", + "created_at": "2024-11-11T21:55:56Z", + "upvotes": 1, + "comment_count": 3, + "resolved": true, "labels": [ - "feat-sessions" + "self-hosting" ], "author": { - "login": "jannikmaierhoefer", - "html_url": "https://github.com/jannikmaierhoefer" + "login": "tomi-bigpi", + "html_url": "https://github.com/tomi-bigpi" }, - "category": "Ideas" + "category": "Support" }, { - "number": 4110, - "title": "Sort functionality in Users page", - "href": "https://github.com/orgs/langfuse/discussions/4110", - "created_at": "2024-11-07T19:43:07Z", + "number": 4178, + "title": "How to update a score?", + "href": "https://github.com/orgs/langfuse/discussions/4178", + "created_at": "2024-11-11T21:48:51Z", "upvotes": 1, - "comment_count": 0, - "resolved": false, - "labels": [], + "comment_count": 1, + "resolved": true, + "labels": [ + "feat-scores" + ], "author": { - "login": "sal-dti", - "html_url": "https://github.com/sal-dti" + "login": "leichx", + "html_url": "https://github.com/leichx" }, - "category": "Ideas" + "category": "Support" }, { - "number": 4106, - "title": "Add new filters for the LLM as a Judge Evaluation (other scores and cost)", - "href": "https://github.com/orgs/langfuse/discussions/4106", - "created_at": "2024-11-07T14:44:31Z", + "number": 4172, + "title": "TypeError: LangfuseTracer.trace() got an unexpected keyword argument 'parent_span'", + "href": "https://github.com/orgs/langfuse/discussions/4172", + "created_at": "2024-11-11T13:31:14Z", "upvotes": 1, - "comment_count": 1, - "resolved": false, + "comment_count": 2, + "resolved": true, "labels": [ - "feat-evals" + "integration-haystack" ], "author": { - "login": "laisalvescw", - "html_url": "https://github.com/laisalvescw" + "login": "schwasa", + "html_url": "https://github.com/schwasa" }, - "category": "Ideas" + "category": "Support" }, { - "number": 4103, - "title": "Prompt Management: Deployment level view", - "href": "https://github.com/orgs/langfuse/discussions/4103", - "created_at": "2024-11-07T12:40:07Z", - "upvotes": 2, - "comment_count": 1, - "resolved": false, + "number": 4169, + "title": "Tenant based prompt management ?", + "href": "https://github.com/orgs/langfuse/discussions/4169", + "created_at": "2024-11-11T11:22:21Z", + "upvotes": 1, + "comment_count": 2, + "resolved": true, "labels": [ "feat-prompt-management" ], "author": { - "login": "jannikmaierhoefer", - "html_url": "https://github.com/jannikmaierhoefer" - }, - "category": "Ideas" - }, - { - "number": 4102, - "title": "Prompt Management: labels in prompt table", - "href": "https://github.com/orgs/langfuse/discussions/4102", - "created_at": "2024-11-07T12:38:00Z", - "upvotes": 2, - "comment_count": 0, - "resolved": false, - "labels": [], - "author": { - "login": "jannikmaierhoefer", - "html_url": "https://github.com/jannikmaierhoefer" + "login": "PreetamGKatakali", + "html_url": "https://github.com/PreetamGKatakali" }, - "category": "Ideas" + "category": "Support" }, { - "number": 4099, - "title": "Does LangFuse support a (declarative) plugin architecture?", - "href": "https://github.com/orgs/langfuse/discussions/4099", - "created_at": "2024-11-07T11:27:39Z", + "number": 4134, + "title": "LangGraph traces cause self-hosted instance to hang", + "href": "https://github.com/orgs/langfuse/discussions/4134", + "created_at": "2024-11-08T22:54:34Z", "upvotes": 1, - "comment_count": 1, + "comment_count": 2, "resolved": false, - "labels": [], + "labels": [ + "integration-langchain" + ], "author": { - "login": "barseghyanartur", - "html_url": "https://github.com/barseghyanartur" + "login": "rishimo", + "html_url": "https://github.com/rishimo" }, - "category": "Ideas" + "category": "Support" }, { - "number": 4097, - "title": "More Granular Target Objects for Langfuse Evaluators", - "href": "https://github.com/orgs/langfuse/discussions/4097", - "created_at": "2024-11-07T10:00:11Z", + "number": 4123, + "title": "Block strangers from signing in to your app", + "href": "https://github.com/orgs/langfuse/discussions/4123", + "created_at": "2024-11-08T10:14:08Z", "upvotes": 1, - "comment_count": 0, - "resolved": false, + "comment_count": 2, + "resolved": true, "labels": [], "author": { - "login": "qrosseel", - "html_url": "https://github.com/qrosseel" + "login": "shner-elmo", + "html_url": "https://github.com/shner-elmo" }, - "category": "Ideas" + "category": "Support" }, { - "number": 4096, - "title": "Evaluator CRUD in UI and API", - "href": "https://github.com/orgs/langfuse/discussions/4096", - "created_at": "2024-11-07T09:46:01Z", + "number": 4119, + "title": "Can we use Langfuse without any Authentication enabled?", + "href": "https://github.com/orgs/langfuse/discussions/4119", + "created_at": "2024-11-08T08:32:30Z", "upvotes": 1, "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [], "author": { - "login": "qrosseel", - "html_url": "https://github.com/qrosseel" + "login": "SudhaGarimella", + "html_url": "https://github.com/SudhaGarimella" }, - "category": "Ideas" + "category": "Support" }, { - "number": 4078, - "title": "Specify data masking on decorator itself", - "href": "https://github.com/orgs/langfuse/discussions/4078", - "created_at": "2024-11-06T14:00:47Z", + "number": 4118, + "title": "Can I evaluate Span using the External Evaluation Pipeline?", + "href": "https://github.com/orgs/langfuse/discussions/4118", + "created_at": "2024-11-08T08:04:55Z", "upvotes": 1, - "comment_count": 0, - "resolved": false, + "comment_count": 1, + "resolved": true, "labels": [ - "integration-python-decorator", - "feat-data-masking" + "feat-evals" ], "author": { - "login": "marcklingen", - "html_url": "https://github.com/marcklingen" + "login": "ygt1qa8", + "html_url": "https://github.com/ygt1qa8" }, - "category": "Ideas" + "category": "Support" }, { - "number": 4077, - "title": "Export dataset run table", - "href": "https://github.com/orgs/langfuse/discussions/4077", - "created_at": "2024-11-06T13:58:30Z", - "upvotes": 4, - "comment_count": 0, + "number": 4117, + "title": "ERROR - An error occurred: 'function' object is not subscriptable", + "href": "https://github.com/orgs/langfuse/discussions/4117", + "created_at": "2024-11-08T04:51:09Z", + "upvotes": 1, + "comment_count": 1, "resolved": false, - "labels": [ - "feat-datasets" - ], + "labels": [], "author": { - "login": "marcklingen", - "html_url": "https://github.com/marcklingen" + "login": "MazarSayed", + "html_url": "https://github.com/MazarSayed" }, - "category": "Ideas" + "category": "Support" }, { - "number": 4076, - "title": "Customizable data mask (input/output, observation names, observation type)", - "href": "https://github.com/orgs/langfuse/discussions/4076", - "created_at": "2024-11-06T13:56:36Z", - "upvotes": 2, - "comment_count": 0, - "resolved": false, - "labels": [ - "feat-data-masking" - ], + "number": 4116, + "title": "How can I implement a knowledge base and multi-turn file dialogue with pip deployment?! How does this “history” work?", + "href": "https://github.com/orgs/langfuse/discussions/4116", + "created_at": "2024-11-08T03:05:40Z", + "upvotes": 1, + "comment_count": 2, + "resolved": true, + "labels": [], "author": { - "login": "marcklingen", - "html_url": "https://github.com/marcklingen" + "login": "SKKKKYLAR", + "html_url": "https://github.com/SKKKKYLAR" }, - "category": "Ideas" + "category": "Support" }, { - "number": 4060, - "title": "Add support for more complex Jinja constructs", - "href": "https://github.com/orgs/langfuse/discussions/4060", - "created_at": "2024-11-05T14:28:17Z", + "number": 4115, + "title": "Configure LangFuse Project within CallbackHandler", + "href": "https://github.com/orgs/langfuse/discussions/4115", + "created_at": "2024-11-07T23:19:13Z", "upvotes": 1, - "comment_count": 1, - "resolved": false, + "comment_count": 2, + "resolved": true, "labels": [ - "feat-prompt-management" + "integration-langchain" ], "author": { - "login": "alex-stoica", - "html_url": "https://github.com/alex-stoica" + "login": "krlng", + "html_url": "https://github.com/krlng" }, - "category": "Ideas" + "category": "Support" }, { - "number": 4040, - "title": "Linking ChatPromptTemplate to Multiple Prompts", - "href": "https://github.com/orgs/langfuse/discussions/4040", - "created_at": "2024-11-04T13:49:06Z", + "number": 4091, + "title": "Openwebui and langfuse", + "href": "https://github.com/orgs/langfuse/discussions/4091", + "created_at": "2024-11-06T22:21:43Z", "upvotes": 1, "comment_count": 1, - "resolved": false, - "labels": [ - "feat-prompt-management" - ], + "resolved": true, + "labels": [], "author": { - "login": "sternr", - "html_url": "https://github.com/sternr" + "login": "flefevre", + "html_url": "https://github.com/flefevre" }, - "category": "Ideas" + "category": "Support" }, { - "number": 4037, - "title": "feat: support adding trace tags in annotation queue view", - "href": "https://github.com/orgs/langfuse/discussions/4037", - "created_at": "2024-11-04T13:04:02Z", - "upvotes": 2, - "comment_count": 0, - "resolved": false, - "labels": [ - "feat-annotation" - ], + "number": 4090, + "title": "Configuring logging", + "href": "https://github.com/orgs/langfuse/discussions/4090", + "created_at": "2024-11-06T21:39:03Z", + "upvotes": 1, + "comment_count": 5, + "resolved": true, + "labels": [], "author": { - "login": "marliessophie", - "html_url": "https://github.com/marliessophie" + "login": "pcoccoli", + "html_url": "https://github.com/pcoccoli" }, - "category": "Ideas" + "category": "Support" }, { - "number": 4035, - "title": "Feat: De-dupe and show info when adding the same trace/observation to an annotation queue multiple times", - "href": "https://github.com/orgs/langfuse/discussions/4035", - "created_at": "2024-11-04T12:58:59Z", + "number": 4080, + "title": "Langfuse User Management with Custom Oauth", + "href": "https://github.com/orgs/langfuse/discussions/4080", + "created_at": "2024-11-06T14:21:39Z", "upvotes": 1, - "comment_count": 1, + "comment_count": 3, "resolved": false, "labels": [ - "feat-annotation" + "feat-auth", + "self-hosting" ], "author": { - "login": "marliessophie", - "html_url": "https://github.com/marliessophie" + "login": "bziolkowski", + "html_url": "https://github.com/bziolkowski" }, - "category": "Ideas" + "category": "Support" }, { - "number": 4025, - "title": "Diff support for dataset runs view", - "href": "https://github.com/orgs/langfuse/discussions/4025", - "created_at": "2024-11-04T03:48:40Z", - "upvotes": 3, - "comment_count": 0, - "resolved": false, + "number": 4079, + "title": "How to prevent strangers from creating an account on your app", + "href": "https://github.com/orgs/langfuse/discussions/4079", + "created_at": "2024-11-06T14:17:46Z", + "upvotes": 1, + "comment_count": 1, + "resolved": true, "labels": [ - "feat-datasets" + "self-hosting" ], "author": { - "login": "saikatmitra91", - "html_url": "https://github.com/saikatmitra91" + "login": "shner-elmo", + "html_url": "https://github.com/shner-elmo" }, - "category": "Ideas" + "category": "Support" }, { - "number": 4019, - "title": "Create Support for gemini models in playground", - "href": "https://github.com/orgs/langfuse/discussions/4019", - "created_at": "2024-11-03T11:12:42Z", + "number": 4075, + "title": "Does it make sense to use multiple api-keys", + "href": "https://github.com/orgs/langfuse/discussions/4075", + "created_at": "2024-11-06T11:22:45Z", + "upvotes": 1, + "comment_count": 2, + "resolved": true, + "labels": [], + "author": { + "login": "shner-elmo", + "html_url": "https://github.com/shner-elmo" + }, + "category": "Support" + }, + { + "number": 4071, + "title": "Authentication not working?", + "href": "https://github.com/orgs/langfuse/discussions/4071", + "created_at": "2024-11-06T01:00:12Z", "upvotes": 1, "comment_count": 2, + "resolved": true, + "labels": [], + "author": { + "login": "shner-elmo", + "html_url": "https://github.com/shner-elmo" + }, + "category": "Support" + }, + { + "number": 4056, + "title": "Langfuse deployment issue on k8", + "href": "https://github.com/orgs/langfuse/discussions/4056", + "created_at": "2024-11-05T11:54:57Z", + "upvotes": 1, + "comment_count": 4, "resolved": false, "labels": [ - "feat-evals", - "feat-playground" + "self-hosting" ], "author": { - "login": "anuraj-suman", - "html_url": "https://github.com/anuraj-suman" + "login": "hrone-dev-satyammishra", + "html_url": "https://github.com/hrone-dev-satyammishra" }, - "category": "Ideas" + "category": "Support" }, { - "number": 4012, - "title": "Duplicate a template prompt to start a new prompt with all the boilerplate prepared", - "href": "https://github.com/orgs/langfuse/discussions/4012", - "created_at": "2024-11-02T15:26:33Z", + "number": 4046, + "title": "Should the Langfuse classs initialization be cached (does it do any I/O on init?) ?", + "href": "https://github.com/orgs/langfuse/discussions/4046", + "created_at": "2024-11-04T16:44:27Z", "upvotes": 1, "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [ - "feat-prompt-management" + "integration-langchain" ], "author": { - "login": "jakelucasnyc", - "html_url": "https://github.com/jakelucasnyc" + "login": "shner-elmo", + "html_url": "https://github.com/shner-elmo" }, - "category": "Ideas" + "category": "Support" }, { - "number": 4009, - "title": "SDK-Python: Get all prompts from LangfuseSDK Client", - "href": "https://github.com/orgs/langfuse/discussions/4009", - "created_at": "2024-11-01T18:39:02Z", + "number": 4043, + "title": "\"Custom\" traces not creating when Next.js Vercel instrumentation is on.", + "href": "https://github.com/orgs/langfuse/discussions/4043", + "created_at": "2024-11-04T14:07:46Z", "upvotes": 1, - "comment_count": 1, - "resolved": false, + "comment_count": 2, + "resolved": true, + "labels": [ + "integration-vercel-ai-sdk" + ], + "author": { + "login": "rovnyart", + "html_url": "https://github.com/rovnyart" + }, + "category": "Support" + }, + { + "number": 4041, + "title": "When running in relatively high amount of concurrent requests we start getting: \"API error occurred: Service unavailable.\" from Langfuse server", + "href": "https://github.com/orgs/langfuse/discussions/4041", + "created_at": "2024-11-04T13:55:19Z", + "upvotes": 1, + "comment_count": 2, + "resolved": true, "labels": [], "author": { - "login": "nthanapaisal", - "html_url": "https://github.com/nthanapaisal" + "login": "sternr", + "html_url": "https://github.com/sternr" }, - "category": "Ideas" + "category": "Support" }, { - "number": 4000, - "title": "Support custom aggregated queries through the UI", - "href": "https://github.com/orgs/langfuse/discussions/4000", - "created_at": "2024-11-01T14:19:58Z", - "upvotes": 2, - "comment_count": 0, - "resolved": false, + "number": 4038, + "title": "SSL: CERTIFICATE_VERIFY_FAILED error when access the self hosted langfuse from the code", + "href": "https://github.com/orgs/langfuse/discussions/4038", + "created_at": "2024-11-04T13:14:05Z", + "upvotes": 1, + "comment_count": 2, + "resolved": true, "labels": [], "author": { - "login": "emieldatalytica", - "html_url": "https://github.com/emieldatalytica" + "login": "SugumarRavichandran", + "html_url": "https://github.com/SugumarRavichandran" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3997, - "title": "Alerts based on metrics (cost, evaluation, user-feedback), trigger webhook/email/slack/...", - "href": "https://github.com/orgs/langfuse/discussions/3997", - "created_at": "2024-11-01T11:25:05Z", + "number": 4026, + "title": "Blob is not defined for Node 16", + "href": "https://github.com/orgs/langfuse/discussions/4026", + "created_at": "2024-11-04T04:58:15Z", "upvotes": 1, - "comment_count": 0, + "comment_count": 2, "resolved": false, "labels": [], "author": { - "login": "marcklingen", - "html_url": "https://github.com/marcklingen" + "login": "jamesyu", + "html_url": "https://github.com/jamesyu" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3988, - "title": "Change AWS access pattern for Bedrock LLM usage, assume role", - "href": "https://github.com/orgs/langfuse/discussions/3988", - "created_at": "2024-10-31T17:45:48Z", + "number": 4001, + "title": "Cloudron packaging issue with Prisma client", + "href": "https://github.com/orgs/langfuse/discussions/4001", + "created_at": "2024-11-01T14:21:59Z", "upvotes": 1, - "comment_count": 1, - "resolved": false, - "labels": [ - "feat-evals", - "feat-playground" - ], + "comment_count": 2, + "resolved": true, + "labels": [], "author": { - "login": "j10sanders", - "html_url": "https://github.com/j10sanders" + "login": "Lanhild", + "html_url": "https://github.com/Lanhild" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3986, - "title": "Support for Atlassian OAuth-Provider", - "href": "https://github.com/orgs/langfuse/discussions/3986", - "created_at": "2024-10-31T16:56:45Z", + "number": 3996, + "title": "Can you use the app without OAuth?", + "href": "https://github.com/orgs/langfuse/discussions/3996", + "created_at": "2024-11-01T03:36:33Z", "upvotes": 1, "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [ "feat-auth", "self-hosting" ], "author": { - "login": "backface", - "html_url": "https://github.com/backface" + "login": "shner-elmo", + "html_url": "https://github.com/shner-elmo" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3981, - "title": "Async support for data masking in JS/TS SDK", - "href": "https://github.com/orgs/langfuse/discussions/3981", - "created_at": "2024-10-31T14:06:21Z", - "upvotes": 3, - "comment_count": 3, - "resolved": false, - "labels": [ - "feat-data-masking" - ], + "number": 3985, + "title": "Pending Badge Stuck on Setup Tracing Step", + "href": "https://github.com/orgs/langfuse/discussions/3985", + "created_at": "2024-10-31T15:51:08Z", + "upvotes": 1, + "comment_count": 2, + "resolved": true, + "labels": [], "author": { - "login": "pexxi", - "html_url": "https://github.com/pexxi" + "login": "c0pper", + "html_url": "https://github.com/c0pper" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3970, - "title": "Add ability to export and import evaluators between projects", - "href": "https://github.com/orgs/langfuse/discussions/3970", - "created_at": "2024-10-30T16:13:20Z", - "upvotes": 2, + "number": 3977, + "title": "getPromptStateless received 403 error when using `LangfuseWeb` SDK", + "href": "https://github.com/orgs/langfuse/discussions/3977", + "created_at": "2024-10-31T01:45:19Z", + "upvotes": 1, "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [ - "feat-evals" + "feat-prompt-management" ], "author": { - "login": "j10sanders", - "html_url": "https://github.com/j10sanders" + "login": "huangbaitu123", + "html_url": "https://github.com/huangbaitu123" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3954, - "title": "Decorator: disable tracing at the decorated function level", - "href": "https://github.com/orgs/langfuse/discussions/3954", - "created_at": "2024-10-29T11:45:13Z", - "upvotes": 3, - "comment_count": 2, - "resolved": false, - "labels": [ - "sdk-python", - "integration-python-decorator" - ], + "number": 3976, + "title": "Missing scores after pushing scores to Langfuse", + "href": "https://github.com/orgs/langfuse/discussions/3976", + "created_at": "2024-10-31T00:02:59Z", + "upvotes": 1, + "comment_count": 3, + "resolved": true, + "labels": [], "author": { - "login": "klemenstraeger", - "html_url": "https://github.com/klemenstraeger" + "login": "laisalvescw", + "html_url": "https://github.com/laisalvescw" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3941, - "title": "Add keyword highlighting and color coding", - "href": "https://github.com/orgs/langfuse/discussions/3941", - "created_at": "2024-10-28T12:17:38Z", + "number": 3972, + "title": "For which kinds of data is `ENCRYPTION_KEY` used?", + "href": "https://github.com/orgs/langfuse/discussions/3972", + "created_at": "2024-10-30T18:21:25Z", "upvotes": 1, - "comment_count": 2, - "resolved": false, + "comment_count": 1, + "resolved": true, "labels": [ - "feat-prompt-management" + "self-hosting" ], "author": { - "login": "ignazflam", - "html_url": "https://github.com/ignazflam" + "login": "felix-sanchez-unmind", + "html_url": "https://github.com/felix-sanchez-unmind" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3935, - "title": "feat: Folder structure for dataset organisation", - "href": "https://github.com/orgs/langfuse/discussions/3935", - "created_at": "2024-10-28T08:23:14Z", - "upvotes": 2, + "number": 3965, + "title": "How to set environment variables for custom oauth2.0 sso?", + "href": "https://github.com/orgs/langfuse/discussions/3965", + "created_at": "2024-10-30T06:27:15Z", + "upvotes": 1, "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [ - "feat-datasets" + "feat-auth", + "self-hosting" ], "author": { - "login": "marliessophie", - "html_url": "https://github.com/marliessophie" + "login": "IeohMingChan", + "html_url": "https://github.com/IeohMingChan" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3918, - "title": "Model-based evaluations triggered by observations", - "href": "https://github.com/orgs/langfuse/discussions/3918", - "created_at": "2024-10-25T14:25:49Z", - "upvotes": 2, - "comment_count": 0, - "resolved": false, + "number": 3957, + "title": "Langfuse.create_prompt() got an unexpected keyword argument 'version'", + "href": "https://github.com/orgs/langfuse/discussions/3957", + "created_at": "2024-10-29T13:21:51Z", + "upvotes": 1, + "comment_count": 1, + "resolved": true, "labels": [ - "feat-evals" + "feat-prompt-management" ], "author": { - "login": "marcklingen", - "html_url": "https://github.com/marcklingen" + "login": "silenceliang", + "html_url": "https://github.com/silenceliang" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3904, - "title": "Support for Custom SSO Without AUTH_CUSTOM_CLIENT_SECRET and Incorrect Profile Mapping", - "href": "https://github.com/orgs/langfuse/discussions/3904", - "created_at": "2024-10-24T17:07:38Z", - "upvotes": 0, - "comment_count": 0, - "resolved": false, - "labels": [], + "number": 3949, + "title": "Is there a way to clear trace data in batch?", + "href": "https://github.com/orgs/langfuse/discussions/3949", + "created_at": "2024-10-29T06:10:26Z", + "upvotes": 1, + "comment_count": 2, + "resolved": true, + "labels": [ + "self-hosting" + ], "author": { - "login": "lucebert", - "html_url": "https://github.com/lucebert" + "login": "renwei-work", + "html_url": "https://github.com/renwei-work" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3893, - "title": "Allow prompt editing without creating new version (draft mode)", - "href": "https://github.com/orgs/langfuse/discussions/3893", - "created_at": "2024-10-24T08:47:13Z", - "upvotes": 2, - "comment_count": 1, - "resolved": false, + "number": 3943, + "title": "Improvements of Langfuse-Haystack integration", + "href": "https://github.com/orgs/langfuse/discussions/3943", + "created_at": "2024-10-28T14:49:51Z", + "upvotes": 1, + "comment_count": 2, + "resolved": true, "labels": [ - "feat-prompt-management" + "integration-haystack" ], "author": { - "login": "dveyarangi", - "html_url": "https://github.com/dveyarangi" + "login": "alex-stoica", + "html_url": "https://github.com/alex-stoica" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3891, - "title": "feat: user consumption broken down by model", - "href": "https://github.com/orgs/langfuse/discussions/3891", - "created_at": "2024-10-24T05:41:12Z", - "upvotes": 1, - "comment_count": 0, - "resolved": false, + "number": 3924, + "title": "Postgres version mismatch when upgrading langfuse locally", + "href": "https://github.com/orgs/langfuse/discussions/3924", + "created_at": "2024-10-25T18:30:14Z", + "upvotes": 2, + "comment_count": 1, + "resolved": true, "labels": [], "author": { - "login": "belphegor-s", - "html_url": "https://github.com/belphegor-s" + "login": "nikcaryo-super", + "html_url": "https://github.com/nikcaryo-super" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3885, - "title": "Trace -> Playground: Populate variable fields to make input iteration easier.", - "href": "https://github.com/orgs/langfuse/discussions/3885", - "created_at": "2024-10-23T16:26:36Z", - "upvotes": 2, - "comment_count": 0, - "resolved": false, + "number": 3920, + "title": "Rate limit exceed using Langfuse Python SDK", + "href": "https://github.com/orgs/langfuse/discussions/3920", + "created_at": "2024-10-25T14:45:56Z", + "upvotes": 1, + "comment_count": 1, + "resolved": true, "labels": [ - "feat-prompt-management", - "feat-playground" + "feat-api" ], "author": { - "login": "jannikmaierhoefer", - "html_url": "https://github.com/jannikmaierhoefer" + "login": "laisalvescw", + "html_url": "https://github.com/laisalvescw" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3875, - "title": "add gpt-4o-2024-08-06 model to langfuse models list", - "href": "https://github.com/orgs/langfuse/discussions/3875", - "created_at": "2024-10-23T10:54:01Z", - "upvotes": 1, - "comment_count": 1, - "resolved": false, - "labels": [ - "✅ Done" - ], + "number": 3910, + "title": "If I use Anthropic Claude component in Langflow, the trace data in Langfuse is all null", + "href": "https://github.com/orgs/langfuse/discussions/3910", + "created_at": "2024-10-25T06:50:02Z", + "upvotes": 2, + "comment_count": 2, + "resolved": true, + "labels": [], "author": { - "login": "alex-stoica", - "html_url": "https://github.com/alex-stoica" + "login": "b8heng", + "html_url": "https://github.com/b8heng" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3874, - "title": "Ensure prompt validation when attaching prompts to generations", - "href": "https://github.com/orgs/langfuse/discussions/3874", - "created_at": "2024-10-23T10:48:38Z", + "number": 3905, + "title": "Allow injection of generation context into evaluation prompt", + "href": "https://github.com/orgs/langfuse/discussions/3905", + "created_at": "2024-10-24T20:39:46Z", "upvotes": 1, - "comment_count": 0, - "resolved": false, + "comment_count": 1, + "resolved": true, "labels": [ - "feat-prompt-management" + "feat-evals" ], "author": { - "login": "alex-stoica", - "html_url": "https://github.com/alex-stoica" + "login": "dveyarangi", + "html_url": "https://github.com/dveyarangi" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3866, - "title": "Support for OpenAI's cached input tokens", - "href": "https://github.com/orgs/langfuse/discussions/3866", - "created_at": "2024-10-22T19:38:33Z", - "upvotes": 4, - "comment_count": 2, - "resolved": false, + "number": 3902, + "title": "How to fetch the output and input tokens of a trace via API?", + "href": "https://github.com/orgs/langfuse/discussions/3902", + "created_at": "2024-10-24T16:16:56Z", + "upvotes": 0, + "comment_count": 1, + "resolved": true, "labels": [ + "feat-api", "feat-cost-tracking" ], "author": { - "login": "anatolec", - "html_url": "https://github.com/anatolec" + "login": "fdb02983rhy", + "html_url": "https://github.com/fdb02983rhy" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3862, - "title": "python generator request - return values", - "href": "https://github.com/orgs/langfuse/discussions/3862", - "created_at": "2024-10-22T11:43:22Z", + "number": 3900, + "title": "Sometimes traces lack metadata completely", + "href": "https://github.com/orgs/langfuse/discussions/3900", + "created_at": "2024-10-24T15:06:32Z", "upvotes": 1, - "comment_count": 1, - "resolved": false, - "labels": [ - "integration-python-decorator" - ], + "comment_count": 4, + "resolved": true, + "labels": [], "author": { - "login": "benji-finster", - "html_url": "https://github.com/benji-finster" + "login": "RichardSieg", + "html_url": "https://github.com/RichardSieg" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3842, - "title": "Scores: Conditional Annotation", - "href": "https://github.com/orgs/langfuse/discussions/3842", - "created_at": "2024-10-21T08:37:48Z", + "number": 3890, + "title": "how to add invoked langchain tool names as tags or as metadata", + "href": "https://github.com/orgs/langfuse/discussions/3890", + "created_at": "2024-10-24T00:39:02Z", "upvotes": 1, - "comment_count": 0, + "comment_count": 1, "resolved": false, "labels": [ - "feat-scores", - "feat-annotation" + "integration-langchain" ], "author": { - "login": "marliessophie", - "html_url": "https://github.com/marliessophie" + "login": "Wrashionis", + "html_url": "https://github.com/Wrashionis" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3841, - "title": "Annotation Queues: define optional/mandatory score configs by queue", - "href": "https://github.com/orgs/langfuse/discussions/3841", - "created_at": "2024-10-21T08:32:46Z", + "number": 3886, + "title": "Azure AD auth: OAUTH_PARSE_PROFILE_ERROR", + "href": "https://github.com/orgs/langfuse/discussions/3886", + "created_at": "2024-10-23T19:40:57Z", "upvotes": 1, - "comment_count": 0, + "comment_count": 2, "resolved": false, - "labels": [ - "feat-annotation" - ], + "labels": [], "author": { - "login": "marliessophie", - "html_url": "https://github.com/marliessophie" + "login": "kryvokhyzha", + "html_url": "https://github.com/kryvokhyzha" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3840, - "title": "Scores: support for recording multiple choice selection as score value", - "href": "https://github.com/orgs/langfuse/discussions/3840", - "created_at": "2024-10-21T08:20:01Z", + "number": 3884, + "title": "I cant quite tell if i'm doing the parent span correctly. The trace is appearing but not associated to the Session", + "href": "https://github.com/orgs/langfuse/discussions/3884", + "created_at": "2024-10-23T16:12:44Z", "upvotes": 1, - "comment_count": 0, + "comment_count": 2, + "resolved": false, + "labels": [], + "author": { + "login": "PandelisZ", + "html_url": "https://github.com/PandelisZ" + }, + "category": "Support" + }, + { + "number": 3879, + "title": "No token information in observation of LLM run", + "href": "https://github.com/orgs/langfuse/discussions/3879", + "created_at": "2024-10-23T13:07:43Z", + "upvotes": 1, + "comment_count": 2, "resolved": false, "labels": [ - "feat-scores" + "feat-cost-tracking" ], "author": { - "login": "marliessophie", - "html_url": "https://github.com/marliessophie" + "login": "noInterestIfPaidInFull", + "html_url": "https://github.com/noInterestIfPaidInFull" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3839, - "title": "Prompts: ability to share prompt or playground session", - "href": "https://github.com/orgs/langfuse/discussions/3839", - "created_at": "2024-10-21T08:00:15Z", - "upvotes": 2, - "comment_count": 0, + "number": 3877, + "title": "Self host Langfuse not working - column `t6.cloud_config` does not exist", + "href": "https://github.com/orgs/langfuse/discussions/3877", + "created_at": "2024-10-23T11:54:13Z", + "upvotes": 1, + "comment_count": 4, "resolved": false, "labels": [ - "feat-prompt-management" + "self-hosting" ], "author": { - "login": "marliessophie", - "html_url": "https://github.com/marliessophie" + "login": "SugumarRavichandran", + "html_url": "https://github.com/SugumarRavichandran" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3836, - "title": "Distinguishing various steps", - "href": "https://github.com/orgs/langfuse/discussions/3836", - "created_at": "2024-10-20T16:54:32Z", + "number": 3868, + "title": "Langfuse Tracing not showing up on UI", + "href": "https://github.com/orgs/langfuse/discussions/3868", + "created_at": "2024-10-22T21:26:13Z", "upvotes": 1, - "comment_count": 0, - "resolved": false, + "comment_count": 2, + "resolved": true, "labels": [], "author": { - "login": "ajram23", - "html_url": "https://github.com/ajram23" + "login": "nthanapaisal", + "html_url": "https://github.com/nthanapaisal" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3818, - "title": "Filter by status in dataset items table", - "href": "https://github.com/orgs/langfuse/discussions/3818", - "created_at": "2024-10-18T03:17:50Z", - "upvotes": 2, + "number": 3863, + "title": "Request Timeout for Dashboard", + "href": "https://github.com/orgs/langfuse/discussions/3863", + "created_at": "2024-10-22T14:18:43Z", + "upvotes": 1, "comment_count": 2, - "resolved": false, + "resolved": true, "labels": [ - "feat-datasets" + "self-hosting" ], "author": { - "login": "FrankyCTY", - "html_url": "https://github.com/FrankyCTY" + "login": "mritonia", + "html_url": "https://github.com/mritonia" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3817, - "title": "Add generic types for prompt variables in the sdk clients, e.g. `langfuse.getPrompt<{input: string}>(\"prompt name\")`", - "href": "https://github.com/orgs/langfuse/discussions/3817", - "created_at": "2024-10-17T23:40:45Z", + "number": 3858, + "title": "Monitoring self-hosted langfuse.", + "href": "https://github.com/orgs/langfuse/discussions/3858", + "created_at": "2024-10-22T07:04:26Z", "upvotes": 1, - "comment_count": 0, - "resolved": false, + "comment_count": 2, + "resolved": true, "labels": [ - "feat-prompt-management" + "self-hosting" ], "author": { - "login": "marcklingen", - "html_url": "https://github.com/marcklingen" + "login": "SinghCoder", + "html_url": "https://github.com/SinghCoder" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3801, - "title": "Add image type with image_url for vision apo", - "href": "https://github.com/orgs/langfuse/discussions/3801", - "created_at": "2024-10-17T15:27:23Z", + "number": 3854, + "title": "Open AI Python SDK - 'OpenAI' object has no attribute 'langfuse_auth_check'", + "href": "https://github.com/orgs/langfuse/discussions/3854", + "created_at": "2024-10-21T21:41:17Z", "upvotes": 1, - "comment_count": 1, - "resolved": false, + "comment_count": 4, + "resolved": true, "labels": [ - "feat-prompt-management", - "feat-playground" + "integration-openai" ], "author": { - "login": "profikid", - "html_url": "https://github.com/profikid" + "login": "hjensen", + "html_url": "https://github.com/hjensen" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3798, - "title": "Versioning/edit of Evaluator Configuration", - "href": "https://github.com/orgs/langfuse/discussions/3798", - "created_at": "2024-10-17T11:59:39Z", - "upvotes": 3, - "comment_count": 1, - "resolved": false, + "number": 3845, + "title": "Traces: Link a trace to multiple sessions", + "href": "https://github.com/orgs/langfuse/discussions/3845", + "created_at": "2024-10-21T11:31:54Z", + "upvotes": 1, + "comment_count": 2, + "resolved": true, "labels": [ - "feat-evals" + "feat-sessions" ], "author": { - "login": "filipmihal", - "html_url": "https://github.com/filipmihal" + "login": "nikitagupta5566", + "html_url": "https://github.com/nikitagupta5566" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3782, - "title": "Measure time to last generated token", - "href": "https://github.com/orgs/langfuse/discussions/3782", - "created_at": "2024-10-16T17:45:12Z", + "number": 3838, + "title": "How do I user wise \"Total Token\" counts via API or via python, As I want to track which user is consuming how much tokens", + "href": "https://github.com/orgs/langfuse/discussions/3838", + "created_at": "2024-10-21T06:51:06Z", "upvotes": 2, - "comment_count": 0, + "comment_count": 3, + "resolved": true, + "labels": [ + "feat-cost-tracking" + ], + "author": { + "login": "hrone-dev-satyammishra", + "html_url": "https://github.com/hrone-dev-satyammishra" + }, + "category": "Support" + }, + { + "number": 3835, + "title": "To use Gemini on playground", + "href": "https://github.com/orgs/langfuse/discussions/3835", + "created_at": "2024-10-20T12:20:22Z", + "upvotes": 1, + "comment_count": 3, "resolved": false, "labels": [], "author": { - "login": "dsherry", - "html_url": "https://github.com/dsherry" + "login": "yu-tarrrr", + "html_url": "https://github.com/yu-tarrrr" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3772, - "title": "Support annotation role permission to only access Annotation Queue feature", - "href": "https://github.com/orgs/langfuse/discussions/3772", - "created_at": "2024-10-16T03:49:43Z", + "number": 3824, + "title": "Traces and events not going through to Langfuse server even though they're generating", + "href": "https://github.com/orgs/langfuse/discussions/3824", + "created_at": "2024-10-18T13:49:53Z", "upvotes": 1, - "comment_count": 1, + "comment_count": 2, "resolved": false, "labels": [ - "feat-annotation" + "integration-python-decorator" ], "author": { - "login": "ytqh", - "html_url": "https://github.com/ytqh" + "login": "FaresKi", + "html_url": "https://github.com/FaresKi" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3765, - "title": "OpenAI integration support for realtime api", - "href": "https://github.com/orgs/langfuse/discussions/3765", - "created_at": "2024-10-15T21:35:13Z", - "upvotes": 5, + "number": 3800, + "title": "Insert API Keys in database", + "href": "https://github.com/orgs/langfuse/discussions/3800", + "created_at": "2024-10-17T12:40:17Z", + "upvotes": 1, "comment_count": 3, "resolved": false, - "labels": [ - "integration-openai" - ], + "labels": [], "author": { - "login": "marcklingen", - "html_url": "https://github.com/marcklingen" + "login": "kryvokhyzha", + "html_url": "https://github.com/kryvokhyzha" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3761, - "title": "DsPY type optimization functionality", - "href": "https://github.com/orgs/langfuse/discussions/3761", - "created_at": "2024-10-15T20:02:39Z", + "number": 3799, + "title": "Weird behaviour of metric values and their reasoning", + "href": "https://github.com/orgs/langfuse/discussions/3799", + "created_at": "2024-10-17T12:17:48Z", "upvotes": 1, - "comment_count": 1, - "resolved": false, + "comment_count": 2, + "resolved": true, "labels": [ - "integration-dspy" + "feat-evals" ], "author": { - "login": "nikshepsvn", - "html_url": "https://github.com/nikshepsvn" + "login": "filipmihal", + "html_url": "https://github.com/filipmihal" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3755, - "title": "Intergrate with Ragflow", - "href": "https://github.com/orgs/langfuse/discussions/3755", - "created_at": "2024-10-15T06:54:12Z", - "upvotes": 3, - "comment_count": 1, - "resolved": false, - "labels": [ - "integrations" - ], - "author": { - "login": "chuwe000", - "html_url": "https://github.com/chuwe000" - }, - "category": "Ideas" - }, - { - "number": 3802, - "title": "Get Observation IDs of sub chains when using @observe decorator combined with Langchain", - "href": "https://github.com/orgs/langfuse/discussions/3802", - "created_at": "2024-10-14T14:22:38Z", + "number": 3797, + "title": "Filter Categorical Score Values", + "href": "https://github.com/orgs/langfuse/discussions/3797", + "created_at": "2024-10-17T10:15:58Z", "upvotes": 1, - "comment_count": 4, - "resolved": false, + "comment_count": 3, + "resolved": true, "labels": [ - "sdk-python", - "integration-langchain", - "integration-python-decorator" + "feat-scores" ], "author": { - "login": "guusfrenken-wk", - "html_url": "https://github.com/guusfrenken-wk" + "login": "alabrashJr", + "html_url": "https://github.com/alabrashJr" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3725, - "title": "observe context manager", - "href": "https://github.com/orgs/langfuse/discussions/3725", - "created_at": "2024-10-12T07:33:09Z", + "number": 3796, + "title": "Manually setting up Langchain Callback handler with explicit values doesn't configure langfuse client in decorator approach", + "href": "https://github.com/orgs/langfuse/discussions/3796", + "created_at": "2024-10-17T08:36:51Z", "upvotes": 1, - "comment_count": 1, - "resolved": false, - "labels": [], - "author": { - "login": "eliorc", - "html_url": "https://github.com/eliorc" - }, - "category": "Ideas" - }, - { - "number": 3723, - "title": "Terminal version of Langfuse (Langfuse CLI)", - "href": "https://github.com/orgs/langfuse/discussions/3723", - "created_at": "2024-10-11T21:06:48Z", - "upvotes": 3, "comment_count": 2, - "resolved": false, - "labels": [], - "author": { - "login": "Shahin-rmz", - "html_url": "https://github.com/Shahin-rmz" - }, - "category": "Ideas" - }, - { - "number": 3681, - "title": "Evalution of a prompt by a LLM", - "href": "https://github.com/orgs/langfuse/discussions/3681", - "created_at": "2024-10-09T19:17:30Z", - "upvotes": 3, - "comment_count": 0, - "resolved": false, + "resolved": true, "labels": [ - "feat-prompt-management" + "integration-langchain" ], "author": { - "login": "jannikmaierhoefer", - "html_url": "https://github.com/jannikmaierhoefer" + "login": "FaresKi", + "html_url": "https://github.com/FaresKi" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3663, - "title": "Dashboard: Add time to first token chart (ttft)", - "href": "https://github.com/orgs/langfuse/discussions/3663", - "created_at": "2024-10-08T23:56:42Z", - "upvotes": 6, - "comment_count": 0, - "resolved": false, + "number": 3780, + "title": "How to use prompt management with litellm's integration with langfuse?", + "href": "https://github.com/orgs/langfuse/discussions/3780", + "created_at": "2024-10-16T16:48:40Z", + "upvotes": 2, + "comment_count": 8, + "resolved": true, "labels": [ - "feat-dashboard" + "feat-prompt-management", + "integration-litellm" ], "author": { - "login": "marcklingen", - "html_url": "https://github.com/marcklingen" - }, - "category": "Ideas" - }, - { - "number": 3646, - "title": "Table sorting and filtering in database runs", - "href": "https://github.com/orgs/langfuse/discussions/3646", - "created_at": "2024-10-08T11:13:52Z", - "upvotes": 2, - "comment_count": 0, - "resolved": false, - "labels": [], - "author": { - "login": "FlorDonnaSanders", - "html_url": "https://github.com/FlorDonnaSanders" + "login": "GildeshAbhay", + "html_url": "https://github.com/GildeshAbhay" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3618, - "title": "User Aliases", - "href": "https://github.com/orgs/langfuse/discussions/3618", - "created_at": "2024-10-07T07:51:49Z", + "number": 3779, + "title": "Annotation Queues and Session IDs and Datasets and LLM Security", + "href": "https://github.com/orgs/langfuse/discussions/3779", + "created_at": "2024-10-16T14:55:09Z", "upvotes": 1, - "comment_count": 1, + "comment_count": 3, "resolved": false, "labels": [], "author": { - "login": "FlorDonnaSanders", - "html_url": "https://github.com/FlorDonnaSanders" + "login": "paolotamag", + "html_url": "https://github.com/paolotamag" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3576, - "title": "feat: edit custom model definitions", - "href": "https://github.com/orgs/langfuse/discussions/3576", - "created_at": "2024-10-04T12:40:54Z", - "upvotes": 3, - "comment_count": 0, - "resolved": false, + "number": 3778, + "title": "Observe decorator not working with custom langchain model & custom langfuse callback handler", + "href": "https://github.com/orgs/langfuse/discussions/3778", + "created_at": "2024-10-16T12:36:02Z", + "upvotes": 1, + "comment_count": 2, + "resolved": true, "labels": [], "author": { - "login": "nialldevlin1", - "html_url": "https://github.com/nialldevlin1" + "login": "FaresKi", + "html_url": "https://github.com/FaresKi" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3558, - "title": "Dashboard: split prompt/completion/total tokens", - "href": "https://github.com/orgs/langfuse/discussions/3558", - "created_at": "2024-10-02T02:17:47Z", - "upvotes": 6, - "comment_count": 0, + "number": 3777, + "title": "Error when trying to upgrade my langfuse deployment", + "href": "https://github.com/orgs/langfuse/discussions/3777", + "created_at": "2024-10-16T09:25:53Z", + "upvotes": 2, + "comment_count": 2, "resolved": false, "labels": [ - "feat-dashboard" + "self-hosting" ], "author": { - "login": "marcklingen", - "html_url": "https://github.com/marcklingen" + "login": "nithin1995", + "html_url": "https://github.com/nithin1995" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3551, - "title": "Metrics API to support the OpenMetrics format", - "href": "https://github.com/orgs/langfuse/discussions/3551", - "created_at": "2024-10-01T15:03:02Z", - "upvotes": 3, - "comment_count": 0, - "resolved": false, + "number": 3766, + "title": "Latency and total cost for runs are not computed", + "href": "https://github.com/orgs/langfuse/discussions/3766", + "created_at": "2024-10-15T21:38:15Z", + "upvotes": 1, + "comment_count": 3, + "resolved": true, "labels": [], "author": { - "login": "shukawam", - "html_url": "https://github.com/shukawam" + "login": "ldbolanos", + "html_url": "https://github.com/ldbolanos" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3550, - "title": "Asynchronous Langfuse Client.", - "href": "https://github.com/orgs/langfuse/discussions/3550", - "created_at": "2024-10-01T14:03:48Z", - "upvotes": 8, - "comment_count": 1, - "resolved": false, + "number": 3764, + "title": "Best practices for tracing an app with history and tool usage", + "href": "https://github.com/orgs/langfuse/discussions/3764", + "created_at": "2024-10-15T21:27:34Z", + "upvotes": 2, + "comment_count": 3, + "resolved": true, "labels": [ - "sdk-python" + "integration-openai" ], "author": { - "login": "fimselamse", - "html_url": "https://github.com/fimselamse" + "login": "machulav", + "html_url": "https://github.com/machulav" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3546, - "title": "Add SCIM support for user/role/identity management", - "href": "https://github.com/orgs/langfuse/discussions/3546", - "created_at": "2024-10-01T02:18:33Z", + "number": 3756, + "title": "How to create an eval config for prompts using python api?", + "href": "https://github.com/orgs/langfuse/discussions/3756", + "created_at": "2024-10-15T09:20:06Z", "upvotes": 1, - "comment_count": 1, - "resolved": false, + "comment_count": 2, + "resolved": true, "labels": [ - "feat-api", - "security" + "feat-evals" ], "author": { - "login": "marcklingen", - "html_url": "https://github.com/marcklingen" + "login": "GildeshAbhay", + "html_url": "https://github.com/GildeshAbhay" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3538, - "title": "Vector search for datasets for few-shot prompting", - "href": "https://github.com/orgs/langfuse/discussions/3538", - "created_at": "2024-09-30T17:31:18Z", + "number": 3737, + "title": "Monitoring for multi agent systems (OpenWebUI)", + "href": "https://github.com/orgs/langfuse/discussions/3737", + "created_at": "2024-10-14T16:50:17Z", "upvotes": 1, - "comment_count": 1, - "resolved": false, + "comment_count": 3, + "resolved": true, "labels": [ - "feat-datasets" + "integration-openwebui" ], "author": { - "login": "antoniomdk", - "html_url": "https://github.com/antoniomdk" + "login": "OM-EL", + "html_url": "https://github.com/OM-EL" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3529, - "title": "Sampling for JS/TS SDKs and integrations", - "href": "https://github.com/orgs/langfuse/discussions/3529", - "created_at": "2024-09-30T05:44:07Z", - "upvotes": 8, - "comment_count": 0, - "resolved": false, + "number": 3735, + "title": "Is it possible to use tools calling and structured output in the Prompts UI and Playground?", + "href": "https://github.com/orgs/langfuse/discussions/3735", + "created_at": "2024-10-14T16:43:23Z", + "upvotes": 1, + "comment_count": 2, + "resolved": true, "labels": [ - "feat-sampling" + "feat-prompt-management", + "feat-playground" ], "author": { - "login": "marcklingen", - "html_url": "https://github.com/marcklingen" + "login": "mifopen", + "html_url": "https://github.com/mifopen" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3528, - "title": "Add saved filters config", - "href": "https://github.com/orgs/langfuse/discussions/3528", - "created_at": "2024-09-30T05:36:44Z", + "number": 3718, + "title": "How to delete a Session?", + "href": "https://github.com/orgs/langfuse/discussions/3718", + "created_at": "2024-10-11T14:51:46Z", "upvotes": 1, - "comment_count": 1, - "resolved": false, + "comment_count": 2, + "resolved": true, "labels": [ - "ui" + "feat-sessions" ], "author": { - "login": "emaugars12", - "html_url": "https://github.com/emaugars12" + "login": "augustoolucas", + "html_url": "https://github.com/augustoolucas" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3527, - "title": "Show prompt-level aggregate metrics on the prompts table", - "href": "https://github.com/orgs/langfuse/discussions/3527", - "created_at": "2024-09-30T00:33:43Z", - "upvotes": 4, - "comment_count": 0, - "resolved": false, + "number": 3717, + "title": "Llamaindex Workflow does't work with Instrumentation Module", + "href": "https://github.com/orgs/langfuse/discussions/3717", + "created_at": "2024-10-11T10:27:09Z", + "upvotes": 1, + "comment_count": 3, + "resolved": true, "labels": [ - "feat-prompt-management" + "integraton-llamaindex" ], "author": { - "login": "marcklingen", - "html_url": "https://github.com/marcklingen" + "login": "ntdanhtma", + "html_url": "https://github.com/ntdanhtma" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3524, - "title": "Field-level selection for input/output filtering in decorator instead of using update_current_observation/trace", - "href": "https://github.com/orgs/langfuse/discussions/3524", - "created_at": "2024-09-29T08:28:45Z", + "number": 3698, + "title": "Can I use Amazon Bedrock for Langfuse Evals?", + "href": "https://github.com/orgs/langfuse/discussions/3698", + "created_at": "2024-10-10T15:34:48Z", "upvotes": 1, - "comment_count": 4, - "resolved": false, + "comment_count": 5, + "resolved": true, "labels": [ - "integration-python-decorator" + "feat-evals", + "integration-amazon-bedrock" ], "author": { - "login": "amir-mic-lin", - "html_url": "https://github.com/amir-mic-lin" + "login": "j10sanders", + "html_url": "https://github.com/j10sanders" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3508, - "title": "feat: organization level dashboard", - "href": "https://github.com/orgs/langfuse/discussions/3508", - "created_at": "2024-09-27T13:48:13Z", + "number": 3679, + "title": "Langfuse / Langflow not intergrating", + "href": "https://github.com/orgs/langfuse/discussions/3679", + "created_at": "2024-10-09T17:06:32Z", "upvotes": 1, - "comment_count": 1, + "comment_count": 2, "resolved": false, - "labels": [], + "labels": [ + "integration-langflow" + ], "author": { - "login": "nialldevlin1", - "html_url": "https://github.com/nialldevlin1" + "login": "colecal", + "html_url": "https://github.com/colecal" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3478, - "title": "TextGrad integration", - "href": "https://github.com/orgs/langfuse/discussions/3478", - "created_at": "2024-09-25T16:13:45Z", + "number": 3678, + "title": "Langfuse not tracing code from my VM (server)", + "href": "https://github.com/orgs/langfuse/discussions/3678", + "created_at": "2024-10-09T14:56:05Z", "upvotes": 1, "comment_count": 1, "resolved": false, "labels": [ - "integrations" + "self-hosting" ], "author": { - "login": "sakthi-geek", - "html_url": "https://github.com/sakthi-geek" + "login": "akbar-mta", + "html_url": "https://github.com/akbar-mta" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3476, - "title": "Chart: usage/metrics grouped by tags", - "href": "https://github.com/orgs/langfuse/discussions/3476", - "created_at": "2024-09-25T13:54:14Z", - "upvotes": 2, - "comment_count": 0, - "resolved": false, + "number": 3674, + "title": "Docs for K8s deployments", + "href": "https://github.com/orgs/langfuse/discussions/3674", + "created_at": "2024-10-09T09:52:05Z", + "upvotes": 1, + "comment_count": 2, + "resolved": true, "labels": [ - "feat-dashboard", - "feat-tags" + "self-hosting" ], "author": { - "login": "marcklingen", - "html_url": "https://github.com/marcklingen" + "login": "Brant-lzh", + "html_url": "https://github.com/Brant-lzh" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3472, - "title": "Dashboard: add chart for unique users (MAU/WAU/DAU)", - "href": "https://github.com/orgs/langfuse/discussions/3472", - "created_at": "2024-09-25T11:37:30Z", - "upvotes": 2, - "comment_count": 0, - "resolved": false, - "labels": [ - "feat-dashboard", - "feat-users" - ], + "number": 3645, + "title": "Cannot Sign In or Sign Up to Local Langfuse Instance", + "href": "https://github.com/orgs/langfuse/discussions/3645", + "created_at": "2024-10-08T11:09:48Z", + "upvotes": 1, + "comment_count": 2, + "resolved": true, + "labels": [], "author": { - "login": "marcklingen", - "html_url": "https://github.com/marcklingen" + "login": "Patryk-Chlanda", + "html_url": "https://github.com/Patryk-Chlanda" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3447, - "title": "Playground: Move messages / add messages in-between others", - "href": "https://github.com/orgs/langfuse/discussions/3447", - "created_at": "2024-09-23T09:16:23Z", + "number": 3641, + "title": "Sign in and Sign up button is greyed out", + "href": "https://github.com/orgs/langfuse/discussions/3641", + "created_at": "2024-10-08T09:32:16Z", + "upvotes": 1, + "comment_count": 2, + "resolved": true, + "labels": [], + "author": { + "login": "akbar-mta", + "html_url": "https://github.com/akbar-mta" + }, + "category": "Support" + }, + { + "number": 3637, + "title": "Sign In Button Remains Disabled When Logging in with Email/Password on Langfuse Self-Hosted", + "href": "https://github.com/orgs/langfuse/discussions/3637", + "created_at": "2024-10-08T06:40:05Z", "upvotes": 2, - "comment_count": 0, - "resolved": false, - "labels": [ - "feat-playground" - ], + "comment_count": 2, + "resolved": true, + "labels": [], "author": { - "login": "jannikmaierhoefer", - "html_url": "https://github.com/jannikmaierhoefer" + "login": "tubone24", + "html_url": "https://github.com/tubone24" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3443, - "title": "Why not extend observeOpenAI to support message-level user id?", - "href": "https://github.com/orgs/langfuse/discussions/3443", - "created_at": "2024-09-21T23:57:57Z", + "number": 3615, + "title": "Failing with internal server error when trying to add score to a trace", + "href": "https://github.com/orgs/langfuse/discussions/3615", + "created_at": "2024-10-07T06:15:14Z", "upvotes": 1, - "comment_count": 1, - "resolved": false, + "comment_count": 2, + "resolved": true, "labels": [], "author": { - "login": "derrickstaten", - "html_url": "https://github.com/derrickstaten" + "login": "nithin1995", + "html_url": "https://github.com/nithin1995" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3439, - "title": "Filtering dataset items", - "href": "https://github.com/orgs/langfuse/discussions/3439", - "created_at": "2024-09-21T01:51:33Z", - "upvotes": 3, - "comment_count": 0, - "resolved": false, - "labels": [ - "feat-datasets" - ], + "number": 3592, + "title": "Set trace_id in Langchain CallbackHandler", + "href": "https://github.com/orgs/langfuse/discussions/3592", + "created_at": "2024-10-05T11:09:30Z", + "upvotes": 1, + "comment_count": 1, + "resolved": true, + "labels": [], "author": { - "login": "emaugars12", - "html_url": "https://github.com/emaugars12" + "login": "michaelpoluektov", + "html_url": "https://github.com/michaelpoluektov" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3438, - "title": "Support export for Dataset Items", - "href": "https://github.com/orgs/langfuse/discussions/3438", - "created_at": "2024-09-20T22:57:21Z", - "upvotes": 4, - "comment_count": 0, - "resolved": false, + "number": 3574, + "title": "Automated provisioning of default resources in self hosting", + "href": "https://github.com/orgs/langfuse/discussions/3574", + "created_at": "2024-10-04T06:44:45Z", + "upvotes": 1, + "comment_count": 2, + "resolved": true, "labels": [ - "feat-datasets" + "self-hosting" ], "author": { - "login": "uladkaminski", - "html_url": "https://github.com/uladkaminski" + "login": "Harinisri29", + "html_url": "https://github.com/Harinisri29" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3436, - "title": "Prompt label promotion via api/sdk", - "href": "https://github.com/orgs/langfuse/discussions/3436", - "created_at": "2024-09-20T21:32:07Z", + "number": 3569, + "title": "UnauthorizedError: No authorization header After Switching to Headless Initialization", + "href": "https://github.com/orgs/langfuse/discussions/3569", + "created_at": "2024-10-03T08:52:35Z", "upvotes": 2, - "comment_count": 1, + "comment_count": 2, "resolved": false, "labels": [], "author": { - "login": "mrdrprofuroboros", - "html_url": "https://github.com/mrdrprofuroboros" + "login": "chandel-aman", + "html_url": "https://github.com/chandel-aman" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3431, - "title": "3rd option for \"sharing\" traces publicly", - "href": "https://github.com/orgs/langfuse/discussions/3431", - "created_at": "2024-09-20T16:29:28Z", + "number": 3559, + "title": "Token Cost using OpenRouter", + "href": "https://github.com/orgs/langfuse/discussions/3559", + "created_at": "2024-10-02T05:25:14Z", "upvotes": 1, - "comment_count": 0, - "resolved": false, + "comment_count": 1, + "resolved": true, "labels": [], "author": { - "login": "jannikmaierhoefer", - "html_url": "https://github.com/jannikmaierhoefer" + "login": "austinm911", + "html_url": "https://github.com/austinm911" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3415, - "title": "Only use traces in the dataset to render score columns", - "href": "https://github.com/orgs/langfuse/discussions/3415", - "created_at": "2024-09-19T17:36:44Z", + "number": 3557, + "title": "Link 2 traces", + "href": "https://github.com/orgs/langfuse/discussions/3557", + "created_at": "2024-10-02T02:14:27Z", "upvotes": 1, "comment_count": 1, - "resolved": false, - "labels": [ - "feat-datasets" - ], + "resolved": true, + "labels": [], "author": { - "login": "micahstairs", - "html_url": "https://github.com/micahstairs" + "login": "saiprasath21", + "html_url": "https://github.com/saiprasath21" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3412, - "title": "Source code versioning and automatic statistics caluclation from scores", - "href": "https://github.com/orgs/langfuse/discussions/3412", - "created_at": "2024-09-19T10:44:02Z", + "number": 3556, + "title": "Update a trace", + "href": "https://github.com/orgs/langfuse/discussions/3556", + "created_at": "2024-10-02T02:10:15Z", "upvotes": 1, "comment_count": 1, - "resolved": false, - "labels": [ - "feat-scores" - ], + "resolved": true, + "labels": [], "author": { - "login": "ge28yen", - "html_url": "https://github.com/ge28yen" + "login": "saiprasath21", + "html_url": "https://github.com/saiprasath21" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3409, - "title": "Add graph view for LangGraph traces", - "href": "https://github.com/orgs/langfuse/discussions/3409", - "created_at": "2024-09-19T07:55:02Z", - "upvotes": 5, + "number": 3553, + "title": "How to track DSPy call within Langgraph", + "href": "https://github.com/orgs/langfuse/discussions/3553", + "created_at": "2024-10-01T20:00:11Z", + "upvotes": 1, "comment_count": 1, "resolved": false, "labels": [ - "integration-langchain" - ], - "author": { - "login": "hassiebp", - "html_url": "https://github.com/hassiebp" - }, - "category": "Ideas" - }, - { - "number": 3402, - "title": "Mask / redact PII from traces logged to langfuse", - "href": "https://github.com/orgs/langfuse/discussions/3402", - "created_at": "2024-09-18T21:04:06Z", - "upvotes": 6, - "comment_count": 3, - "resolved": false, - "labels": [ - "✅ Done", - "security" + "integration-langchain", + "integration-dspy" ], "author": { "login": "marcklingen", "html_url": "https://github.com/marcklingen" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3401, - "title": "Make compile and get_langchain_prompt interoperable when using a prompt from langfuse in langchain", - "href": "https://github.com/orgs/langfuse/discussions/3401", - "created_at": "2024-09-18T21:03:20Z", + "number": 3552, + "title": "LlamaIndex traces grouping", + "href": "https://github.com/orgs/langfuse/discussions/3552", + "created_at": "2024-10-01T18:35:11Z", "upvotes": 1, "comment_count": 2, - "resolved": false, + "resolved": true, "labels": [ - "feat-prompt-management", - "integration-langchain", - "✅ Done" + "integraton-llamaindex" ], "author": { - "login": "ajram23", - "html_url": "https://github.com/ajram23" + "login": "ivanviragine", + "html_url": "https://github.com/ivanviragine" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3396, - "title": "Better mustache/jinja support in langfuse playground", - "href": "https://github.com/orgs/langfuse/discussions/3396", - "created_at": "2024-09-18T11:54:28Z", - "upvotes": 3, + "number": 3549, + "title": "create api keys pair using some method or api", + "href": "https://github.com/orgs/langfuse/discussions/3549", + "created_at": "2024-10-01T11:45:12Z", + "upvotes": 1, "comment_count": 2, - "resolved": false, + "resolved": true, "labels": [ - "feat-playground" + "self-hosting" ], "author": { - "login": "FlorDonnaSanders", - "html_url": "https://github.com/FlorDonnaSanders" + "login": "ryanrib14", + "html_url": "https://github.com/ryanrib14" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3395, - "title": "Add fine-grained filtering options in python `fetch_traces` API to match web UI", - "href": "https://github.com/orgs/langfuse/discussions/3395", - "created_at": "2024-09-18T11:18:20Z", - "upvotes": 2, - "comment_count": 0, - "resolved": false, - "labels": [], + "number": 3545, + "title": "How to Set Custom Trace ID with a Decorator and Include langfuse_observation_id?", + "href": "https://github.com/orgs/langfuse/discussions/3545", + "created_at": "2024-10-01T02:04:03Z", + "upvotes": 1, + "comment_count": 2, + "resolved": true, + "labels": [ + "integration-python-decorator" + ], "author": { - "login": "evangriffiths", - "html_url": "https://github.com/evangriffiths" + "login": "octadion", + "html_url": "https://github.com/octadion" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3376, - "title": "Allow LangchainCallbackHandler to specify custom input/output?", - "href": "https://github.com/orgs/langfuse/discussions/3376", - "created_at": "2024-09-16T23:45:18Z", + "number": 3540, + "title": "error ❌ tRPC failed on public.checkUpdate: Failed to fetch or json parse the latest releases Failed to fetch or json parse the latest releases", + "href": "https://github.com/orgs/langfuse/discussions/3540", + "created_at": "2024-09-30T20:29:22Z", "upvotes": 1, "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [ - "integration-langchain" + "self-hosting" ], "author": { - "login": "xxkennyxu", - "html_url": "https://github.com/xxkennyxu" + "login": "FaresKi", + "html_url": "https://github.com/FaresKi" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3375, - "title": "Promptfoo integration", - "href": "https://github.com/orgs/langfuse/discussions/3375", - "created_at": "2024-09-16T23:34:34Z", - "upvotes": 2, - "comment_count": 1, - "resolved": false, + "number": 3531, + "title": "is it possible to assign a label to an existing prompt via API/SDK ?", + "href": "https://github.com/orgs/langfuse/discussions/3531", + "created_at": "2024-09-30T07:49:28Z", + "upvotes": 1, + "comment_count": 2, + "resolved": true, "labels": [ - "integrations" + "feat-prompt-management" ], "author": { - "login": "aiseei", - "html_url": "https://github.com/aiseei" + "login": "simicvm", + "html_url": "https://github.com/simicvm" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3367, - "title": "Default closed dropdown view in trace details", - "href": "https://github.com/orgs/langfuse/discussions/3367", - "created_at": "2024-09-16T12:47:26Z", - "upvotes": 2, - "comment_count": 1, + "number": 3525, + "title": "Applying database migrations failed. This is mostly caused by the database being unavailable", + "href": "https://github.com/orgs/langfuse/discussions/3525", + "created_at": "2024-09-29T11:14:04Z", + "upvotes": 1, + "comment_count": 3, "resolved": false, "labels": [ - "ui" + "self-hosting" ], "author": { - "login": "jannikmaierhoefer", - "html_url": "https://github.com/jannikmaierhoefer" + "login": "NanthagopalEswaran", + "html_url": "https://github.com/NanthagopalEswaran" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3363, - "title": "Dashboard: TPM chart", - "href": "https://github.com/orgs/langfuse/discussions/3363", - "created_at": "2024-09-16T07:53:52Z", - "upvotes": 2, - "comment_count": 1, - "resolved": false, - "labels": [ - "feat-dashboard" - ], - "author": { - "login": "afonsomatos", - "html_url": "https://github.com/afonsomatos" - }, - "category": "Ideas" - }, - { - "number": 3361, - "title": "Group Similar or Consecutive Traces", - "href": "https://github.com/orgs/langfuse/discussions/3361", - "created_at": "2024-09-16T05:38:40Z", + "number": 3521, + "title": "is it open source or not?", + "href": "https://github.com/orgs/langfuse/discussions/3521", + "created_at": "2024-09-27T22:07:52Z", "upvotes": 1, "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [], "author": { - "login": "rvndbalaji", - "html_url": "https://github.com/rvndbalaji" + "login": "severfire", + "html_url": "https://github.com/severfire" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3358, - "title": "More customization in graphs and dashboard panels", - "href": "https://github.com/orgs/langfuse/discussions/3358", - "created_at": "2024-09-14T03:12:38Z", + "number": 3520, + "title": "Langfuse not logging costs on Vertex AI gemini-1.5-flash-002.", + "href": "https://github.com/orgs/langfuse/discussions/3520", + "created_at": "2024-09-27T18:51:08Z", "upvotes": 1, "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [ - "feat-dashboard" + "integraton-llamaindex" ], "author": { - "login": "emaugars12", - "html_url": "https://github.com/emaugars12" + "login": "arthurbrenno", + "html_url": "https://github.com/arthurbrenno" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3352, - "title": "LLM Based Evaluation - more control with mapping a variable e.g. {{query}}, {{ground_truth}} etc inside of Input/Output/Metadata observation", - "href": "https://github.com/orgs/langfuse/discussions/3352", - "created_at": "2024-09-13T16:58:05Z", + "number": 3503, + "title": "Not possible to delete prompts programmatically, (langfuse python library or api)", + "href": "https://github.com/orgs/langfuse/discussions/3503", + "created_at": "2024-09-27T12:33:52Z", "upvotes": 2, - "comment_count": 1, - "resolved": false, - "labels": [], + "comment_count": 2, + "resolved": true, + "labels": [ + "feat-prompt-management" + ], "author": { - "login": "stepanogil", - "html_url": "https://github.com/stepanogil" + "login": "RealGammaNL", + "html_url": "https://github.com/RealGammaNL" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3351, - "title": "Support for Firebase Genkit", - "href": "https://github.com/orgs/langfuse/discussions/3351", - "created_at": "2024-09-13T16:29:07Z", + "number": 3496, + "title": "Unable to fetch prompts without production label", + "href": "https://github.com/orgs/langfuse/discussions/3496", + "created_at": "2024-09-27T03:27:52Z", "upvotes": 1, "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [ - "integrations" + "feat-prompt-management" ], "author": { - "login": "debkanchan", - "html_url": "https://github.com/debkanchan" + "login": "chandel-aman", + "html_url": "https://github.com/chandel-aman" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3338, - "title": "o1-preview and o1-mini support", - "href": "https://github.com/orgs/langfuse/discussions/3338", - "created_at": "2024-09-13T07:16:22Z", - "upvotes": 2, - "comment_count": 3, + "number": 3489, + "title": "Missing input/output on trace when using openai js integration", + "href": "https://github.com/orgs/langfuse/discussions/3489", + "created_at": "2024-09-26T15:36:06Z", + "upvotes": 1, + "comment_count": 2, "resolved": false, "labels": [ - "✅ Done" + "integration-openai" ], "author": { - "login": "juan-abia", - "html_url": "https://github.com/juan-abia" + "login": "dimitrydesilias", + "html_url": "https://github.com/dimitrydesilias" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3336, - "title": "Add Notification for / in Comments Objects", - "href": "https://github.com/orgs/langfuse/discussions/3336", - "created_at": "2024-09-13T00:04:16Z", + "number": 3486, + "title": "Bind all multiple hierarchical call against session-id instead of opening multiple threads", + "href": "https://github.com/orgs/langfuse/discussions/3486", + "created_at": "2024-09-26T06:31:20Z", "upvotes": 1, - "comment_count": 1, - "resolved": false, + "comment_count": 3, + "resolved": true, "labels": [ - "feat-comments" + "integration-python-decorator" ], "author": { - "login": "Zugunruhekami", - "html_url": "https://github.com/Zugunruhekami" + "login": "ajeet6261", + "html_url": "https://github.com/ajeet6261" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3335, - "title": "Extend Searchability (through filter) for Comments Objects", - "href": "https://github.com/orgs/langfuse/discussions/3335", - "created_at": "2024-09-12T23:58:17Z", + "number": 3485, + "title": "How to avoid memory leaks due to LangchainCallbackHandler while using userId and sessionId", + "href": "https://github.com/orgs/langfuse/discussions/3485", + "created_at": "2024-09-26T00:07:14Z", "upvotes": 1, - "comment_count": 0, - "resolved": false, + "comment_count": 6, + "resolved": true, "labels": [ - "feat-comments" + "integration-langchain", + "feat-users", + "feat-sessions" ], "author": { - "login": "Zugunruhekami", - "html_url": "https://github.com/Zugunruhekami" + "login": "Chengdyc", + "html_url": "https://github.com/Chengdyc" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3291, - "title": "Filter by error in sub span", - "href": "https://github.com/orgs/langfuse/discussions/3291", - "created_at": "2024-09-10T13:20:11Z", - "upvotes": 2, - "comment_count": 3, - "resolved": false, + "number": 3480, + "title": "How to provide a TLS Cert for PGSQL cloud connection in Langfuse docker container?", + "href": "https://github.com/orgs/langfuse/discussions/3480", + "created_at": "2024-09-25T20:44:17Z", + "upvotes": 1, + "comment_count": 2, + "resolved": true, "labels": [ - "✅ Done", - "feat-log-levels" + "self-hosting" ], "author": { - "login": "bettlebrox", - "html_url": "https://github.com/bettlebrox" + "login": "barvhaim", + "html_url": "https://github.com/barvhaim" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3289, - "title": "Deleting old, unused tags or making them unseen if weren't used in the chosen time window.", - "href": "https://github.com/orgs/langfuse/discussions/3289", - "created_at": "2024-09-10T12:56:43Z", + "number": 3477, + "title": "LangFuse Low Level SDK does not render images by passing the link", + "href": "https://github.com/orgs/langfuse/discussions/3477", + "created_at": "2024-09-25T15:15:54Z", "upvotes": 1, "comment_count": 1, "resolved": false, "labels": [ - "feat-tags" + "feat-multimodal" ], "author": { - "login": "constalozinschi", - "html_url": "https://github.com/constalozinschi" + "login": "VikramShenoy97", + "html_url": "https://github.com/VikramShenoy97" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3285, - "title": "SDK-JS: Allow to delete one or more trace", - "href": "https://github.com/orgs/langfuse/discussions/3285", - "created_at": "2024-09-10T09:26:04Z", - "upvotes": 5, + "number": 3469, + "title": "raise exception when handle_span_events", + "href": "https://github.com/orgs/langfuse/discussions/3469", + "created_at": "2024-09-25T00:56:32Z", + "upvotes": 1, "comment_count": 2, "resolved": false, - "labels": [ - "sdk-js" - ], + "labels": [], "author": { - "login": "Lunik", - "html_url": "https://github.com/Lunik" + "login": "nightosong", + "html_url": "https://github.com/nightosong" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3276, - "title": "Retrieve the trace by metdata", - "href": "https://github.com/orgs/langfuse/discussions/3276", - "created_at": "2024-09-09T20:51:08Z", - "upvotes": 3, - "comment_count": 0, - "resolved": false, + "number": 3466, + "title": "How to get costs associated with an API call / user?", + "href": "https://github.com/orgs/langfuse/discussions/3466", + "created_at": "2024-09-24T19:33:56Z", + "upvotes": 1, + "comment_count": 1, + "resolved": true, "labels": [ - "feat-metadata" + "feat-users", + "feat-cost-tracking" ], "author": { - "login": "gingerjx", - "html_url": "https://github.com/gingerjx" + "login": "punkpeye", + "html_url": "https://github.com/punkpeye" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3275, - "title": "Include metrics and scores in getDatasetRun / `GET /api/public/datasets/{datasetName}/runs/{runName}`", - "href": "https://github.com/orgs/langfuse/discussions/3275", - "created_at": "2024-09-09T20:48:16Z", - "upvotes": 3, - "comment_count": 0, - "resolved": false, + "number": 3465, + "title": "How to run langfuse locally while using a hosted database", + "href": "https://github.com/orgs/langfuse/discussions/3465", + "created_at": "2024-09-24T14:24:29Z", + "upvotes": 1, + "comment_count": 1, + "resolved": true, "labels": [ - "feat-datasets" + "self-hosting" ], "author": { - "login": "gingerjx", - "html_url": "https://github.com/gingerjx" + "login": "wil0u", + "html_url": "https://github.com/wil0u" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3273, - "title": "Custom Themes", - "href": "https://github.com/orgs/langfuse/discussions/3273", - "created_at": "2024-09-09T15:08:25Z", - "upvotes": 1, - "comment_count": 1, - "resolved": false, - "labels": [], - "author": { - "login": "rvndbalaji", - "html_url": "https://github.com/rvndbalaji" - }, - "category": "Ideas" - }, - { - "number": 3263, - "title": "Comment API", - "href": "https://github.com/orgs/langfuse/discussions/3263", - "created_at": "2024-09-07T05:53:31Z", + "number": 3462, + "title": "how to set user_id or session_id in trace?", + "href": "https://github.com/orgs/langfuse/discussions/3462", + "created_at": "2024-09-24T08:34:59Z", "upvotes": 1, - "comment_count": 1, - "resolved": false, + "comment_count": 2, + "resolved": true, "labels": [ - "feat-api", - "feat-datasets" + "integration-python-decorator", + "feat-users", + "feat-sessions" ], "author": { - "login": "darvin", - "html_url": "https://github.com/darvin" + "login": "yumc2573", + "html_url": "https://github.com/yumc2573" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3256, - "title": "Integration with LangChain4j", - "href": "https://github.com/orgs/langfuse/discussions/3256", - "created_at": "2024-09-06T15:50:51Z", + "number": 3460, + "title": "Langfuse observation for openai embeddings method", + "href": "https://github.com/orgs/langfuse/discussions/3460", + "created_at": "2024-09-24T06:01:06Z", "upvotes": 2, "comment_count": 2, - "resolved": false, + "resolved": true, "labels": [ - "integrations", - "feat-prompt-management", - "integration-langchain" + "integration-openai", + "integration-python-decorator", + "feat-cost-tracking" ], "author": { - "login": "ruizrube", - "html_url": "https://github.com/ruizrube" + "login": "simrangulati-jktech", + "html_url": "https://github.com/simrangulati-jktech" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3252, - "title": "Need to retain the old evaluation history results, including input and all ground truth", - "href": "https://github.com/orgs/langfuse/discussions/3252", - "created_at": "2024-09-06T03:29:17Z", + "number": 3446, + "title": "Right way to migrate langfuse deployed on K8s within an AWS account", + "href": "https://github.com/orgs/langfuse/discussions/3446", + "created_at": "2024-09-23T06:32:02Z", "upvotes": 1, "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [ - "feat-datasets" + "self-hosting" ], "author": { - "login": "serlina", - "html_url": "https://github.com/serlina" + "login": "nithin1995", + "html_url": "https://github.com/nithin1995" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3243, - "title": "Add organization / project / user / API key management API", - "href": "https://github.com/orgs/langfuse/discussions/3243", - "created_at": "2024-09-05T08:10:12Z", - "upvotes": 9, - "comment_count": 5, - "resolved": false, - "labels": [ - "self-hosting" - ], + "number": 3435, + "title": "Langfuse is inconsistently generating span latencies table in traces greater than 36K entiries", + "href": "https://github.com/orgs/langfuse/discussions/3435", + "created_at": "2024-09-20T18:54:28Z", + "upvotes": 1, + "comment_count": 3, + "resolved": true, + "labels": [], "author": { - "login": "EricAntidot", - "html_url": "https://github.com/EricAntidot" + "login": "databloom", + "html_url": "https://github.com/databloom" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3240, - "title": "Ability to export all traces/sessions/scores from langfuse and import back to another langfuse instance", - "href": "https://github.com/orgs/langfuse/discussions/3240", - "created_at": "2024-09-05T07:11:48Z", - "upvotes": 5, + "number": 3429, + "title": "Async version of Langfuse.get_prompt", + "href": "https://github.com/orgs/langfuse/discussions/3429", + "created_at": "2024-09-20T14:26:51Z", + "upvotes": 1, "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [ - "self-hosting" + "feat-prompt-management" ], "author": { - "login": "SinghCoder", - "html_url": "https://github.com/SinghCoder" + "login": "antoniomdk", + "html_url": "https://github.com/antoniomdk" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3237, - "title": "Support for Selecting Specific Paths from JSON Objects in Evaluation Prompts", - "href": "https://github.com/orgs/langfuse/discussions/3237", - "created_at": "2024-09-05T05:05:48Z", - "upvotes": 2, - "comment_count": 2, + "number": 3420, + "title": "Help setting up GCP host (cloudbuild or console)", + "href": "https://github.com/orgs/langfuse/discussions/3420", + "created_at": "2024-09-20T04:34:35Z", + "upvotes": 1, + "comment_count": 3, "resolved": false, "labels": [ - "feat-evals" + "self-hosting" ], "author": { - "login": "divyanshubhuta", - "html_url": "https://github.com/divyanshubhuta" + "login": "elliottower", + "html_url": "https://github.com/elliottower" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3220, - "title": "Trace Logprobs from OpenAI models", - "href": "https://github.com/orgs/langfuse/discussions/3220", - "created_at": "2024-09-04T01:25:15Z", - "upvotes": 2, - "comment_count": 0, - "resolved": false, + "number": 3410, + "title": "Configuring Evaluation with \"Correctness\" Template & Python Code Invocation", + "href": "https://github.com/orgs/langfuse/discussions/3410", + "created_at": "2024-09-19T09:44:42Z", + "upvotes": 1, + "comment_count": 3, + "resolved": true, "labels": [ - "integration-openai" + "feat-scores" ], "author": { - "login": "yusuke-intern", - "html_url": "https://github.com/yusuke-intern" + "login": "zoulou00", + "html_url": "https://github.com/zoulou00" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3215, - "title": "(ui) Ability to hide \"scores\" column", - "href": "https://github.com/orgs/langfuse/discussions/3215", - "created_at": "2024-09-03T15:34:14Z", - "upvotes": 2, - "comment_count": 2, - "resolved": false, - "labels": [], + "number": 3406, + "title": "Module not found: Can't resolve '@langfuse'", + "href": "https://github.com/orgs/langfuse/discussions/3406", + "created_at": "2024-09-19T05:57:04Z", + "upvotes": 1, + "comment_count": 1, + "resolved": true, + "labels": [ + "self-hosting" + ], "author": { - "login": "marctorsoc", - "html_url": "https://github.com/marctorsoc" + "login": "christosuster", + "html_url": "https://github.com/christosuster" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3212, - "title": "Dataset run description and metadata should not be fixed on the page", - "href": "https://github.com/orgs/langfuse/discussions/3212", - "created_at": "2024-09-03T12:30:34Z", + "number": 3397, + "title": "tokens and usage cost", + "href": "https://github.com/orgs/langfuse/discussions/3397", + "created_at": "2024-09-18T13:05:07Z", "upvotes": 1, - "comment_count": 1, - "resolved": false, + "comment_count": 2, + "resolved": true, "labels": [ - "feat-datasets" + "feat-cost-tracking" ], "author": { - "login": "justinas-kazanavicius", - "html_url": "https://github.com/justinas-kazanavicius" + "login": "Karanaiinfox", + "html_url": "https://github.com/Karanaiinfox" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3208, - "title": "Support for exporting traces to CSV/JSON", - "href": "https://github.com/orgs/langfuse/discussions/3208", - "created_at": "2024-09-03T08:00:36Z", - "upvotes": 4, + "number": 3393, + "title": "Self-Host evaluation feature", + "href": "https://github.com/orgs/langfuse/discussions/3393", + "created_at": "2024-09-18T07:55:30Z", + "upvotes": 2, "comment_count": 2, - "resolved": false, + "resolved": true, "labels": [ - "✅ Done" + "feat-evals" ], "author": { - "login": "david1542", - "html_url": "https://github.com/david1542" + "login": "MayankBitcot", + "html_url": "https://github.com/MayankBitcot" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3194, - "title": "Optionally set timestamp when creating a score", - "href": "https://github.com/orgs/langfuse/discussions/3194", - "created_at": "2024-09-02T15:20:20Z", + "number": 3392, + "title": "not able to track entire request end to end in langchain + langfuse", + "href": "https://github.com/orgs/langfuse/discussions/3392", + "created_at": "2024-09-18T07:08:49Z", "upvotes": 1, - "comment_count": 1, + "comment_count": 2, "resolved": false, "labels": [ - "feat-api", - "feat-scores" + "integration-langchain" ], "author": { - "login": "FlorDonnaSanders", - "html_url": "https://github.com/FlorDonnaSanders" + "login": "jaiswalvineet", + "html_url": "https://github.com/jaiswalvineet" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3186, - "title": "Setting trace ID and parent observation ID with Python decorator SDK", - "href": "https://github.com/orgs/langfuse/discussions/3186", - "created_at": "2024-09-02T09:27:36Z", + "number": 3379, + "title": "Feedback for “Langfuse Documentation”", + "href": "https://github.com/orgs/langfuse/discussions/3379", + "created_at": "2024-09-17T07:44:56Z", "upvotes": 1, "comment_count": 3, "resolved": false, - "labels": [ - "✅ Done", - "integration-python-decorator" - ], + "labels": [], "author": { - "login": "MrOrz", - "html_url": "https://github.com/MrOrz" + "login": "Preet1234-ux", + "html_url": "https://github.com/Preet1234-ux" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3181, - "title": "Log only metadata", - "href": "https://github.com/orgs/langfuse/discussions/3181", - "created_at": "2024-08-31T18:31:11Z", - "upvotes": 2, - "comment_count": 0, - "resolved": false, - "labels": [], + "number": 3364, + "title": "Hey want to change the Eval Templates name, can we do it from UI", + "href": "https://github.com/orgs/langfuse/discussions/3364", + "created_at": "2024-09-16T08:07:30Z", + "upvotes": 1, + "comment_count": 3, + "resolved": true, + "labels": [ + "feat-evals" + ], "author": { - "login": "jan-kubica", - "html_url": "https://github.com/jan-kubica" + "login": "divyanshubhuta", + "html_url": "https://github.com/divyanshubhuta" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3178, - "title": "The display time on the x-axis of the chart in the Dashboard shows only the date, without hours, minutes, and seconds.", - "href": "https://github.com/orgs/langfuse/discussions/3178", - "created_at": "2024-08-31T04:09:07Z", + "number": 3344, + "title": "How to use langfuse with LangGraph Studio", + "href": "https://github.com/orgs/langfuse/discussions/3344", + "created_at": "2024-09-13T11:35:53Z", "upvotes": 1, - "comment_count": 1, + "comment_count": 2, "resolved": false, "labels": [ - "bug", - "✅ Done", - "feat-dashboard" + "integration-langchain" ], "author": { - "login": "HGladiator", - "html_url": "https://github.com/HGladiator" + "login": "debkanchan", + "html_url": "https://github.com/debkanchan" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3166, - "title": "Support Tool Calls / Functions in Playground", - "href": "https://github.com/orgs/langfuse/discussions/3166", - "created_at": "2024-08-30T20:04:34Z", - "upvotes": 15, - "comment_count": 10, + "number": 3321, + "title": "Session ids for Langserve", + "href": "https://github.com/orgs/langfuse/discussions/3321", + "created_at": "2024-09-11T22:40:01Z", + "upvotes": 1, + "comment_count": 1, "resolved": false, "labels": [ - "feat-playground" + "integration-langchain", + "feat-sessions" ], "author": { - "login": "yuyuma", - "html_url": "https://github.com/yuyuma" + "login": "YaphetKG", + "html_url": "https://github.com/YaphetKG" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3147, - "title": "Add the ability to search by message words in traces and scores", - "href": "https://github.com/orgs/langfuse/discussions/3147", - "created_at": "2024-08-30T08:02:32Z", - "upvotes": 4, - "comment_count": 0, - "resolved": false, - "labels": [], + "number": 3313, + "title": "how to pass custom user managed model name to calculate the cost via langchain", + "href": "https://github.com/orgs/langfuse/discussions/3313", + "created_at": "2024-09-11T13:25:48Z", + "upvotes": 1, + "comment_count": 3, + "resolved": true, + "labels": [ + "integration-langchain", + "feat-cost-tracking" + ], "author": { - "login": "ValentinKovalev", - "html_url": "https://github.com/ValentinKovalev" + "login": "jaiswalvineet", + "html_url": "https://github.com/jaiswalvineet" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3131, - "title": "Diff of prompt versions", - "href": "https://github.com/orgs/langfuse/discussions/3131", - "created_at": "2024-08-29T11:43:24Z", - "upvotes": 6, + "number": 3308, + "title": "Automated Prompt Management across Environments", + "href": "https://github.com/orgs/langfuse/discussions/3308", + "created_at": "2024-09-11T09:31:26Z", + "upvotes": 1, "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [ "feat-prompt-management" ], "author": { - "login": "dylanjcastillo", - "html_url": "https://github.com/dylanjcastillo" + "login": "jonnyforsterMSG", + "html_url": "https://github.com/jonnyforsterMSG" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3129, - "title": "The LangchainCallbackHandler supports statistical delay of the first token", - "href": "https://github.com/orgs/langfuse/discussions/3129", - "created_at": "2024-08-29T09:26:11Z", - "upvotes": 3, - "comment_count": 2, - "resolved": false, + "number": 3307, + "title": "DataSet Scores are not being displayed", + "href": "https://github.com/orgs/langfuse/discussions/3307", + "created_at": "2024-09-11T08:46:31Z", + "upvotes": 1, + "comment_count": 3, + "resolved": true, "labels": [ - "integration-langchain", - "✅ Done" + "feat-datasets" ], "author": { - "login": "Hacky-DH", - "html_url": "https://github.com/Hacky-DH" + "login": "MaxYaz", + "html_url": "https://github.com/MaxYaz" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3112, - "title": "Request Role elevation from Langfuse UI", - "href": "https://github.com/orgs/langfuse/discussions/3112", - "created_at": "2024-08-28T13:15:21Z", + "number": 3305, + "title": "bug: cost usage are not getting captured automatically from llm response", + "href": "https://github.com/orgs/langfuse/discussions/3305", + "created_at": "2024-09-11T05:02:03Z", "upvotes": 1, - "comment_count": 0, + "comment_count": 2, "resolved": false, - "labels": [ - "feat-rbac" - ], + "labels": [], "author": { - "login": "thund3rbrd", - "html_url": "https://github.com/thund3rbrd" + "login": "ajeet6261", + "html_url": "https://github.com/ajeet6261" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3111, - "title": "Improve RBAC", - "href": "https://github.com/orgs/langfuse/discussions/3111", - "created_at": "2024-08-28T13:08:57Z", + "number": 3271, + "title": "Understanding pricing model (self-hosting vs cloud serving) from security perspective", + "href": "https://github.com/orgs/langfuse/discussions/3271", + "created_at": "2024-09-09T14:07:32Z", "upvotes": 1, - "comment_count": 0, + "comment_count": 2, "resolved": false, - "labels": [ - "feat-rbac" - ], + "labels": [], "author": { - "login": "thund3rbrd", - "html_url": "https://github.com/thund3rbrd" + "login": "uahmad235", + "html_url": "https://github.com/uahmad235" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3074, - "title": "Add \"image_url\" to Langfuse Prompt types.", - "href": "https://github.com/orgs/langfuse/discussions/3074", - "created_at": "2024-08-26T11:54:32Z", - "upvotes": 2, - "comment_count": 1, + "number": 3267, + "title": "python decorator grouping in trace when using FastAPI Server Sent Events and Langraph + custom function", + "href": "https://github.com/orgs/langfuse/discussions/3267", + "created_at": "2024-09-09T11:10:00Z", + "upvotes": 1, + "comment_count": 4, "resolved": false, "labels": [ - "feat-prompt-management" + "integration-langchain", + "integration-python-decorator" ], "author": { - "login": "grobruegge", - "html_url": "https://github.com/grobruegge" + "login": "lixxvsky", + "html_url": "https://github.com/lixxvsky" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3062, - "title": "Support for OpenAI.client.chat.completions.with_raw_response", - "href": "https://github.com/orgs/langfuse/discussions/3062", - "created_at": "2024-08-24T12:55:39Z", + "number": 3254, + "title": "Vercel AI SDK and Svelte. How to push traces intermittently back to langfuse", + "href": "https://github.com/orgs/langfuse/discussions/3254", + "created_at": "2024-09-06T13:37:17Z", "upvotes": 1, "comment_count": 1, "resolved": false, "labels": [ - "integration-openai" + "integration-vercel-ai-sdk" ], "author": { - "login": "aman-gupta-doc", - "html_url": "https://github.com/aman-gupta-doc" + "login": "oghaAI", + "html_url": "https://github.com/oghaAI" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3053, - "title": "Being able to link Prompts with Traces when using the LangChain integration", - "href": "https://github.com/orgs/langfuse/discussions/3053", - "created_at": "2024-08-23T13:14:21Z", - "upvotes": 2, - "comment_count": 2, + "number": 3210, + "title": "When using callbacks, the langfuse_context.update_current_trace method does not function properly.", + "href": "https://github.com/orgs/langfuse/discussions/3210", + "created_at": "2024-09-03T10:29:29Z", + "upvotes": 1, + "comment_count": 4, "resolved": false, - "labels": [ - "✅ Done" - ], + "labels": [], "author": { - "login": "jonnyforsterMSG", - "html_url": "https://github.com/jonnyforsterMSG" + "login": "hgliyuhao", + "html_url": "https://github.com/hgliyuhao" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3050, - "title": "Implement dataset removal method", - "href": "https://github.com/orgs/langfuse/discussions/3050", - "created_at": "2024-08-23T11:40:13Z", - "upvotes": 4, - "comment_count": 0, - "resolved": false, - "labels": [ - "feat-datasets" - ], + "number": 3207, + "title": "change of data region", + "href": "https://github.com/orgs/langfuse/discussions/3207", + "created_at": "2024-09-03T06:06:48Z", + "upvotes": 1, + "comment_count": 1, + "resolved": true, + "labels": [], "author": { - "login": "justinas-kazanavicius", - "html_url": "https://github.com/justinas-kazanavicius" + "login": "divyanshubhuta", + "html_url": "https://github.com/divyanshubhuta" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3023, - "title": "Track openai token usage from stream_options instead of tokenizing the response server-side", - "href": "https://github.com/orgs/langfuse/discussions/3023", - "created_at": "2024-08-22T17:08:08Z", - "upvotes": 3, - "comment_count": 3, + "number": 3191, + "title": "Evaluation config setup related query", + "href": "https://github.com/orgs/langfuse/discussions/3191", + "created_at": "2024-09-02T14:48:01Z", + "upvotes": 1, + "comment_count": 2, "resolved": false, - "labels": [ - "integration-openai", - "✅ Done", - "feat-cost-tracking" - ], + "labels": [], "author": { - "login": "kilimchoi", - "html_url": "https://github.com/kilimchoi" + "login": "divyanshubhuta", + "html_url": "https://github.com/divyanshubhuta" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3021, - "title": "Pre-defined user access", - "href": "https://github.com/orgs/langfuse/discussions/3021", - "created_at": "2024-08-22T16:08:19Z", + "number": 3182, + "title": "What does `version` means when ingesting trace?", + "href": "https://github.com/orgs/langfuse/discussions/3182", + "created_at": "2024-08-31T20:44:26Z", "upvotes": 1, - "comment_count": 0, - "resolved": false, - "labels": [ - "self-hosting" - ], + "comment_count": 2, + "resolved": true, + "labels": [], "author": { - "login": "LucasMagnum", - "html_url": "https://github.com/LucasMagnum" + "login": "STRRL", + "html_url": "https://github.com/STRRL" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3014, - "title": "Supports filter string using regular expression matching", - "href": "https://github.com/orgs/langfuse/discussions/3014", - "created_at": "2024-08-22T14:39:34Z", + "number": 3176, + "title": "Get all the generations, events, etc. under Trace", + "href": "https://github.com/orgs/langfuse/discussions/3176", + "created_at": "2024-08-31T02:10:28Z", "upvotes": 1, "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [], "author": { - "login": "chai3", - "html_url": "https://github.com/chai3" + "login": "bytecod3r", + "html_url": "https://github.com/bytecod3r" }, - "category": "Ideas" + "category": "Support" }, { - "number": 3004, - "title": "Support for more modalities and base64 content", - "href": "https://github.com/orgs/langfuse/discussions/3004", - "created_at": "2024-08-22T09:50:47Z", - "upvotes": 45, - "comment_count": 17, - "resolved": false, + "number": 3168, + "title": "usage pattern for new llamaindex integration", + "href": "https://github.com/orgs/langfuse/discussions/3168", + "created_at": "2024-08-30T20:23:17Z", + "upvotes": 1, + "comment_count": 2, + "resolved": true, "labels": [ - "✅ Done", - "feat-multimodal" + "integraton-llamaindex" ], "author": { - "login": "marliessophie", - "html_url": "https://github.com/marliessophie" + "login": "erik-squared", + "html_url": "https://github.com/erik-squared" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2997, - "title": "Filter Span events in dashboard", - "href": "https://github.com/orgs/langfuse/discussions/2997", - "created_at": "2024-08-21T16:25:02Z", - "upvotes": 2, - "comment_count": 0, + "number": 3132, + "title": "Tracing ChatGoogleGenerativeAI calls in langchain doesn't return usage metadata", + "href": "https://github.com/orgs/langfuse/discussions/3132", + "created_at": "2024-08-29T13:09:13Z", + "upvotes": 1, + "comment_count": 1, "resolved": false, + "labels": [ + "integration-langchain" + ], + "author": { + "login": "NeerajG03", + "html_url": "https://github.com/NeerajG03" + }, + "category": "Support" + }, + { + "number": 3124, + "title": "Generation does not come under @observe trace", + "href": "https://github.com/orgs/langfuse/discussions/3124", + "created_at": "2024-08-29T00:28:14Z", + "upvotes": 1, + "comment_count": 2, + "resolved": true, "labels": [], "author": { - "login": "tagaretiro", - "html_url": "https://github.com/tagaretiro" + "login": "SatheeshJM", + "html_url": "https://github.com/SatheeshJM" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2987, - "title": "Claude/openai/google prompt caching", - "href": "https://github.com/orgs/langfuse/discussions/2987", - "created_at": "2024-08-21T04:18:55Z", - "upvotes": 5, - "comment_count": 4, + "number": 3120, + "title": "Langfuse 2.74.0 integration with Flowise 2.0.5", + "href": "https://github.com/orgs/langfuse/discussions/3120", + "created_at": "2024-08-28T20:18:19Z", + "upvotes": 1, + "comment_count": 2, "resolved": false, - "labels": [ - "feat-cost-tracking" - ], + "labels": [], "author": { - "login": "mrdrprofuroboros", - "html_url": "https://github.com/mrdrprofuroboros" + "login": "harshad-c1", + "html_url": "https://github.com/harshad-c1" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2978, - "title": "Unexpected event format when using `ibm-watsonx-ai` with LangChain extension", - "href": "https://github.com/orgs/langfuse/discussions/2978", - "created_at": "2024-08-20T11:20:28Z", + "number": 3110, + "title": "How to set SMTP_CONNECTION_URL and reset password?", + "href": "https://github.com/orgs/langfuse/discussions/3110", + "created_at": "2024-08-28T10:05:06Z", "upvotes": 1, - "comment_count": 0, - "resolved": false, - "labels": [ - "integration-langchain" - ], + "comment_count": 2, + "resolved": true, + "labels": [], "author": { - "login": "barvhaim", - "html_url": "https://github.com/barvhaim" + "login": "zs856", + "html_url": "https://github.com/zs856" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2975, - "title": "fetch all users via sdk/api", - "href": "https://github.com/orgs/langfuse/discussions/2975", - "created_at": "2024-08-20T06:52:47Z", + "number": 3105, + "title": "Dockerfile of langfuse/langfuse:2 image", + "href": "https://github.com/orgs/langfuse/discussions/3105", + "created_at": "2024-08-28T00:13:57Z", "upvotes": 1, - "comment_count": 3, - "resolved": false, + "comment_count": 2, + "resolved": true, "labels": [ - "feat-users" + "self-hosting" ], "author": { - "login": "vincent-larisma", - "html_url": "https://github.com/vincent-larisma" + "login": "pparreira", + "html_url": "https://github.com/pparreira" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2967, - "title": "Tag based usage", - "href": "https://github.com/orgs/langfuse/discussions/2967", - "created_at": "2024-08-19T07:13:26Z", + "number": 3100, + "title": "Time to first token is not populating in trace detail or generations view", + "href": "https://github.com/orgs/langfuse/discussions/3100", + "created_at": "2024-08-27T20:12:14Z", "upvotes": 1, - "comment_count": 1, - "resolved": false, - "labels": [ - "feat-dashboard", - "feat-tags" - ], + "comment_count": 2, + "resolved": true, + "labels": [], "author": { - "login": "aakash-vwo", - "html_url": "https://github.com/aakash-vwo" + "login": "databloom", + "html_url": "https://github.com/databloom" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2949, - "title": "Auto-patching Langchain to include Langfuse callback handler", - "href": "https://github.com/orgs/langfuse/discussions/2949", - "created_at": "2024-08-15T12:17:32Z", - "upvotes": 3, + "number": 3099, + "title": "Pulling prompts by tag?", + "href": "https://github.com/orgs/langfuse/discussions/3099", + "created_at": "2024-08-27T20:01:45Z", + "upvotes": 1, "comment_count": 1, "resolved": false, - "labels": [ - "integration-langchain" - ], + "labels": [], "author": { - "login": "kongzii", - "html_url": "https://github.com/kongzii" + "login": "mayajosifo", + "html_url": "https://github.com/mayajosifo" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2923, - "title": "Feature: Add CAS (and maybe SAML) as a authentication method", - "href": "https://github.com/orgs/langfuse/discussions/2923", - "created_at": "2024-08-13T17:18:42Z", - "upvotes": 2, - "comment_count": 1, - "resolved": false, + "number": 3092, + "title": "Deployment into Azure", + "href": "https://github.com/orgs/langfuse/discussions/3092", + "created_at": "2024-08-27T10:05:32Z", + "upvotes": 1, + "comment_count": 2, + "resolved": true, "labels": [ "self-hosting" ], "author": { - "login": "jayteaftw", - "html_url": "https://github.com/jayteaftw" + "login": "GaryFail", + "html_url": "https://github.com/GaryFail" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2919, - "title": "Adding access to User's sessions directly", - "href": "https://github.com/orgs/langfuse/discussions/2919", - "created_at": "2024-08-13T12:42:16Z", - "upvotes": 1, - "comment_count": 0, - "resolved": false, + "number": 3079, + "title": "How to change the Level to ERROR when there is an error in SPAN?", + "href": "https://github.com/orgs/langfuse/discussions/3079", + "created_at": "2024-08-26T15:46:23Z", + "upvotes": 3, + "comment_count": 2, + "resolved": true, "labels": [ - "feat-users", - "feat-sessions" + "feat-log-levels" ], "author": { - "login": "Youneesz", - "html_url": "https://github.com/Youneesz" + "login": "kftam1994", + "html_url": "https://github.com/kftam1994" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2883, - "title": "Compare two dataset runs side by side", - "href": "https://github.com/orgs/langfuse/discussions/2883", - "created_at": "2024-08-09T10:40:05Z", - "upvotes": 5, + "number": 3056, + "title": "Support for configuring SMTP email at project level", + "href": "https://github.com/orgs/langfuse/discussions/3056", + "created_at": "2024-08-23T14:41:45Z", + "upvotes": 1, "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [ - "feat-datasets" + "self-hosting" ], "author": { - "login": "dmaslov", - "html_url": "https://github.com/dmaslov" + "login": "rvndbalaji", + "html_url": "https://github.com/rvndbalaji" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2881, - "title": "feat (ui): Collapse sidebar by default", - "href": "https://github.com/orgs/langfuse/discussions/2881", - "created_at": "2024-08-09T10:03:39Z", + "number": 3003, + "title": "Example GenAI bot with guardrails", + "href": "https://github.com/orgs/langfuse/discussions/3003", + "created_at": "2024-08-22T06:37:29Z", "upvotes": 1, - "comment_count": 5, - "resolved": false, - "labels": [ - "ui" - ], - "author": { - "login": "marctorsoc", - "html_url": "https://github.com/marctorsoc" - }, - "category": "Ideas" - }, - { - "number": 2877, - "title": "Make langfuse deployable to AWS Lambda", - "href": "https://github.com/orgs/langfuse/discussions/2877", - "created_at": "2024-08-09T08:24:14Z", - "upvotes": 3, - "comment_count": 2, + "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "MeddahAbdellah", - "html_url": "https://github.com/MeddahAbdellah" + "login": "wangxj03", + "html_url": "https://github.com/wangxj03" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2870, - "title": "custom base path deployments", - "href": "https://github.com/orgs/langfuse/discussions/2870", - "created_at": "2024-08-08T13:15:51Z", + "number": 2990, + "title": "[Question] using langfuse with llama_index", + "href": "https://github.com/orgs/langfuse/discussions/2990", + "created_at": "2024-08-21T08:00:59Z", "upvotes": 1, - "comment_count": 1, - "resolved": false, - "labels": [], + "comment_count": 2, + "resolved": true, + "labels": [ + "integraton-llamaindex" + ], "author": { - "login": "marioweid", - "html_url": "https://github.com/marioweid" + "login": "nightosong", + "html_url": "https://github.com/nightosong" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2864, - "title": "Add Bedrock Guardrails to the LLM Security documentation", - "href": "https://github.com/orgs/langfuse/discussions/2864", - "created_at": "2024-08-07T23:56:05Z", - "upvotes": 2, - "comment_count": 0, - "resolved": false, + "number": 2988, + "title": "Non-langchain generation nested within LangGraph execution", + "href": "https://github.com/orgs/langfuse/discussions/2988", + "created_at": "2024-08-21T05:13:51Z", + "upvotes": 1, + "comment_count": 2, + "resolved": true, "labels": [ - "feat-llm-security", - "integration-amazon-bedrock" + "integration-langchain" ], "author": { - "login": "wirjo", - "html_url": "https://github.com/wirjo" + "login": "mrdrprofuroboros", + "html_url": "https://github.com/mrdrprofuroboros" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2863, - "title": "Add AWS as a deployment option in the documentation", - "href": "https://github.com/orgs/langfuse/discussions/2863", - "created_at": "2024-08-07T23:53:40Z", - "upvotes": 3, + "number": 2983, + "title": "Tracing directly to queue instead of http api", + "href": "https://github.com/orgs/langfuse/discussions/2983", + "created_at": "2024-08-20T14:33:17Z", + "upvotes": 0, "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [ - "✅ Done", "self-hosting" ], "author": { - "login": "wirjo", - "html_url": "https://github.com/wirjo" + "login": "exotikh3", + "html_url": "https://github.com/exotikh3" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2850, - "title": "Feat (ui): Move columns", - "href": "https://github.com/orgs/langfuse/discussions/2850", - "created_at": "2024-08-07T11:55:55Z", + "number": 3901, + "title": "How to resolve memory leak when integrating Langfuse with LangChain", + "href": "https://github.com/orgs/langfuse/discussions/3901", + "created_at": "2024-08-20T03:14:45Z", "upvotes": 1, - "comment_count": 0, - "resolved": false, - "labels": [], + "comment_count": 6, + "resolved": true, + "labels": [ + "integration-langchain" + ], "author": { - "login": "marctorsoc", - "html_url": "https://github.com/marctorsoc" + "login": "ivan-94", + "html_url": "https://github.com/ivan-94" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2848, - "title": "Feat: Allow not sorting tags", - "href": "https://github.com/orgs/langfuse/discussions/2848", - "created_at": "2024-08-07T11:50:44Z", + "number": 2959, + "title": "Duplicate usage data in observation api endpoint response", + "href": "https://github.com/orgs/langfuse/discussions/2959", + "created_at": "2024-08-16T10:57:00Z", "upvotes": 1, - "comment_count": 1, - "resolved": false, - "labels": [ - "feat-tags" - ], + "comment_count": 2, + "resolved": true, + "labels": [], "author": { - "login": "marctorsoc", - "html_url": "https://github.com/marctorsoc" + "login": "jonnyforsterMSG", + "html_url": "https://github.com/jonnyforsterMSG" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2823, - "title": "Need support for ChatOCIGenAI", - "href": "https://github.com/orgs/langfuse/discussions/2823", - "created_at": "2024-08-05T13:34:30Z", - "upvotes": 2, - "comment_count": 0, + "number": 2958, + "title": "Time to first token query", + "href": "https://github.com/orgs/langfuse/discussions/2958", + "created_at": "2024-08-16T10:08:42Z", + "upvotes": 1, + "comment_count": 2, "resolved": false, "labels": [], "author": { - "login": "engchina", - "html_url": "https://github.com/engchina" + "login": "GaryFail", + "html_url": "https://github.com/GaryFail" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2821, - "title": "Need API endpoints to add projects and users", - "href": "https://github.com/orgs/langfuse/discussions/2821", - "created_at": "2024-08-05T13:10:49Z", - "upvotes": 2, + "number": 2952, + "title": "Locally hosted PrivateGPT + pgpt_python + Langfuse", + "href": "https://github.com/orgs/langfuse/discussions/2952", + "created_at": "2024-08-15T15:12:16Z", + "upvotes": 1, "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "kameshbrao", - "html_url": "https://github.com/kameshbrao" + "login": "qdingle404", + "html_url": "https://github.com/qdingle404" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2812, - "title": "Could you make the Prompt label 36 char long?", - "href": "https://github.com/orgs/langfuse/discussions/2812", - "created_at": "2024-08-02T11:03:08Z", + "number": 2945, + "title": "Unit of token count for cost analysis", + "href": "https://github.com/orgs/langfuse/discussions/2945", + "created_at": "2024-08-15T09:33:59Z", "upvotes": 1, "comment_count": 1, - "resolved": false, - "labels": [ - "feat-prompt-management", - "✅ Done" - ], + "resolved": true, + "labels": [], "author": { - "login": "DevSageH", - "html_url": "https://github.com/DevSageH" + "login": "thomasjv799", + "html_url": "https://github.com/thomasjv799" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2810, - "title": "Enable setting a label to an existing prompt version via the api/sdk.", - "href": "https://github.com/orgs/langfuse/discussions/2810", - "created_at": "2024-08-01T16:53:06Z", - "upvotes": 10, - "comment_count": 4, - "resolved": false, + "number": 2933, + "title": "how to return trace_id in openai completion response when using langfuse as a proxy in litellm?", + "href": "https://github.com/orgs/langfuse/discussions/2933", + "created_at": "2024-08-14T07:52:30Z", + "upvotes": 1, + "comment_count": 2, + "resolved": true, "labels": [ - "feat-prompt-management" + "integration-litellm" ], "author": { - "login": "ClementNguyen", - "html_url": "https://github.com/ClementNguyen" + "login": "octadion", + "html_url": "https://github.com/octadion" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2797, - "title": "Enable list_prompts/search_prompts using client", - "href": "https://github.com/orgs/langfuse/discussions/2797", - "created_at": "2024-07-31T13:45:38Z", - "upvotes": 4, + "number": 2927, + "title": "Span created with Langchain not showing up in traces.", + "href": "https://github.com/orgs/langfuse/discussions/2927", + "created_at": "2024-08-13T20:32:35Z", + "upvotes": 1, "comment_count": 2, - "resolved": false, + "resolved": true, "labels": [ - "feat-prompt-management" + "integration-langchain" ], "author": { - "login": "krlng", - "html_url": "https://github.com/krlng" + "login": "HardKothari", + "html_url": "https://github.com/HardKothari" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2781, - "title": "Add support for custom serialization of observation fields", - "href": "https://github.com/orgs/langfuse/discussions/2781", - "created_at": "2024-07-29T18:49:03Z", + "number": 2909, + "title": "Change port database in file docker-compose.yml", + "href": "https://github.com/orgs/langfuse/discussions/2909", + "created_at": "2024-08-13T08:05:37Z", "upvotes": 1, "comment_count": 2, - "resolved": false, + "resolved": true, "labels": [ - "sdk-python" + "self-hosting" ], "author": { - "login": "ashamlian-roadway", - "html_url": "https://github.com/ashamlian-roadway" - }, - "category": "Ideas" - }, - { - "number": 2770, - "title": "Add clickable link to the 'release' kwargs in a Trace - this will route to the documentations/change log of that release/version", - "href": "https://github.com/orgs/langfuse/discussions/2770", - "created_at": "2024-07-28T07:08:07Z", - "upvotes": 1, - "comment_count": 0, - "resolved": false, - "labels": [], - "author": { - "login": "stepanogil", - "html_url": "https://github.com/stepanogil" - }, - "category": "Ideas" - }, - { - "number": 2766, - "title": "Support Exporting LangSmith Run Traces into Langfuse!", - "href": "https://github.com/orgs/langfuse/discussions/2766", - "created_at": "2024-07-27T02:34:44Z", - "upvotes": 3, - "comment_count": 1, - "resolved": false, - "labels": [], - "author": { - "login": "p-barman", - "html_url": "https://github.com/p-barman" + "login": "hungvipqt15", + "html_url": "https://github.com/hungvipqt15" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2747, - "title": "A new configuration env variable for custom URL prefix", - "href": "https://github.com/orgs/langfuse/discussions/2747", - "created_at": "2024-07-25T17:00:57Z", + "number": 2907, + "title": "Change port connection in docker compose", + "href": "https://github.com/orgs/langfuse/discussions/2907", + "created_at": "2024-08-13T06:40:30Z", "upvotes": 1, "comment_count": 1, "resolved": false, - "labels": [], + "labels": [ + "self-hosting" + ], "author": { - "login": "abdullah-retorio", - "html_url": "https://github.com/abdullah-retorio" + "login": "hungvipqt15", + "html_url": "https://github.com/hungvipqt15" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2746, - "title": "Returning prompts from expired cache may be disabled using a boolean argument", - "href": "https://github.com/orgs/langfuse/discussions/2746", - "created_at": "2024-07-25T15:57:26Z", - "upvotes": 1, - "comment_count": 1, - "resolved": false, + "number": 2904, + "title": "How to append current trace when calling function second time?", + "href": "https://github.com/orgs/langfuse/discussions/2904", + "created_at": "2024-08-12T15:12:22Z", + "upvotes": 2, + "comment_count": 2, + "resolved": true, "labels": [ - "feat-prompt-management" + "integration-python-decorator" ], "author": { - "login": "ogunoz", - "html_url": "https://github.com/ogunoz" + "login": "nathan-vo810", + "html_url": "https://github.com/nathan-vo810" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2745, - "title": "Lazy fallback for get_prompt", - "href": "https://github.com/orgs/langfuse/discussions/2745", - "created_at": "2024-07-25T15:50:32Z", + "number": 2895, + "title": "How to update an event", + "href": "https://github.com/orgs/langfuse/discussions/2895", + "created_at": "2024-08-11T16:51:18Z", "upvotes": 1, "comment_count": 1, - "resolved": false, - "labels": [ - "feat-prompt-management" - ], + "resolved": true, + "labels": [], "author": { - "login": "ogunoz", - "html_url": "https://github.com/ogunoz" + "login": "bytecod3r", + "html_url": "https://github.com/bytecod3r" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2738, - "title": "Set variables in playground from dataset", - "href": "https://github.com/orgs/langfuse/discussions/2738", - "created_at": "2024-07-25T09:27:30Z", - "upvotes": 4, + "number": 2888, + "title": "How to change the level of a trace?", + "href": "https://github.com/orgs/langfuse/discussions/2888", + "created_at": "2024-08-09T14:35:34Z", + "upvotes": 3, "comment_count": 2, - "resolved": false, + "resolved": true, "labels": [ - "feat-datasets", - "feat-playground" + "feat-log-levels" ], "author": { - "login": "hbenyamina", - "html_url": "https://github.com/hbenyamina" + "login": "ldbolanos", + "html_url": "https://github.com/ldbolanos" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2729, - "title": "Comment thread on Traces", - "href": "https://github.com/orgs/langfuse/discussions/2729", - "created_at": "2024-07-24T13:52:51Z", + "number": 2879, + "title": "ERROR:langfuse:status_code: 404, body: {'message': 'Trace not found within authorized project', 'error': 'LangfuseNotFoundError'}", + "href": "https://github.com/orgs/langfuse/discussions/2879", + "created_at": "2024-08-09T09:31:33Z", "upvotes": 1, "comment_count": 3, "resolved": false, - "labels": [ - "✅ Done", - "feat-comments" - ], + "labels": [], "author": { - "login": "guptakvgaurav", - "html_url": "https://github.com/guptakvgaurav" + "login": "nithin1995", + "html_url": "https://github.com/nithin1995" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2728, - "title": "Session-level scores", - "href": "https://github.com/orgs/langfuse/discussions/2728", - "created_at": "2024-07-24T10:05:40Z", - "upvotes": 3, - "comment_count": 3, + "number": 2874, + "title": "Does langfuse trace parallel api calls? I tried a sample with parallel call but it didn't traced.", + "href": "https://github.com/orgs/langfuse/discussions/2874", + "created_at": "2024-08-09T05:09:26Z", + "upvotes": 1, + "comment_count": 4, "resolved": false, - "labels": [ - "feat-scores", - "feat-sessions" - ], + "labels": [], "author": { - "login": "felixsg", - "html_url": "https://github.com/felixsg" + "login": "ksundarraj-c-rpx", + "html_url": "https://github.com/ksundarraj-c-rpx" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2721, - "title": "Add note on each prompt version", - "href": "https://github.com/orgs/langfuse/discussions/2721", - "created_at": "2024-07-23T14:48:02Z", - "upvotes": 2, - "comment_count": 1, - "resolved": false, + "number": 2871, + "title": "Self-hosted Langfuse running as a Google cloud service not showing traces", + "href": "https://github.com/orgs/langfuse/discussions/2871", + "created_at": "2024-08-08T13:40:34Z", + "upvotes": 1, + "comment_count": 2, + "resolved": true, "labels": [ - "feat-prompt-management" + "🐞❔ unconfirmed bug" ], "author": { - "login": "cubxxw", - "html_url": "https://github.com/cubxxw" + "login": "SectumPsempra", + "html_url": "https://github.com/SectumPsempra" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2720, - "title": "Feature request [UI]: Remember column selection PER project in Traces view", - "href": "https://github.com/orgs/langfuse/discussions/2720", - "created_at": "2024-07-23T13:53:38Z", + "number": 2867, + "title": "Using the API to record traces from multiple platforms?", + "href": "https://github.com/orgs/langfuse/discussions/2867", + "created_at": "2024-08-08T13:15:49Z", "upvotes": 1, - "comment_count": 2, + "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "justingodden", - "html_url": "https://github.com/justingodden" + "login": "appliraz", + "html_url": "https://github.com/appliraz" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2710, - "title": "Support JSON messages in prompt management", - "href": "https://github.com/orgs/langfuse/discussions/2710", - "created_at": "2024-07-23T01:59:12Z", + "number": 2858, + "title": "Langfuse observeOpenAI not logging generations using new zodResponseFormat.", + "href": "https://github.com/orgs/langfuse/discussions/2858", + "created_at": "2024-08-07T21:45:41Z", "upvotes": 1, - "comment_count": 0, - "resolved": false, + "comment_count": 3, + "resolved": true, "labels": [], "author": { - "login": "jasonslyvia", - "html_url": "https://github.com/jasonslyvia" + "login": "fabstu", + "html_url": "https://github.com/fabstu" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2704, - "title": "Deleting user's traces via API to be GDPR compliant", - "href": "https://github.com/orgs/langfuse/discussions/2704", - "created_at": "2024-07-22T12:03:22Z", - "upvotes": 8, - "comment_count": 2, - "resolved": false, - "labels": [], - "author": { - "login": "Stormyy", - "html_url": "https://github.com/Stormyy" + "number": 2852, + "title": "How run Langfuse evaluations over specifics spans?", + "href": "https://github.com/orgs/langfuse/discussions/2852", + "created_at": "2024-08-07T13:40:02Z", + "upvotes": 1, + "comment_count": 2, + "resolved": true, + "labels": [ + "integration-langchain", + "feat-evals" + ], + "author": { + "login": "joaoCrulhas", + "html_url": "https://github.com/joaoCrulhas" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2699, - "title": "Schemad or structured configuration for prompt", - "href": "https://github.com/orgs/langfuse/discussions/2699", - "created_at": "2024-07-22T02:29:13Z", - "upvotes": 1, - "comment_count": 1, + "number": 2844, + "title": "LangFuse not logging LlamaIndex events", + "href": "https://github.com/orgs/langfuse/discussions/2844", + "created_at": "2024-08-07T10:46:19Z", + "upvotes": 2, + "comment_count": 3, "resolved": false, "labels": [ - "feat-prompt-management" + "integraton-llamaindex" ], "author": { - "login": "jasonslyvia", - "html_url": "https://github.com/jasonslyvia" + "login": "adieyal", + "html_url": "https://github.com/adieyal" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2697, - "title": "A transparent mode", - "href": "https://github.com/orgs/langfuse/discussions/2697", - "created_at": "2024-07-21T20:55:43Z", + "number": 2830, + "title": "UpdateRoot in the callback handler seems not work", + "href": "https://github.com/orgs/langfuse/discussions/2830", + "created_at": "2024-08-06T08:58:25Z", "upvotes": 1, "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [], "author": { - "login": "emsi", - "html_url": "https://github.com/emsi" + "login": "joaoCrulhas", + "html_url": "https://github.com/joaoCrulhas" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2684, - "title": "Langfuse batch prompts api should return prompt configs as well", - "href": "https://github.com/orgs/langfuse/discussions/2684", - "created_at": "2024-07-19T10:05:45Z", - "upvotes": 2, + "number": 2828, + "title": "Issue: Integration of Langfuse with DSPy Framework - Zero Values for Cost and Token Usage", + "href": "https://github.com/orgs/langfuse/discussions/2828", + "created_at": "2024-08-06T05:55:30Z", + "upvotes": 1, "comment_count": 3, - "resolved": false, + "resolved": true, "labels": [ - "feat-prompt-management", - "✅ Done" + "integration-dspy" ], "author": { - "login": "ashutoshsaboo", - "html_url": "https://github.com/ashutoshsaboo" + "login": "mahitha-29", + "html_url": "https://github.com/mahitha-29" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2669, - "title": "Visualisation of graph execution", - "href": "https://github.com/orgs/langfuse/discussions/2669", - "created_at": "2024-07-18T08:44:03Z", + "number": 2817, + "title": "Praise for the Langfuse library! 🚀", + "href": "https://github.com/orgs/langfuse/discussions/2817", + "created_at": "2024-08-03T10:53:41Z", "upvotes": 2, "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [], "author": { - "login": "VMinB12", - "html_url": "https://github.com/VMinB12" + "login": "ttamg", + "html_url": "https://github.com/ttamg" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2668, - "title": "I want to say something about user feedback", - "href": "https://github.com/orgs/langfuse/discussions/2668", - "created_at": "2024-07-18T07:57:50Z", + "number": 2809, + "title": "No space left on device db error", + "href": "https://github.com/orgs/langfuse/discussions/2809", + "created_at": "2024-08-01T15:10:52Z", "upvotes": 1, - "comment_count": 1, - "resolved": false, - "labels": [], + "comment_count": 2, + "resolved": true, + "labels": [ + "self-hosting" + ], "author": { - "login": "cubxxw", - "html_url": "https://github.com/cubxxw" + "login": "nithin1995", + "html_url": "https://github.com/nithin1995" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2664, - "title": "Prompts are supported for export", - "href": "https://github.com/orgs/langfuse/discussions/2664", - "created_at": "2024-07-18T00:43:12Z", + "number": 2808, + "title": "Dynamic prompt generation", + "href": "https://github.com/orgs/langfuse/discussions/2808", + "created_at": "2024-08-01T14:41:48Z", "upvotes": 1, - "comment_count": 1, - "resolved": false, - "labels": [], + "comment_count": 2, + "resolved": true, + "labels": [ + "feat-prompt-management" + ], "author": { - "login": "cubxxw", - "html_url": "https://github.com/cubxxw" + "login": "LLazzar", + "html_url": "https://github.com/LLazzar" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2653, - "title": "Web page request is a little slow, whether to consider using golang to reconstruct", - "href": "https://github.com/orgs/langfuse/discussions/2653", - "created_at": "2024-07-17T07:08:45Z", + "number": 2801, + "title": "Unable to update generation span after LLM invocation", + "href": "https://github.com/orgs/langfuse/discussions/2801", + "created_at": "2024-08-01T03:23:15Z", "upvotes": 1, - "comment_count": 1, - "resolved": false, - "labels": [], + "comment_count": 2, + "resolved": true, + "labels": [ + "integration-langchain" + ], "author": { - "login": "cubxxw", - "html_url": "https://github.com/cubxxw" + "login": "Heucles", + "html_url": "https://github.com/Heucles" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2642, - "title": "Add ability to add name or label to a Langfuse API key", - "href": "https://github.com/orgs/langfuse/discussions/2642", - "created_at": "2024-07-16T17:08:42Z", - "upvotes": 5, - "comment_count": 1, + "number": 2787, + "title": "Self-hosted (Railway) Authorization error (401) while connecting to host", + "href": "https://github.com/orgs/langfuse/discussions/2787", + "created_at": "2024-07-30T19:23:59Z", + "upvotes": 1, + "comment_count": 3, "resolved": false, "labels": [], "author": { - "login": "agibralter", - "html_url": "https://github.com/agibralter" + "login": "vishnumallela", + "html_url": "https://github.com/vishnumallela" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2625, - "title": "Track Openai Assistant API costs", - "href": "https://github.com/orgs/langfuse/discussions/2625", - "created_at": "2024-07-15T07:50:18Z", - "upvotes": 4, - "comment_count": 0, - "resolved": false, + "number": 2769, + "title": "Continue trace on Celery worker with observe decorator", + "href": "https://github.com/orgs/langfuse/discussions/2769", + "created_at": "2024-07-27T18:23:13Z", + "upvotes": 1, + "comment_count": 2, + "resolved": true, "labels": [ - "integration-openai" + "integration-python-decorator" ], "author": { - "login": "christos-bsq", - "html_url": "https://github.com/christos-bsq" + "login": "artefactop", + "html_url": "https://github.com/artefactop" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2624, - "title": "Add tool / function calling and tool messages to Prompt Management", - "href": "https://github.com/orgs/langfuse/discussions/2624", - "created_at": "2024-07-15T06:49:50Z", - "upvotes": 3, - "comment_count": 0, - "resolved": false, + "number": 2768, + "title": "How do i register the token count and cost for observe decorator", + "href": "https://github.com/orgs/langfuse/discussions/2768", + "created_at": "2024-07-27T14:47:58Z", + "upvotes": 1, + "comment_count": 2, + "resolved": true, "labels": [ - "feat-prompt-management" + "integration-python-decorator", + "feat-cost-tracking" ], "author": { - "login": "eloko7", - "html_url": "https://github.com/eloko7" + "login": "yevkim", + "html_url": "https://github.com/yevkim" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2622, - "title": "Inbuild langfuse tracing.", - "href": "https://github.com/orgs/langfuse/discussions/2622", - "created_at": "2024-07-13T10:39:13Z", + "number": 2767, + "title": "Missing evaluation metrics", + "href": "https://github.com/orgs/langfuse/discussions/2767", + "created_at": "2024-07-27T05:07:56Z", "upvotes": 1, - "comment_count": 0, - "resolved": false, + "comment_count": 2, + "resolved": true, "labels": [], "author": { - "login": "rashid-globallogic", - "html_url": "https://github.com/rashid-globallogic" + "login": "MayankBitcot", + "html_url": "https://github.com/MayankBitcot" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2605, - "title": "DSPy tracing", - "href": "https://github.com/orgs/langfuse/discussions/2605", - "created_at": "2024-07-10T12:52:35Z", + "number": 2736, + "title": "Ability to upload Cost and Usage metrics in Langfuse for Gemini Models from LlamaIndex", + "href": "https://github.com/orgs/langfuse/discussions/2736", + "created_at": "2024-07-25T06:17:14Z", "upvotes": 2, "comment_count": 1, "resolved": false, "labels": [ - "integrations", - "✅ Done", - "integration-dspy" + "integraton-llamaindex", + "feat-cost-tracking" ], "author": { - "login": "paolotamag", - "html_url": "https://github.com/paolotamag" + "login": "ansu86d", + "html_url": "https://github.com/ansu86d" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2586, - "title": "Feat: Ability to change curreny for model usage costs.", - "href": "https://github.com/orgs/langfuse/discussions/2586", - "created_at": "2024-07-09T15:40:22Z", + "number": 2735, + "title": "Deployment on K8s", + "href": "https://github.com/orgs/langfuse/discussions/2735", + "created_at": "2024-07-25T04:38:19Z", + "upvotes": 1, + "comment_count": 2, + "resolved": true, + "labels": [], + "author": { + "login": "nithin1995", + "html_url": "https://github.com/nithin1995" + }, + "category": "Support" + }, + { + "number": 2718, + "title": "How to ignore inputs when using LangChain?", + "href": "https://github.com/orgs/langfuse/discussions/2718", + "created_at": "2024-07-23T10:58:07Z", "upvotes": 2, - "comment_count": 1, + "comment_count": 3, "resolved": false, "labels": [ - "feat-cost-tracking" + "integration-langchain" ], "author": { - "login": "jannikstdl", - "html_url": "https://github.com/jannikstdl" + "login": "justingodden", + "html_url": "https://github.com/justingodden" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2578, - "title": "Conditional Trace Content/Message submission", - "href": "https://github.com/orgs/langfuse/discussions/2578", - "created_at": "2024-07-09T09:57:26Z", - "upvotes": 3, - "comment_count": 1, - "resolved": false, - "labels": [], + "number": 2716, + "title": "Langgraph with langfuse", + "href": "https://github.com/orgs/langfuse/discussions/2716", + "created_at": "2024-07-23T09:12:20Z", + "upvotes": 1, + "comment_count": 4, + "resolved": true, + "labels": [ + "integration-langchain" + ], "author": { - "login": "simonwh", - "html_url": "https://github.com/simonwh" + "login": "MayankBitcot", + "html_url": "https://github.com/MayankBitcot" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2577, - "title": "Detailed and Interactive Plot Visualization like WandB", - "href": "https://github.com/orgs/langfuse/discussions/2577", - "created_at": "2024-07-09T09:19:38Z", + "number": 2714, + "title": "Using langfuse without saving promps", + "href": "https://github.com/orgs/langfuse/discussions/2714", + "created_at": "2024-07-23T08:44:44Z", "upvotes": 1, - "comment_count": 3, - "resolved": false, + "comment_count": 2, + "resolved": true, "labels": [], "author": { - "login": "yusuke-intern", - "html_url": "https://github.com/yusuke-intern" + "login": "molntamas", + "html_url": "https://github.com/molntamas" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2576, - "title": "Log prob on Langfuse", - "href": "https://github.com/orgs/langfuse/discussions/2576", - "created_at": "2024-07-09T09:16:23Z", + "number": 2712, + "title": "cannot execute INSERT in a read-only transaction", + "href": "https://github.com/orgs/langfuse/discussions/2712", + "created_at": "2024-07-23T07:49:30Z", "upvotes": 1, - "comment_count": 1, + "comment_count": 2, "resolved": false, "labels": [ - "integration-openai" + "self-hosting" ], "author": { - "login": "yusuke-intern", - "html_url": "https://github.com/yusuke-intern" + "login": "damianradowiecki", + "html_url": "https://github.com/damianradowiecki" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2573, - "title": "Prompt Cataloguing and prompt github", - "href": "https://github.com/orgs/langfuse/discussions/2573", - "created_at": "2024-07-08T20:05:23Z", - "upvotes": 1, + "number": 2706, + "title": "Disable tracing of input and output for nested elements with in a chain.", + "href": "https://github.com/orgs/langfuse/discussions/2706", + "created_at": "2024-07-22T16:17:53Z", + "upvotes": 2, "comment_count": 1, "resolved": false, - "labels": [ - "feat-prompt-management" - ], + "labels": [], "author": { - "login": "kunal2002", - "html_url": "https://github.com/kunal2002" + "login": "jaitd", + "html_url": "https://github.com/jaitd" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2571, - "title": "If Data/Metadata given to Langfuse SDK that exceeds Langfuse's limit, log/throw/emit Stack Trace", - "href": "https://github.com/orgs/langfuse/discussions/2571", - "created_at": "2024-07-08T15:17:52Z", + "number": 2705, + "title": "Support for adding traces/observations/sessions/events/spans/generations related logging to LF via API", + "href": "https://github.com/orgs/langfuse/discussions/2705", + "created_at": "2024-07-22T12:57:05Z", "upvotes": 1, "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [], "author": { - "login": "josiahbryan", - "html_url": "https://github.com/josiahbryan" + "login": "ashutoshsaboo", + "html_url": "https://github.com/ashutoshsaboo" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2539, - "title": "Include request's `tools` configuration in OpenAI LLM calls", - "href": "https://github.com/orgs/langfuse/discussions/2539", - "created_at": "2024-07-04T11:39:43Z", - "upvotes": 2, - "comment_count": 1, + "number": 2671, + "title": "Cannot connect prompt to trace when using Langchain AzureChatOpenai", + "href": "https://github.com/orgs/langfuse/discussions/2671", + "created_at": "2024-07-18T13:30:14Z", + "upvotes": 1, + "comment_count": 2, "resolved": false, + "labels": [], + "author": { + "login": "nihadazimli", + "html_url": "https://github.com/nihadazimli" + }, + "category": "Support" + }, + { + "number": 2658, + "title": "how to customize trace id when using callback handler in langchain integration", + "href": "https://github.com/orgs/langfuse/discussions/2658", + "created_at": "2024-07-17T13:38:18Z", + "upvotes": 3, + "comment_count": 2, + "resolved": true, "labels": [ - "integration-openai" + "integration-langchain" ], "author": { - "login": "ricwo", - "html_url": "https://github.com/ricwo" + "login": "shawnzhu", + "html_url": "https://github.com/shawnzhu" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2534, - "title": "Simple graphs and metrics for scores and evaluations", - "href": "https://github.com/orgs/langfuse/discussions/2534", - "created_at": "2024-07-03T17:14:42Z", + "number": 2640, + "title": "Adding Scores to langfuse with dify", + "href": "https://github.com/orgs/langfuse/discussions/2640", + "created_at": "2024-07-16T16:00:11Z", "upvotes": 2, "comment_count": 1, - "resolved": false, - "labels": [], + "resolved": true, + "labels": [ + "integration-dify" + ], "author": { - "login": "justinwiley", - "html_url": "https://github.com/justinwiley" + "login": "shaquelsamir", + "html_url": "https://github.com/shaquelsamir" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2529, - "title": "feat: Track Exceptions while using Decorators", - "href": "https://github.com/orgs/langfuse/discussions/2529", - "created_at": "2024-07-03T11:40:19Z", + "number": 2619, + "title": "How to add a function to current trace instead of seperate since it's outside lcel chain?", + "href": "https://github.com/orgs/langfuse/discussions/2619", + "created_at": "2024-07-12T07:08:47Z", "upvotes": 1, "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [ - "integration-python-decorator" + "integration-langchain" ], "author": { - "login": "Manonandan", - "html_url": "https://github.com/Manonandan" + "login": "sarim2000", + "html_url": "https://github.com/sarim2000" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2523, - "title": "Feature Request: Sidebar Display for Trace Details in Dataset Runs", - "href": "https://github.com/orgs/langfuse/discussions/2523", - "created_at": "2024-07-02T15:00:47Z", + "number": 2616, + "title": "Weird Output for scores when using fetch_traces()", + "href": "https://github.com/orgs/langfuse/discussions/2616", + "created_at": "2024-07-11T12:46:23Z", "upvotes": 1, - "comment_count": 3, + "comment_count": 2, "resolved": false, - "labels": [ - "feat-datasets" - ], + "labels": [], "author": { - "login": "tuan3w", - "html_url": "https://github.com/tuan3w" + "login": "kevinpkaria", + "html_url": "https://github.com/kevinpkaria" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2511, - "title": "Scoring dataset runs, e.g. precision, recall, f-value", - "href": "https://github.com/orgs/langfuse/discussions/2511", - "created_at": "2024-07-02T08:10:21Z", - "upvotes": 8, + "number": 2600, + "title": "Add input Price and Output price for gemini-1.5-pro and gemini-1.5-flash in Models", + "href": "https://github.com/orgs/langfuse/discussions/2600", + "created_at": "2024-07-10T09:52:23Z", + "upvotes": 4, "comment_count": 1, "resolved": false, - "labels": [ - "feat-datasets", - "feat-scores" - ], + "labels": [], "author": { - "login": "yusuke-intern", - "html_url": "https://github.com/yusuke-intern" + "login": "fjeanchar", + "html_url": "https://github.com/fjeanchar" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2510, - "title": "How can we see traces of MULTIMODAL llms over langfuse ?", - "href": "https://github.com/orgs/langfuse/discussions/2510", - "created_at": "2024-07-02T05:15:59Z", - "upvotes": 4, - "comment_count": 3, - "resolved": false, - "labels": [ - "✅ Done", - "feat-multimodal" - ], - "author": { - "login": "Aaryaveerkrishna23", - "html_url": "https://github.com/Aaryaveerkrishna23" - }, - "category": "Ideas" - }, - { - "number": 2509, - "title": "Support OpenTelemetry-based instrumentation (traceloop openllmetry and others)", - "href": "https://github.com/orgs/langfuse/discussions/2509", - "created_at": "2024-07-02T02:29:14Z", - "upvotes": 8, - "comment_count": 7, - "resolved": false, + "number": 2599, + "title": "Overall projects dashboard?", + "href": "https://github.com/orgs/langfuse/discussions/2599", + "created_at": "2024-07-10T09:09:02Z", + "upvotes": 1, + "comment_count": 1, + "resolved": true, "labels": [ - "integrations" + "feat-dashboard" ], "author": { - "login": "gyliu513", - "html_url": "https://github.com/gyliu513" + "login": "justingodden", + "html_url": "https://github.com/justingodden" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2508, - "title": "Enable Langfuse can expose metrics in Prometheus format", - "href": "https://github.com/orgs/langfuse/discussions/2508", - "created_at": "2024-07-02T02:25:24Z", - "upvotes": 7, + "number": 2597, + "title": "[Errno 111] Connection refused when connecting to langfuse within docker compose", + "href": "https://github.com/orgs/langfuse/discussions/2597", + "created_at": "2024-07-10T09:00:34Z", + "upvotes": 1, "comment_count": 1, - "resolved": false, - "labels": [], + "resolved": true, + "labels": [ + "self-hosting" + ], "author": { - "login": "gyliu513", - "html_url": "https://github.com/gyliu513" + "login": "bspetrov", + "html_url": "https://github.com/bspetrov" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2501, - "title": "Use Langchain LCEL + Langserve + run time user_id/session_id", - "href": "https://github.com/orgs/langfuse/discussions/2501", - "created_at": "2024-07-01T15:51:47Z", - "upvotes": 4, - "comment_count": 1, - "resolved": false, + "number": 2595, + "title": "Migrate a local deployment of langfuse from one computer to another", + "href": "https://github.com/orgs/langfuse/discussions/2595", + "created_at": "2024-07-10T07:46:04Z", + "upvotes": 1, + "comment_count": 2, + "resolved": true, "labels": [ - "integration-langchain", - "feat-users", - "feat-sessions" + "self-hosting" ], "author": { - "login": "ravediamond", - "html_url": "https://github.com/ravediamond" + "login": "nithin1995", + "html_url": "https://github.com/nithin1995" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2493, - "title": "Easy token price estimates for 400+ LLMs", - "href": "https://github.com/orgs/langfuse/discussions/2493", - "created_at": "2024-07-01T06:55:56Z", + "number": 2590, + "title": "Experiments running but inputs and outputs of LLM are not linked to dashboard", + "href": "https://github.com/orgs/langfuse/discussions/2590", + "created_at": "2024-07-09T18:29:22Z", "upvotes": 1, "comment_count": 1, "resolved": false, - "labels": [ - "feat-cost-tracking" - ], + "labels": [], "author": { - "login": "derevyan", - "html_url": "https://github.com/derevyan" + "login": "IbrahimAhmed03", + "html_url": "https://github.com/IbrahimAhmed03" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2488, - "title": "Add contextmanager support to python decorator", - "href": "https://github.com/orgs/langfuse/discussions/2488", - "created_at": "2024-06-29T20:43:50Z", - "upvotes": 6, - "comment_count": 2, - "resolved": false, + "number": 2574, + "title": "how to embed langfuse dashboard in other tool", + "href": "https://github.com/orgs/langfuse/discussions/2574", + "created_at": "2024-07-08T21:24:13Z", + "upvotes": 1, + "comment_count": 1, + "resolved": true, "labels": [ - "integration-python-decorator" + "feat-dashboard" ], "author": { - "login": "yaniv-aknin", - "html_url": "https://github.com/yaniv-aknin" + "login": "deepakdeore2004", + "html_url": "https://github.com/deepakdeore2004" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2469, - "title": "Adding userId / author to score (custom metadata)", - "href": "https://github.com/orgs/langfuse/discussions/2469", - "created_at": "2024-06-27T19:02:17Z", - "upvotes": 4, - "comment_count": 3, + "number": 2567, + "title": "How to use prompt management with openai JS?", + "href": "https://github.com/orgs/langfuse/discussions/2567", + "created_at": "2024-07-08T08:22:49Z", + "upvotes": 1, + "comment_count": 2, "resolved": false, "labels": [ - "feat-scores", - "feat-users" + "feat-prompt-management" ], "author": { - "login": "ivanviragine", - "html_url": "https://github.com/ivanviragine" + "login": "oscarmorrison", + "html_url": "https://github.com/oscarmorrison" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2456, - "title": "Export to CSV feature in the Traces", - "href": "https://github.com/orgs/langfuse/discussions/2456", - "created_at": "2024-06-27T11:02:47Z", + "number": 2564, + "title": "Update metadata when using OpenAI JS Integration", + "href": "https://github.com/orgs/langfuse/discussions/2564", + "created_at": "2024-07-08T07:37:38Z", "upvotes": 1, - "comment_count": 1, + "comment_count": 3, "resolved": false, "labels": [], "author": { - "login": "Aniket3007", - "html_url": "https://github.com/Aniket3007" + "login": "oscarmorrison", + "html_url": "https://github.com/oscarmorrison" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2454, - "title": "Expand all json-views of Dataset items etc.", - "href": "https://github.com/orgs/langfuse/discussions/2454", - "created_at": "2024-06-27T08:18:23Z", - "upvotes": 1, - "comment_count": 1, + "number": 2527, + "title": "Can't set trace params e.g session_id when using with llhama_index", + "href": "https://github.com/orgs/langfuse/discussions/2527", + "created_at": "2024-07-02T20:41:53Z", + "upvotes": 2, + "comment_count": 2, "resolved": false, "labels": [ - "✅ Done", - "feat-datasets" + "integraton-llamaindex" ], "author": { - "login": "tkreuder", - "html_url": "https://github.com/tkreuder" + "login": "famoraes", + "html_url": "https://github.com/famoraes" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2438, - "title": "Bedrock provider when using llamaindex", - "href": "https://github.com/orgs/langfuse/discussions/2438", - "created_at": "2024-06-26T11:00:54Z", - "upvotes": 1, + "number": 2498, + "title": "Method to update prompt template for Langserve use case", + "href": "https://github.com/orgs/langfuse/discussions/2498", + "created_at": "2024-07-01T11:20:08Z", + "upvotes": 2, "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [ - "integraton-llamaindex", - "integration-amazon-bedrock" + "integration-langchain" ], "author": { - "login": "mdciri", - "html_url": "https://github.com/mdciri" + "login": "quadcube", + "html_url": "https://github.com/quadcube" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2437, - "title": "Project members management via public API", - "href": "https://github.com/orgs/langfuse/discussions/2437", - "created_at": "2024-06-26T10:03:50Z", - "upvotes": 3, - "comment_count": 1, - "resolved": false, - "labels": [ - "feat-rbac" - ], + "number": 2486, + "title": "Cost of embedding in langfuse", + "href": "https://github.com/orgs/langfuse/discussions/2486", + "created_at": "2024-06-29T07:50:06Z", + "upvotes": 1, + "comment_count": 2, + "resolved": true, + "labels": [], "author": { - "login": "tmarenko", - "html_url": "https://github.com/tmarenko" + "login": "Amitt1412", + "html_url": "https://github.com/Amitt1412" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2402, - "title": "Add string data type in score config", - "href": "https://github.com/orgs/langfuse/discussions/2402", - "created_at": "2024-06-24T11:12:54Z", + "number": 2481, + "title": "Getting all traces logged in a timerange for custom scoring", + "href": "https://github.com/orgs/langfuse/discussions/2481", + "created_at": "2024-06-28T12:09:14Z", "upvotes": 1, "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [ "feat-scores" ], "author": { - "login": "emfhal", - "html_url": "https://github.com/emfhal" + "login": "sanandnarayan", + "html_url": "https://github.com/sanandnarayan" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2400, - "title": "Support for Custom Base URL Prefix in Langfuse (nextjs basepath)", - "href": "https://github.com/orgs/langfuse/discussions/2400", - "created_at": "2024-06-24T09:57:57Z", - "upvotes": 21, - "comment_count": 9, - "resolved": false, - "labels": [ - "✅ Done", - "self-hosting" - ], + "number": 2479, + "title": "Cost of embedding", + "href": "https://github.com/orgs/langfuse/discussions/2479", + "created_at": "2024-06-28T06:58:16Z", + "upvotes": 1, + "comment_count": 3, + "resolved": true, + "labels": [], "author": { - "login": "databill86", - "html_url": "https://github.com/databill86" + "login": "Amitt1412", + "html_url": "https://github.com/Amitt1412" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2397, - "title": "Add ARM64 docker image", - "href": "https://github.com/orgs/langfuse/discussions/2397", - "created_at": "2024-06-21T13:35:24Z", + "number": 2455, + "title": "Getting issue with local setup", + "href": "https://github.com/orgs/langfuse/discussions/2455", + "created_at": "2024-06-27T10:23:02Z", "upvotes": 1, - "comment_count": 2, - "resolved": false, + "comment_count": 1, + "resolved": true, "labels": [ - "✅ Done", "self-hosting" ], "author": { - "login": "lucasiscovici", - "html_url": "https://github.com/lucasiscovici" + "login": "kiranraut7709", + "html_url": "https://github.com/kiranraut7709" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2390, - "title": "Implement Duplication Check for Prompt Versions in Langfuse", - "href": "https://github.com/orgs/langfuse/discussions/2390", - "created_at": "2024-06-21T08:03:39Z", - "upvotes": 1, + "number": 2447, + "title": "Access observation id in langchain runnable", + "href": "https://github.com/orgs/langfuse/discussions/2447", + "created_at": "2024-06-26T21:03:07Z", + "upvotes": 4, "comment_count": 1, "resolved": false, "labels": [ - "feat-prompt-management" + "integration-langchain" ], "author": { - "login": "sapipoZZZ", - "html_url": "https://github.com/sapipoZZZ" + "login": "snikch", + "html_url": "https://github.com/snikch" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2378, - "title": "Number of times a prompt was fetched", - "href": "https://github.com/orgs/langfuse/discussions/2378", - "created_at": "2024-06-20T07:37:12Z", - "upvotes": 3, - "comment_count": 0, + "number": 2431, + "title": "Trying to work with llama3 in Azure using AzureMLChatOnlineEndpoint but no cost showing up", + "href": "https://github.com/orgs/langfuse/discussions/2431", + "created_at": "2024-06-25T21:20:25Z", + "upvotes": 1, + "comment_count": 2, "resolved": false, - "labels": [ - "feat-prompt-management" - ], + "labels": [], "author": { - "login": "subhampasari", - "html_url": "https://github.com/subhampasari" + "login": "spacepirate0001", + "html_url": "https://github.com/spacepirate0001" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2376, - "title": "Allow for custom OAuth scopes when self-hosing", - "href": "https://github.com/orgs/langfuse/discussions/2376", - "created_at": "2024-06-19T22:23:59Z", + "number": 2416, + "title": "some tests failed for langfuse-js", + "href": "https://github.com/orgs/langfuse/discussions/2416", + "created_at": "2024-06-25T04:31:35Z", "upvotes": 1, - "comment_count": 1, + "comment_count": 3, "resolved": false, - "labels": [ - "feat-auth" - ], + "labels": [], "author": { - "login": "0x77dev", - "html_url": "https://github.com/0x77dev" + "login": "4t8dd", + "html_url": "https://github.com/4t8dd" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2371, - "title": "SBS Markdown mode for dataset runs", - "href": "https://github.com/orgs/langfuse/discussions/2371", - "created_at": "2024-06-19T14:57:32Z", + "number": 2415, + "title": "AUTH AZURE AD returns AADSTS9002325: Proof Key for Code Exchange is required for cross-origin authorization code redemption.", + "href": "https://github.com/orgs/langfuse/discussions/2415", + "created_at": "2024-06-24T18:00:45Z", "upvotes": 1, "comment_count": 1, - "resolved": false, - "labels": [ - "feat-datasets" - ], + "resolved": true, + "labels": [], "author": { - "login": "pfurovYnP", - "html_url": "https://github.com/pfurovYnP" + "login": "spacepirate0001", + "html_url": "https://github.com/spacepirate0001" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2358, - "title": "Add view mode to Settings", - "href": "https://github.com/orgs/langfuse/discussions/2358", - "created_at": "2024-06-17T12:48:04Z", + "number": 2401, + "title": "Trying to understand why in Langfuse Trace under Stream Completion I get this output:", + "href": "https://github.com/orgs/langfuse/discussions/2401", + "created_at": "2024-06-21T12:22:38Z", "upvotes": 1, "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "emfhal", - "html_url": "https://github.com/emfhal" + "login": "howtodoml", + "html_url": "https://github.com/howtodoml" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2352, - "title": "Support SAML login protocol", - "href": "https://github.com/orgs/langfuse/discussions/2352", - "created_at": "2024-06-17T07:14:14Z", - "upvotes": 4, + "number": 2385, + "title": "Modify trace after getting response from OpenAI", + "href": "https://github.com/orgs/langfuse/discussions/2385", + "created_at": "2024-06-20T18:00:09Z", + "upvotes": 2, + "comment_count": 3, + "resolved": false, + "labels": [], + "author": { + "login": "tylerlittlefield", + "html_url": "https://github.com/tylerlittlefield" + }, + "category": "Support" + }, + { + "number": 2381, + "title": "LangFuse UI doesn't show all traces despite debug logging saying that all are sent to the server", + "href": "https://github.com/orgs/langfuse/discussions/2381", + "created_at": "2024-06-20T14:02:12Z", + "upvotes": 3, "comment_count": 1, "resolved": false, - "labels": [ - "self-hosting" - ], + "labels": [], "author": { - "login": "emfhal", - "html_url": "https://github.com/emfhal" + "login": "stokedout", + "html_url": "https://github.com/stokedout" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2343, - "title": "Bring Langfuse to Cloud Marketplaces", - "href": "https://github.com/orgs/langfuse/discussions/2343", - "created_at": "2024-06-14T06:41:18Z", - "upvotes": 2, + "number": 2379, + "title": "Langfuse was not able to parse the LLM model", + "href": "https://github.com/orgs/langfuse/discussions/2379", + "created_at": "2024-06-20T08:56:57Z", + "upvotes": 1, "comment_count": 2, - "resolved": false, + "resolved": true, "labels": [ - "self-hosting" + "integration-langchain", + "integration-amazon-bedrock" ], "author": { - "login": "aiakubovich", - "html_url": "https://github.com/aiakubovich" + "login": "fdbvega", + "html_url": "https://github.com/fdbvega" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2336, - "title": "Saving a filter", - "href": "https://github.com/orgs/langfuse/discussions/2336", - "created_at": "2024-06-13T09:15:59Z", + "number": 2377, + "title": "Can't see any traces or logs when running Langfuse locally.", + "href": "https://github.com/orgs/langfuse/discussions/2377", + "created_at": "2024-06-19T23:51:46Z", "upvotes": 1, - "comment_count": 0, - "resolved": false, - "labels": [], + "comment_count": 6, + "resolved": true, + "labels": [ + "self-hosting" + ], "author": { - "login": "avinash361-devrev", - "html_url": "https://github.com/avinash361-devrev" + "login": "ibdafna", + "html_url": "https://github.com/ibdafna" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2331, - "title": "Pendo integration", - "href": "https://github.com/orgs/langfuse/discussions/2331", - "created_at": "2024-06-12T18:22:32Z", + "number": 2373, + "title": "Not recording llamaindex response. Please help", + "href": "https://github.com/orgs/langfuse/discussions/2373", + "created_at": "2024-06-19T19:26:30Z", "upvotes": 1, "comment_count": 1, "resolved": false, - "labels": [], + "labels": [ + "integraton-llamaindex" + ], "author": { - "login": "mrunaaaaaal", - "html_url": "https://github.com/mrunaaaaaal" + "login": "mraguth", + "html_url": "https://github.com/mraguth" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2282, - "title": "[Dashboard] Update Scores Chart to include number of scores on secondary y axis", - "href": "https://github.com/orgs/langfuse/discussions/2282", - "created_at": "2024-06-10T08:41:41Z", + "number": 2366, + "title": "Add label to prompt from Langfuse UI", + "href": "https://github.com/orgs/langfuse/discussions/2366", + "created_at": "2024-06-18T14:26:14Z", "upvotes": 1, "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [ - "feat-dashboard" + "feat-prompt-management" ], "author": { "login": "charlieviettq", "html_url": "https://github.com/charlieviettq" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2278, - "title": "Type of input and output of each span visible in the UI", - "href": "https://github.com/orgs/langfuse/discussions/2278", - "created_at": "2024-06-08T21:17:48Z", - "upvotes": 3, - "comment_count": 1, - "resolved": false, - "labels": [ - "ui" - ], + "number": 2354, + "title": "Link Prompt & Trace with langchain CallbackHandler", + "href": "https://github.com/orgs/langfuse/discussions/2354", + "created_at": "2024-06-17T08:21:56Z", + "upvotes": 2, + "comment_count": 2, + "resolved": true, + "labels": [], "author": { - "login": "arthurGrigo", - "html_url": "https://github.com/arthurGrigo" + "login": "derevyan", + "html_url": "https://github.com/derevyan" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2268, - "title": "Langfuse retention settings", - "href": "https://github.com/orgs/langfuse/discussions/2268", - "created_at": "2024-06-07T12:27:32Z", - "upvotes": 8, - "comment_count": 6, - "resolved": false, - "labels": [], + "number": 2353, + "title": "[Migration] Auto-migration DB error when upgrade langfuse version", + "href": "https://github.com/orgs/langfuse/discussions/2353", + "created_at": "2024-06-17T08:02:03Z", + "upvotes": 1, + "comment_count": 1, + "resolved": true, + "labels": [ + "self-hosting" + ], "author": { - "login": "sudhanshu746", - "html_url": "https://github.com/sudhanshu746" + "login": "charlieviettq", + "html_url": "https://github.com/charlieviettq" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2241, - "title": "Tracing integration with unify.ai", - "href": "https://github.com/orgs/langfuse/discussions/2241", - "created_at": "2024-06-05T15:17:00Z", - "upvotes": 5, - "comment_count": 3, + "number": 2351, + "title": "Customize Langchain callback handler to add spans to existing traces created by separate thread/process", + "href": "https://github.com/orgs/langfuse/discussions/2351", + "created_at": "2024-06-17T03:41:57Z", + "upvotes": 1, + "comment_count": 2, "resolved": false, "labels": [ - "integrations" + "integration-langchain" ], "author": { - "login": "marcklingen", - "html_url": "https://github.com/marcklingen" + "login": "Chengdyc", + "html_url": "https://github.com/Chengdyc" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2237, - "title": "Add Langchain Support to Prompt Management", - "href": "https://github.com/orgs/langfuse/discussions/2237", - "created_at": "2024-06-05T10:05:13Z", - "upvotes": 34, - "comment_count": 5, + "number": 2348, + "title": "not serializable object of type: LangfuseResponseGeneratorSync", + "href": "https://github.com/orgs/langfuse/discussions/2348", + "created_at": "2024-06-14T22:33:09Z", + "upvotes": 1, + "comment_count": 1, + "resolved": false, + "labels": [], + "author": { + "login": "howtodoml", + "html_url": "https://github.com/howtodoml" + }, + "category": "Support" + }, + { + "number": 2346, + "title": "Chain two prompts", + "href": "https://github.com/orgs/langfuse/discussions/2346", + "created_at": "2024-06-14T08:20:48Z", + "upvotes": 1, + "comment_count": 1, "resolved": false, "labels": [ "feat-prompt-management", - "integration-langchain", - "✅ Done" + "integration-langchain" ], "author": { - "login": "guidev", - "html_url": "https://github.com/guidev" + "login": "darkostanimirovic", + "html_url": "https://github.com/darkostanimirovic" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2226, - "title": "Monitoring Costs and Traces generated by RAGAS", - "href": "https://github.com/orgs/langfuse/discussions/2226", - "created_at": "2024-06-04T09:35:25Z", - "upvotes": 4, + "number": 2344, + "title": "Can you use internal Kubernetes DNS to receive traffic from other Kubernetes workloads?", + "href": "https://github.com/orgs/langfuse/discussions/2344", + "created_at": "2024-06-14T08:15:36Z", + "upvotes": 1, "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [], "author": { - "login": "paolotamag", - "html_url": "https://github.com/paolotamag" + "login": "smeasures", + "html_url": "https://github.com/smeasures" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2215, - "title": "new chart in dashboard for booleans metrics", - "href": "https://github.com/orgs/langfuse/discussions/2215", - "created_at": "2024-06-03T12:48:37Z", + "number": 2342, + "title": "Getting trace id out of a langchain runnable", + "href": "https://github.com/orgs/langfuse/discussions/2342", + "created_at": "2024-06-14T01:15:26Z", "upvotes": 1, "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [], "author": { - "login": "paolotamag", - "html_url": "https://github.com/paolotamag" + "login": "salmanmashayekh", + "html_url": "https://github.com/salmanmashayekh" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2210, - "title": "MessagesPlaceholder in \"Create New Prompt\" panel", - "href": "https://github.com/orgs/langfuse/discussions/2210", - "created_at": "2024-06-03T06:58:45Z", - "upvotes": 6, + "number": 2338, + "title": "Can RBAC Role Assignment be done using Azure AD SSO token?", + "href": "https://github.com/orgs/langfuse/discussions/2338", + "created_at": "2024-06-13T11:29:59Z", + "upvotes": 4, "comment_count": 2, "resolved": false, "labels": [ - "feat-prompt-management" + "feat-rbac", + "self-hosting" ], "author": { - "login": "NIKsun", - "html_url": "https://github.com/NIKsun" + "login": "joshwright10", + "html_url": "https://github.com/joshwright10" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2209, - "title": "Enhance data in daily metrics api endpoint", - "href": "https://github.com/orgs/langfuse/discussions/2209", - "created_at": "2024-06-02T14:38:15Z", + "number": 2298, + "title": "llamaindex: function_call does not generate subspans for a custom AsyncBaseTool class", + "href": "https://github.com/orgs/langfuse/discussions/2298", + "created_at": "2024-06-11T09:28:33Z", "upvotes": 1, - "comment_count": 1, + "comment_count": 3, "resolved": false, "labels": [ - "✅ Done", - "feat-api" + "integraton-llamaindex" ], "author": { - "login": "matthiaslau", - "html_url": "https://github.com/matthiaslau" + "login": "ootkin", + "html_url": "https://github.com/ootkin" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2203, - "title": "Ability to add comments to versions of prompts (\"commit message\")", - "href": "https://github.com/orgs/langfuse/discussions/2203", - "created_at": "2024-06-01T13:13:27Z", - "upvotes": 4, - "comment_count": 4, - "resolved": false, - "labels": [ - "feat-prompt-management" - ], + "number": 2290, + "title": "There are no evaluation component in the 2.50 version", + "href": "https://github.com/orgs/langfuse/discussions/2290", + "created_at": "2024-06-10T19:36:30Z", + "upvotes": 1, + "comment_count": 1, + "resolved": true, + "labels": [], "author": { - "login": "ajram23", - "html_url": "https://github.com/ajram23" + "login": "yanlinchn", + "html_url": "https://github.com/yanlinchn" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2195, - "title": "Timeline/graph visualization for traces", - "href": "https://github.com/orgs/langfuse/discussions/2195", - "created_at": "2024-05-31T08:18:11Z", - "upvotes": 7, - "comment_count": 4, - "resolved": false, + "number": 2254, + "title": "Unable to get hello world program working due to incorrect public key / host", + "href": "https://github.com/orgs/langfuse/discussions/2254", + "created_at": "2024-06-06T09:13:53Z", + "upvotes": 3, + "comment_count": 1, + "resolved": true, "labels": [ - "✅ Done" + "self-hosting" ], "author": { - "login": "david1542", - "html_url": "https://github.com/david1542" + "login": "mr-nano", + "html_url": "https://github.com/mr-nano" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2194, - "title": "Terraform Provider for internal Langfuse configuration", - "href": "https://github.com/orgs/langfuse/discussions/2194", - "created_at": "2024-05-31T06:23:11Z", - "upvotes": 2, + "number": 2244, + "title": "2 traces generated instead of 1", + "href": "https://github.com/orgs/langfuse/discussions/2244", + "created_at": "2024-06-05T17:06:52Z", + "upvotes": 1, "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [ - "self-hosting" + "integration-langchain", + "feat-datasets" ], "author": { - "login": "mroedder-d7", - "html_url": "https://github.com/mroedder-d7" + "login": "nithin1995", + "html_url": "https://github.com/nithin1995" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2184, - "title": "support query prompt via prompt id", - "href": "https://github.com/orgs/langfuse/discussions/2184", - "created_at": "2024-05-30T02:55:59Z", + "number": 2211, + "title": "How to clean the langfuse cache data periodically?", + "href": "https://github.com/orgs/langfuse/discussions/2211", + "created_at": "2024-06-03T07:40:22Z", "upvotes": 1, "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [], "author": { - "login": "hu9029", - "html_url": "https://github.com/hu9029" + "login": "He-Huang", + "html_url": "https://github.com/He-Huang" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2181, - "title": "Support for SDK entry-point wrapper around async REST API client", - "href": "https://github.com/orgs/langfuse/discussions/2181", - "created_at": "2024-05-29T17:50:22Z", + "number": 2207, + "title": "Model Cost does not show up", + "href": "https://github.com/orgs/langfuse/discussions/2207", + "created_at": "2024-06-02T11:08:58Z", "upvotes": 1, - "comment_count": 0, - "resolved": false, - "labels": [], - "author": { - "login": "blazing-gig", - "html_url": "https://github.com/blazing-gig" - }, - "category": "Ideas" - }, - { - "number": 2176, - "title": "Support querying Users (GET) to support analytics pipeline solutions", - "href": "https://github.com/orgs/langfuse/discussions/2176", - "created_at": "2024-05-29T02:42:13Z", - "upvotes": 2, "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [ - "feat-users" + "feat-cost-tracking" ], "author": { - "login": "Tjmstudios", - "html_url": "https://github.com/Tjmstudios" + "login": "jannikstdl", + "html_url": "https://github.com/jannikstdl" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2161, - "title": "Prompt version only create when different", - "href": "https://github.com/orgs/langfuse/discussions/2161", - "created_at": "2024-05-27T23:47:21Z", - "upvotes": 4, - "comment_count": 2, - "resolved": false, + "number": 2206, + "title": "Possibilities for auth", + "href": "https://github.com/orgs/langfuse/discussions/2206", + "created_at": "2024-06-01T23:38:39Z", + "upvotes": 1, + "comment_count": 1, + "resolved": true, "labels": [ - "feat-prompt-management" + "self-hosting" ], "author": { - "login": "brightsparc", - "html_url": "https://github.com/brightsparc" + "login": "Getty", + "html_url": "https://github.com/Getty" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2140, - "title": "clickhouse support", - "href": "https://github.com/orgs/langfuse/discussions/2140", - "created_at": "2024-05-24T15:21:14Z", - "upvotes": 2, - "comment_count": 1, + "number": 2200, + "title": "How does one replace values for a ChatPromptTemplate for Langchain", + "href": "https://github.com/orgs/langfuse/discussions/2200", + "created_at": "2024-05-31T19:39:14Z", + "upvotes": 0, + "comment_count": 2, "resolved": false, - "labels": [ - "work-in-progress", - "performance" - ], + "labels": [], "author": { - "login": "newcworld", - "html_url": "https://github.com/newcworld" + "login": "ajram23", + "html_url": "https://github.com/ajram23" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2131, - "title": "Export to data warehouses (BigQuery etc)", - "href": "https://github.com/orgs/langfuse/discussions/2131", - "created_at": "2024-05-23T15:52:18Z", - "upvotes": 18, + "number": 2188, + "title": "Time to first token?", + "href": "https://github.com/orgs/langfuse/discussions/2188", + "created_at": "2024-05-30T12:45:37Z", + "upvotes": 1, "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "rohan-mehta", - "html_url": "https://github.com/rohan-mehta" + "login": "jrcapicua", + "html_url": "https://github.com/jrcapicua" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2124, - "title": "Proposal: Add Support for Uploading Dataset Items via UI", - "href": "https://github.com/orgs/langfuse/discussions/2124", - "created_at": "2024-05-22T10:58:04Z", - "upvotes": 5, - "comment_count": 1, + "number": 2172, + "title": "How to reuse callback handler in langchain integration?", + "href": "https://github.com/orgs/langfuse/discussions/2172", + "created_at": "2024-05-28T15:25:39Z", + "upvotes": 1, + "comment_count": 2, "resolved": false, "labels": [ - "feat-datasets" + "integration-langchain" ], "author": { - "login": "vaddenz", - "html_url": "https://github.com/vaddenz" + "login": "SebastianStehle", + "html_url": "https://github.com/SebastianStehle" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2119, - "title": "Phidata support", - "href": "https://github.com/orgs/langfuse/discussions/2119", - "created_at": "2024-05-21T14:20:09Z", - "upvotes": 1, - "comment_count": 1, + "number": 2165, + "title": "Auth0 not working", + "href": "https://github.com/orgs/langfuse/discussions/2165", + "created_at": "2024-05-28T11:38:43Z", + "upvotes": 2, + "comment_count": 3, "resolved": false, "labels": [ - "integrations" + "self-hosting" ], "author": { - "login": "michaelpoluektov", - "html_url": "https://github.com/michaelpoluektov" + "login": "mforell", + "html_url": "https://github.com/mforell" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2104, - "title": "Feature Request: Tracing Sampling Rate Configuration for Langfuse", - "href": "https://github.com/orgs/langfuse/discussions/2104", - "created_at": "2024-05-20T16:23:05Z", - "upvotes": 2, + "number": 2162, + "title": "Connect Prompt ID to GENERATIONS when integrate Langfuse in LangChain.", + "href": "https://github.com/orgs/langfuse/discussions/2162", + "created_at": "2024-05-28T00:56:34Z", + "upvotes": 8, "comment_count": 1, - "resolved": false, - "labels": [ - "✅ Done" - ], + "resolved": true, + "labels": [], "author": { - "login": "himansrivastava", - "html_url": "https://github.com/himansrivastava" + "login": "hdp173", + "html_url": "https://github.com/hdp173" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2101, - "title": "feat: Adding AWS Cognito Authentication", - "href": "https://github.com/orgs/langfuse/discussions/2101", - "created_at": "2024-05-20T14:30:32Z", + "number": 2154, + "title": "__root__ -> items -> 0 -> datasetName field required (type=value_error.missing)", + "href": "https://github.com/orgs/langfuse/discussions/2154", + "created_at": "2024-05-27T11:26:24Z", "upvotes": 1, "comment_count": 2, "resolved": false, - "labels": [ - "✅ Done", - "feat-auth" - ], + "labels": [], "author": { - "login": "Shekswess", - "html_url": "https://github.com/Shekswess" + "login": "emailic", + "html_url": "https://github.com/emailic" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2097, - "title": "Markdown Rendering Option", - "href": "https://github.com/orgs/langfuse/discussions/2097", - "created_at": "2024-05-18T16:58:37Z", - "upvotes": 4, - "comment_count": 4, + "number": 2152, + "title": "get_langchain_handler() alwasy start from trace root.", + "href": "https://github.com/orgs/langfuse/discussions/2152", + "created_at": "2024-05-27T10:47:42Z", + "upvotes": 1, + "comment_count": 1, "resolved": false, "labels": [ - "✅ Done" + "integration-langchain" ], "author": { - "login": "hburrichter", - "html_url": "https://github.com/hburrichter" + "login": "hdp173", + "html_url": "https://github.com/hdp173" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2081, - "title": "feat: inject langfuse info into langchain metadata", - "href": "https://github.com/orgs/langfuse/discussions/2081", - "created_at": "2024-05-16T20:43:41Z", + "number": 2146, + "title": "Customize LangChain Integration.", + "href": "https://github.com/orgs/langfuse/discussions/2146", + "created_at": "2024-05-27T06:12:41Z", "upvotes": 1, - "comment_count": 0, - "resolved": false, + "comment_count": 1, + "resolved": true, "labels": [ "integration-langchain" ], "author": { - "login": "benobytes", - "html_url": "https://github.com/benobytes" + "login": "hdp173", + "html_url": "https://github.com/hdp173" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2072, - "title": "Adding prompt tags via Python SDK (or other code based interactions)", - "href": "https://github.com/orgs/langfuse/discussions/2072", - "created_at": "2024-05-16T09:46:20Z", - "upvotes": 5, + "number": 2145, + "title": "Need help on syntax for editing project roles", + "href": "https://github.com/orgs/langfuse/discussions/2145", + "created_at": "2024-05-26T18:50:59Z", + "upvotes": 1, "comment_count": 2, "resolved": false, "labels": [], "author": { - "login": "simon-hiel", - "html_url": "https://github.com/simon-hiel" + "login": "hrithik062", + "html_url": "https://github.com/hrithik062" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2071, - "title": "Save playground conversation to a dataset", - "href": "https://github.com/orgs/langfuse/discussions/2071", - "created_at": "2024-05-16T09:24:29Z", - "upvotes": 3, - "comment_count": 0, - "resolved": false, - "labels": [ - "feat-datasets", - "feat-playground" - ], + "number": 2142, + "title": "Unable to login with SSO", + "href": "https://github.com/orgs/langfuse/discussions/2142", + "created_at": "2024-05-24T18:40:35Z", + "upvotes": 1, + "comment_count": 1, + "resolved": true, + "labels": [], "author": { - "login": "bderenzi", - "html_url": "https://github.com/bderenzi" + "login": "alecor191", + "html_url": "https://github.com/alecor191" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2065, - "title": "Support multiple prompts attached to a generation.", - "href": "https://github.com/orgs/langfuse/discussions/2065", - "created_at": "2024-05-15T22:16:35Z", - "upvotes": 3, + "number": 2137, + "title": "Latency (Avg) showing 0 for dataset runs", + "href": "https://github.com/orgs/langfuse/discussions/2137", + "created_at": "2024-05-24T07:33:51Z", + "upvotes": 4, "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [], "author": { - "login": "jansenderr", - "html_url": "https://github.com/jansenderr" + "login": "karthik-TLIT", + "html_url": "https://github.com/karthik-TLIT" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2064, - "title": "Show explicit error when viewing a project that doesn't exist", - "href": "https://github.com/orgs/langfuse/discussions/2064", - "created_at": "2024-05-15T16:49:32Z", - "upvotes": 1, - "comment_count": 0, - "resolved": false, - "labels": [], - "author": { - "login": "backmask", - "html_url": "https://github.com/backmask" - }, - "category": "Ideas" - }, - { - "number": 2045, - "title": "Requesting official support OpenAI's new gpt-4o model", - "href": "https://github.com/orgs/langfuse/discussions/2045", - "created_at": "2024-05-13T21:37:38Z", + "number": 2130, + "title": "Evaluations Not Available in Self-Hosted Version?", + "href": "https://github.com/orgs/langfuse/discussions/2130", + "created_at": "2024-05-23T14:31:16Z", "upvotes": 3, - "comment_count": 5, - "resolved": false, + "comment_count": 1, + "resolved": true, "labels": [ - "integration-openai", - "✅ Done", - "feat-cost-tracking" + "feat-evals" ], "author": { - "login": "varenc", - "html_url": "https://github.com/varenc" - }, - "category": "Ideas" - }, - { - "number": 2043, - "title": "Support instrumentation through openllmetry", - "href": "https://github.com/orgs/langfuse/discussions/2043", - "created_at": "2024-05-13T19:27:59Z", - "upvotes": 8, - "comment_count": 1, - "resolved": false, - "labels": [], - "author": { - "login": "baggiponte", - "html_url": "https://github.com/baggiponte" + "login": "c0pper", + "html_url": "https://github.com/c0pper" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2039, - "title": "Introduce the concept of \"sub-prompt\" to improve prompt reusability", - "href": "https://github.com/orgs/langfuse/discussions/2039", - "created_at": "2024-05-13T10:14:44Z", - "upvotes": 3, + "number": 2114, + "title": "Careers link on HN is broken", + "href": "https://github.com/orgs/langfuse/discussions/2114", + "created_at": "2024-05-21T07:28:26Z", + "upvotes": 1, "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [], "author": { - "login": "khaelys", - "html_url": "https://github.com/khaelys" + "login": "davherrmann", + "html_url": "https://github.com/davherrmann" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2030, - "title": "Add number of 'successful request' to traces list view", - "href": "https://github.com/orgs/langfuse/discussions/2030", - "created_at": "2024-05-09T23:25:27Z", - "upvotes": 1, + "number": 2111, + "title": "Token cost is counted even if langchains LLM cache is utilized", + "href": "https://github.com/orgs/langfuse/discussions/2111", + "created_at": "2024-05-20T23:23:44Z", + "upvotes": 5, "comment_count": 1, - "resolved": false, - "labels": [], + "resolved": true, + "labels": [ + "integration-langchain" + ], "author": { "login": "arthurGrigo", "html_url": "https://github.com/arthurGrigo" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2021, - "title": "Ask for a import/export on prompt management page", - "href": "https://github.com/orgs/langfuse/discussions/2021", - "created_at": "2024-05-09T03:17:50Z", + "number": 2106, + "title": "Hability to store pre defined initial message", + "href": "https://github.com/orgs/langfuse/discussions/2106", + "created_at": "2024-05-20T20:40:23Z", "upvotes": 1, - "comment_count": 2, - "resolved": false, + "comment_count": 1, + "resolved": true, "labels": [], "author": { - "login": "ShaunDeng", - "html_url": "https://github.com/ShaunDeng" + "login": "Lunik", + "html_url": "https://github.com/Lunik" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2006, - "title": "Gitlab Auth Provider", - "href": "https://github.com/orgs/langfuse/discussions/2006", - "created_at": "2024-05-08T10:12:51Z", + "number": 2099, + "title": "Deleting Duplicate Items in a Dataset", + "href": "https://github.com/orgs/langfuse/discussions/2099", + "created_at": "2024-05-20T09:48:58Z", "upvotes": 1, "comment_count": 1, - "resolved": false, - "labels": [], + "resolved": true, + "labels": [ + "feat-datasets" + ], "author": { - "login": "jsirex", - "html_url": "https://github.com/jsirex" + "login": "emailic", + "html_url": "https://github.com/emailic" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1990, - "title": "Add batch actions to traces", - "href": "https://github.com/orgs/langfuse/discussions/1990", - "created_at": "2024-05-07T09:37:42Z", - "upvotes": 3, - "comment_count": 0, - "resolved": false, + "number": 2098, + "title": "Wrong model for billing", + "href": "https://github.com/orgs/langfuse/discussions/2098", + "created_at": "2024-05-20T09:29:33Z", + "upvotes": 2, + "comment_count": 1, + "resolved": true, "labels": [], "author": { - "login": "nimbusaeta", - "html_url": "https://github.com/nimbusaeta" + "login": "wdxwj", + "html_url": "https://github.com/wdxwj" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1988, - "title": "Upload datasets via UI", - "href": "https://github.com/orgs/langfuse/discussions/1988", - "created_at": "2024-05-06T20:25:20Z", - "upvotes": 9, + "number": 2077, + "title": "Error Encountered During Migration for Applying Newly Supported Models to Existing Data", + "href": "https://github.com/orgs/langfuse/discussions/2077", + "created_at": "2024-05-16T15:30:33Z", + "upvotes": 1, "comment_count": 1, "resolved": false, - "labels": [ - "feat-datasets" - ], + "labels": [], "author": { - "login": "assafweinberg", - "html_url": "https://github.com/assafweinberg" + "login": "Zherdev1996", + "html_url": "https://github.com/Zherdev1996" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1987, - "title": "API/UI to delete dataset items and runs", - "href": "https://github.com/orgs/langfuse/discussions/1987", - "created_at": "2024-05-06T17:13:16Z", - "upvotes": 24, + "number": 2073, + "title": "Will Playground be available for self-hosted?", + "href": "https://github.com/orgs/langfuse/discussions/2073", + "created_at": "2024-05-16T12:40:30Z", + "upvotes": 5, "comment_count": 2, - "resolved": false, + "resolved": true, "labels": [ - "feat-datasets" + "feat-playground" ], "author": { - "login": "tomek82", - "html_url": "https://github.com/tomek82" + "login": "sabatesduran", + "html_url": "https://github.com/sabatesduran" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1963, - "title": "Is it possible integrate Langfuse with Microsoft Copilot Studio?", - "href": "https://github.com/orgs/langfuse/discussions/1963", - "created_at": "2024-05-03T03:33:22Z", + "number": 2070, + "title": "Error on Local Deployment: \"Evals available in cloud only\" when Adding LLM API Key", + "href": "https://github.com/orgs/langfuse/discussions/2070", + "created_at": "2024-05-16T09:02:43Z", "upvotes": 1, - "comment_count": 0, + "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "aiakubovich", - "html_url": "https://github.com/aiakubovich" + "login": "youngsj951104", + "html_url": "https://github.com/youngsj951104" }, - "category": "Ideas" + "category": "Support" }, { - "number": 2055, - "title": "Openai: Support IO capture when streaming function / tool call", - "href": "https://github.com/orgs/langfuse/discussions/2055", - "created_at": "2024-05-01T15:25:15Z", - "upvotes": 16, - "comment_count": 7, - "resolved": false, - "labels": [ - "sdk-python", - "integration-openai", - "✅ Done" - ], + "number": 2069, + "title": "Does langfuse uses any Postgres-only features?", + "href": "https://github.com/orgs/langfuse/discussions/2069", + "created_at": "2024-05-16T06:36:16Z", + "upvotes": 2, + "comment_count": 1, + "resolved": true, + "labels": [], "author": { - "login": "DanrForetellix", - "html_url": "https://github.com/DanrForetellix" + "login": "rohts-patil", + "html_url": "https://github.com/rohts-patil" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1941, - "title": "Looking into allowing more customization of the table", - "href": "https://github.com/orgs/langfuse/discussions/1941", - "created_at": "2024-05-01T14:47:32Z", + "number": 2063, + "title": "Exception(\"parent run not found\")", + "href": "https://github.com/orgs/langfuse/discussions/2063", + "created_at": "2024-05-15T14:45:00Z", "upvotes": 1, "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "Mohamed-Ayaan358", - "html_url": "https://github.com/Mohamed-Ayaan358" + "login": "emailic", + "html_url": "https://github.com/emailic" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1916, - "title": "Langchain integration Improvements", - "href": "https://github.com/orgs/langfuse/discussions/1916", - "created_at": "2024-04-30T13:23:19Z", + "number": 2042, + "title": "Availability of evals when self-hosting", + "href": "https://github.com/orgs/langfuse/discussions/2042", + "created_at": "2024-05-13T14:06:11Z", "upvotes": 2, - "comment_count": 2, - "resolved": false, + "comment_count": 1, + "resolved": true, "labels": [ - "integration-langchain", - "✅ Done" + "feat-evals" ], "author": { - "login": "ajram23", - "html_url": "https://github.com/ajram23" + "login": "derevyan", + "html_url": "https://github.com/derevyan" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1904, - "title": "Retrieve prompts based on versioning rather than times for caching", - "href": "https://github.com/orgs/langfuse/discussions/1904", - "created_at": "2024-04-29T14:04:27Z", - "upvotes": 1, - "comment_count": 2, + "number": 2031, + "title": "Starting a demo from JS SDK and local running Langfuse, but cannot create init trace currently", + "href": "https://github.com/orgs/langfuse/discussions/2031", + "created_at": "2024-05-10T08:49:40Z", + "upvotes": 1, + "comment_count": 1, "resolved": false, - "labels": [ - "feat-prompt-management" - ], + "labels": [], "author": { - "login": "ajram23", - "html_url": "https://github.com/ajram23" + "login": "JamieLee0510", + "html_url": "https://github.com/JamieLee0510" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1896, - "title": "Delete Session", - "href": "https://github.com/orgs/langfuse/discussions/1896", - "created_at": "2024-04-29T08:01:05Z", - "upvotes": 15, - "comment_count": 0, - "resolved": false, + "number": 2009, + "title": "Custom name of Span when using Langchain handler instead of RunnableSequence", + "href": "https://github.com/orgs/langfuse/discussions/2009", + "created_at": "2024-05-08T12:23:08Z", + "upvotes": 1, + "comment_count": 1, + "resolved": true, "labels": [ - "feat-sessions" + "integration-langchain" ], "author": { - "login": "rohan-gt", - "html_url": "https://github.com/rohan-gt" + "login": "nathan-vo810", + "html_url": "https://github.com/nathan-vo810" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1895, - "title": "linking prompts with tracing in langchain integration", - "href": "https://github.com/orgs/langfuse/discussions/1895", - "created_at": "2024-04-28T13:13:08Z", - "upvotes": 10, - "comment_count": 3, + "number": 2008, + "title": "Not able to add dataset item", + "href": "https://github.com/orgs/langfuse/discussions/2008", + "created_at": "2024-05-08T12:11:04Z", + "upvotes": 1, + "comment_count": 1, "resolved": false, - "labels": [ - "feat-prompt-management", - "integration-langchain", - "✅ Done" - ], + "labels": [], "author": { - "login": "SatheeshJM", - "html_url": "https://github.com/SatheeshJM" + "login": "nithin1995", + "html_url": "https://github.com/nithin1995" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1867, - "title": "Add integration with evaluation frameworks", - "href": "https://github.com/orgs/langfuse/discussions/1867", - "created_at": "2024-04-25T23:09:03Z", + "number": 2007, + "title": "Langfuse in PHP. Which are the minimum functions needed to implement?", + "href": "https://github.com/orgs/langfuse/discussions/2007", + "created_at": "2024-05-08T10:55:07Z", "upvotes": 1, "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "johnnydevriese", - "html_url": "https://github.com/johnnydevriese" + "login": "phpia", + "html_url": "https://github.com/phpia" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1862, - "title": "Support Linking Execution Trace to DatasetItem without Fetching Entire Dataset", - "href": "https://github.com/orgs/langfuse/discussions/1862", - "created_at": "2024-04-25T18:57:08Z", + "number": 2005, + "title": "How to get trace data with langfuse-langchain in JS/TS?", + "href": "https://github.com/orgs/langfuse/discussions/2005", + "created_at": "2024-05-08T08:08:42Z", "upvotes": 1, - "comment_count": 1, - "resolved": false, + "comment_count": 2, + "resolved": true, "labels": [ - "feat-datasets" + "integration-langchain" ], "author": { - "login": "sfarthin", - "html_url": "https://github.com/sfarthin" + "login": "AdiletBekmuratov", + "html_url": "https://github.com/AdiletBekmuratov" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1858, - "title": "Platform User roles to allow or disable project creation", - "href": "https://github.com/orgs/langfuse/discussions/1858", - "created_at": "2024-04-25T16:00:12Z", + "number": 1982, + "title": "trace doesn't work with .batch handler on langserve", + "href": "https://github.com/orgs/langfuse/discussions/1982", + "created_at": "2024-05-06T02:32:30Z", + "upvotes": 2, + "comment_count": 0, + "resolved": false, + "labels": [], + "author": { + "login": "restuprajna", + "html_url": "https://github.com/restuprajna" + }, + "category": "Support" + }, + { + "number": 1979, + "title": "get_prompt function failed in langfuse-python 2.28.3", + "href": "https://github.com/orgs/langfuse/discussions/1979", + "created_at": "2024-05-05T19:57:40Z", + "upvotes": 1, + "comment_count": 1, + "resolved": true, + "labels": [], + "author": { + "login": "nathan-vo810", + "html_url": "https://github.com/nathan-vo810" + }, + "category": "Support" + }, + { + "number": 1969, + "title": "How to utilize a dataset w/ typescript and langchain integration", + "href": "https://github.com/orgs/langfuse/discussions/1969", + "created_at": "2024-05-03T15:22:21Z", "upvotes": 1, "comment_count": 2, "resolved": false, "labels": [ "✅ Done", - "feat-rbac" + "feat-datasets" ], "author": { - "login": "JMcGenn", - "html_url": "https://github.com/JMcGenn" + "login": "sahellebusch", + "html_url": "https://github.com/sahellebusch" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1851, - "title": "[oauth] Keycloak provider support", - "href": "https://github.com/orgs/langfuse/discussions/1851", - "created_at": "2024-04-25T12:39:26Z", - "upvotes": 7, - "comment_count": 1, - "resolved": false, + "number": 1957, + "title": "DevOps: What is the best way to create separate Langfuse instances in different environments: Dev, Test, QA, Prod?", + "href": "https://github.com/orgs/langfuse/discussions/1957", + "created_at": "2024-05-02T21:28:07Z", + "upvotes": 2, + "comment_count": 2, + "resolved": true, "labels": [ "self-hosting" ], "author": { - "login": "9teen90nine", - "html_url": "https://github.com/9teen90nine" + "login": "aiakubovich", + "html_url": "https://github.com/aiakubovich" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1843, - "title": "Support GigaChat model from LangChain", - "href": "https://github.com/orgs/langfuse/discussions/1843", - "created_at": "2024-04-25T09:24:07Z", + "number": 1952, + "title": "How to communicate trace-id between backend and frontend ? (langchain+langserve integration)", + "href": "https://github.com/orgs/langfuse/discussions/1952", + "created_at": "2024-05-02T13:48:20Z", "upvotes": 1, - "comment_count": 0, + "comment_count": 3, "resolved": false, "labels": [ "integration-langchain" ], "author": { - "login": "Rai220", - "html_url": "https://github.com/Rai220" + "login": "Sinnaeve", + "html_url": "https://github.com/Sinnaeve" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1830, - "title": "Decorator should also be able to return JSON or Dictionary object", - "href": "https://github.com/orgs/langfuse/discussions/1830", - "created_at": "2024-04-24T09:41:39Z", - "upvotes": 1, - "comment_count": 2, - "resolved": false, - "labels": [], + "number": 1946, + "title": "Not able to build docker image from web/Dockerfile", + "href": "https://github.com/orgs/langfuse/discussions/1946", + "created_at": "2024-05-02T09:41:18Z", + "upvotes": 2, + "comment_count": 1, + "resolved": true, + "labels": [ + "self-hosting" + ], "author": { - "login": "nathan-vo810", - "html_url": "https://github.com/nathan-vo810" + "login": "Subham0793", + "html_url": "https://github.com/Subham0793" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1826, - "title": "Having a session_with_user client", - "href": "https://github.com/orgs/langfuse/discussions/1826", - "created_at": "2024-04-24T08:31:05Z", - "upvotes": 1, - "comment_count": 0, - "resolved": false, + "number": 1940, + "title": "Simple Prompt -> LLM error with Usage Object?", + "href": "https://github.com/orgs/langfuse/discussions/1940", + "created_at": "2024-05-01T13:47:14Z", + "upvotes": 2, + "comment_count": 1, + "resolved": true, "labels": [], "author": { - "login": "rtzy7", - "html_url": "https://github.com/rtzy7" + "login": "tzilkha", + "html_url": "https://github.com/tzilkha" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1823, - "title": "Change `/api/chatCompletion` to be a standard OpenAI proxy on `/api/v1/chat/completions`?", - "href": "https://github.com/orgs/langfuse/discussions/1823", - "created_at": "2024-04-23T19:48:34Z", - "upvotes": 1, + "number": 1864, + "title": "Can't see traces in the webUI if callback_handler passed to LLM init constructor", + "href": "https://github.com/orgs/langfuse/discussions/1864", + "created_at": "2024-04-25T21:01:54Z", + "upvotes": 2, "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "Manouchehri", - "html_url": "https://github.com/Manouchehri" + "login": "gabrielfior", + "html_url": "https://github.com/gabrielfior" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1820, - "title": "Auth using Microsoft Entra ID", - "href": "https://github.com/orgs/langfuse/discussions/1820", - "created_at": "2024-04-23T18:32:42Z", + "number": 1860, + "title": "Alter generation names with LangChain integration", + "href": "https://github.com/orgs/langfuse/discussions/1860", + "created_at": "2024-04-25T18:12:35Z", "upvotes": 1, - "comment_count": 2, - "resolved": false, + "comment_count": 1, + "resolved": true, "labels": [ - "✅ Done", - "self-hosting" + "integration-langchain" ], "author": { - "login": "Stadly", - "html_url": "https://github.com/Stadly" + "login": "nic-asnes-klaviyo", + "html_url": "https://github.com/nic-asnes-klaviyo" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1816, - "title": "Add a metrics endpoint for Prometheus", - "href": "https://github.com/orgs/langfuse/discussions/1816", - "created_at": "2024-04-23T14:33:38Z", - "upvotes": 5, - "comment_count": 2, + "number": 1831, + "title": "how to check only output tokens and models costs related to only output tokens?", + "href": "https://github.com/orgs/langfuse/discussions/1831", + "created_at": "2024-04-24T12:27:17Z", + "upvotes": 2, + "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "nolwennz", - "html_url": "https://github.com/nolwennz" + "login": "manishiitg", + "html_url": "https://github.com/manishiitg" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1813, - "title": "Provide an integration with Matomo Analytics so as for Posthog", - "href": "https://github.com/orgs/langfuse/discussions/1813", - "created_at": "2024-04-23T12:24:41Z", - "upvotes": 12, - "comment_count": 4, - "resolved": false, + "number": 1814, + "title": "Deploy to heroku", + "href": "https://github.com/orgs/langfuse/discussions/1814", + "created_at": "2024-04-23T13:56:27Z", + "upvotes": 1, + "comment_count": 2, + "resolved": true, "labels": [ - "integrations" + "self-hosting" ], "author": { - "login": "Chardonneaur", - "html_url": "https://github.com/Chardonneaur" + "login": "MarcoSteinke", + "html_url": "https://github.com/MarcoSteinke" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1800, - "title": "Add command r/command r plus via Azure Marketplace", - "href": "https://github.com/orgs/langfuse/discussions/1800", - "created_at": "2024-04-22T16:11:38Z", + "number": 1788, + "title": "Need help with resolving long runtimes when Langfuse tracing is enabled", + "href": "https://github.com/orgs/langfuse/discussions/1788", + "created_at": "2024-04-19T17:46:05Z", "upvotes": 2, - "comment_count": 2, + "comment_count": 1, "resolved": false, - "labels": [ - "bug", - "integration-langchain" - ], + "labels": [], "author": { - "login": "jayfk", - "html_url": "https://github.com/jayfk" + "login": "pooja1423", + "html_url": "https://github.com/pooja1423" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1794, - "title": "User-level dashboard", - "href": "https://github.com/orgs/langfuse/discussions/1794", - "created_at": "2024-04-22T01:56:15Z", + "number": 1785, + "title": "How to limit the number of traces", + "href": "https://github.com/orgs/langfuse/discussions/1785", + "created_at": "2024-04-19T10:29:17Z", "upvotes": 1, "comment_count": 1, "resolved": false, - "labels": [ - "feat-users" - ], + "labels": [], "author": { "login": "secsilm", "html_url": "https://github.com/secsilm" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1793, - "title": "Request chart of min/avg/max input/output tokens", - "href": "https://github.com/orgs/langfuse/discussions/1793", - "created_at": "2024-04-21T13:33:39Z", - "upvotes": 2, + "number": 1773, + "title": "Flowise 1.6.5 can not Trace", + "href": "https://github.com/orgs/langfuse/discussions/1773", + "created_at": "2024-04-18T11:55:32Z", + "upvotes": 1, "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "secsilm", - "html_url": "https://github.com/secsilm" + "login": "lknbv5", + "html_url": "https://github.com/lknbv5" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1783, - "title": "Limit new user registration", - "href": "https://github.com/orgs/langfuse/discussions/1783", - "created_at": "2024-04-19T09:34:55Z", + "number": 1759, + "title": "How to get generations and scores in the same trace when using OpenAI sdk or other tools", + "href": "https://github.com/orgs/langfuse/discussions/1759", + "created_at": "2024-04-17T15:56:51Z", "upvotes": 1, "comment_count": 1, "resolved": false, - "labels": [ - "self-hosting" - ], + "labels": [], "author": { - "login": "secsilm", - "html_url": "https://github.com/secsilm" + "login": "databill86", + "html_url": "https://github.com/databill86" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1781, - "title": "feature for python client:get traces by score", - "href": "https://github.com/orgs/langfuse/discussions/1781", - "created_at": "2024-04-19T09:12:48Z", + "number": 1712, + "title": "Invalid public key", + "href": "https://github.com/orgs/langfuse/discussions/1712", + "created_at": "2024-04-14T18:11:51Z", "upvotes": 1, "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "StarsSparkle", - "html_url": "https://github.com/StarsSparkle" + "login": "taaha3244", + "html_url": "https://github.com/taaha3244" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1780, - "title": "Log for Function Calling", - "href": "https://github.com/orgs/langfuse/discussions/1780", - "created_at": "2024-04-19T06:40:55Z", - "upvotes": 6, - "comment_count": 1, + "number": 1672, + "title": "Cookies not allowed", + "href": "https://github.com/orgs/langfuse/discussions/1672", + "created_at": "2024-04-11T07:43:53Z", + "upvotes": 1, + "comment_count": 3, "resolved": false, - "labels": [ - "integration-openai" - ], + "labels": [], "author": { - "login": "jaindees", - "html_url": "https://github.com/jaindees" + "login": "danielpirs", + "html_url": "https://github.com/danielpirs" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1776, - "title": "SSO: Cognito", - "href": "https://github.com/orgs/langfuse/discussions/1776", - "created_at": "2024-04-18T20:40:43Z", + "number": 1649, + "title": "Run Langchain Evaluations on data in Langfuse , Why is the prompt not considered, and could this lead to evaluation flaws?", + "href": "https://github.com/orgs/langfuse/discussions/1649", + "created_at": "2024-04-10T05:25:28Z", "upvotes": 1, - "comment_count": 2, + "comment_count": 1, "resolved": false, - "labels": [ - "✅ Done", - "self-hosting" - ], + "labels": [], "author": { - "login": "theluk", - "html_url": "https://github.com/theluk" + "login": "pengpengIlove", + "html_url": "https://github.com/pengpengIlove" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1774, - "title": "PromptClient: Support mustache type export to langchain", - "href": "https://github.com/orgs/langfuse/discussions/1774", - "created_at": "2024-04-18T18:52:40Z", + "number": 1610, + "title": "Scoring a trace after the LLM chain returns", + "href": "https://github.com/orgs/langfuse/discussions/1610", + "created_at": "2024-04-07T15:12:34Z", "upvotes": 1, "comment_count": 1, - "resolved": false, - "labels": [], + "resolved": true, + "labels": [ + "feat-scores" + ], "author": { - "login": "maxjacu", - "html_url": "https://github.com/maxjacu" + "login": "pooja1423", + "html_url": "https://github.com/pooja1423" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1770, - "title": "New REST API endpoint to get all prompts", - "href": "https://github.com/orgs/langfuse/discussions/1770", - "created_at": "2024-04-18T02:40:14Z", + "number": 1601, + "title": "Okta auth got `read ECONNRESET`", + "href": "https://github.com/orgs/langfuse/discussions/1601", + "created_at": "2024-04-04T03:46:08Z", "upvotes": 1, "comment_count": 2, "resolved": false, "labels": [], "author": { - "login": "zoltan-fedor", - "html_url": "https://github.com/zoltan-fedor" + "login": "tmwatchanan", + "html_url": "https://github.com/tmwatchanan" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1769, - "title": "Request chart of the generation speed of tokens (tokens/s)", - "href": "https://github.com/orgs/langfuse/discussions/1769", - "created_at": "2024-04-18T02:14:37Z", + "number": 1538, + "title": "Trace input is null when passing in nodes, or Documents with transformations to VectorStoreIndex constructor", + "href": "https://github.com/orgs/langfuse/discussions/1538", + "created_at": "2024-03-29T00:30:49Z", "upvotes": 1, "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "secsilm", - "html_url": "https://github.com/secsilm" + "login": "mwertheim-zco", + "html_url": "https://github.com/mwertheim-zco" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1760, - "title": "annotation of traces in langfuse console?", - "href": "https://github.com/orgs/langfuse/discussions/1760", - "created_at": "2024-04-17T17:51:47Z", - "upvotes": 3, - "comment_count": 2, - "resolved": false, + "number": 1536, + "title": "Tracing and Session support on Integrations like LiteLLM Proxy and others and Is LangFuse logging a background process?", + "href": "https://github.com/orgs/langfuse/discussions/1536", + "created_at": "2024-03-28T20:22:49Z", + "upvotes": 1, + "comment_count": 1, + "resolved": true, "labels": [ - "✅ Done", - "feat-annotation" + "integration-litellm", + "feat-sessions" ], "author": { - "login": "erik-squared", - "html_url": "https://github.com/erik-squared" + "login": "Harryalways317", + "html_url": "https://github.com/Harryalways317" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1755, - "title": "feat: Prompt API Search (by tags)", - "href": "https://github.com/orgs/langfuse/discussions/1755", - "created_at": "2024-04-17T09:37:50Z", - "upvotes": 2, - "comment_count": 2, + "number": 1528, + "title": "Aggregated project from multiple langfuse servers", + "href": "https://github.com/orgs/langfuse/discussions/1528", + "created_at": "2024-03-28T09:01:37Z", + "upvotes": 3, + "comment_count": 1, "resolved": false, - "labels": [ - "✅ Done" - ], - "author": { - "login": "bryan-agicap", - "html_url": "https://github.com/bryan-agicap" - }, - "category": "Ideas" - }, - { - "number": 1744, - "title": "Is it possible to support Dify?", - "href": "https://github.com/orgs/langfuse/discussions/1744", - "created_at": "2024-04-16T20:55:11Z", - "upvotes": 2, - "comment_count": 2, - "resolved": false, - "labels": [ - "integrations", - "✅ Done", - "integration-dify" - ], + "labels": [], "author": { - "login": "jtsang4", - "html_url": "https://github.com/jtsang4" + "login": "juan-abia", + "html_url": "https://github.com/juan-abia" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1716, - "title": "feat: Add `TRACE_EVENTS` flag", - "href": "https://github.com/orgs/langfuse/discussions/1716", - "created_at": "2024-04-15T12:29:30Z", + "number": 1524, + "title": "How to add default user and project to self-hosted docker?", + "href": "https://github.com/orgs/langfuse/discussions/1524", + "created_at": "2024-03-28T08:00:07Z", "upvotes": 1, "comment_count": 2, - "resolved": false, + "resolved": true, "labels": [ - "✅ Done" + "self-hosting" ], "author": { - "login": "JorisAndrade", - "html_url": "https://github.com/JorisAndrade" + "login": "tzsombor95", + "html_url": "https://github.com/tzsombor95" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1715, - "title": "Add support for ZITADEL OIDC", - "href": "https://github.com/orgs/langfuse/discussions/1715", - "created_at": "2024-04-15T12:27:54Z", - "upvotes": 1, + "number": 1512, + "title": "[Alerts] Connect to Slack", + "href": "https://github.com/orgs/langfuse/discussions/1512", + "created_at": "2024-03-27T08:04:49Z", + "upvotes": 4, "comment_count": 1, - "resolved": false, - "labels": [ - "self-hosting" - ], + "resolved": true, + "labels": [], "author": { - "login": "bitfactory-sem-denbroeder", - "html_url": "https://github.com/bitfactory-sem-denbroeder" + "login": "hypernovas", + "html_url": "https://github.com/hypernovas" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1711, - "title": "Webhook to trigger CI/CD pipeline when new prompt version is created", - "href": "https://github.com/orgs/langfuse/discussions/1711", - "created_at": "2024-04-14T13:46:30Z", + "number": 1486, + "title": "Update/delete score using python sdk", + "href": "https://github.com/orgs/langfuse/discussions/1486", + "created_at": "2024-03-25T20:13:55Z", "upvotes": 5, "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [ - "feat-prompt-management", - "feat-api" + "feat-scores" ], "author": { - "login": "tamdoEH", - "html_url": "https://github.com/tamdoEH" + "login": "msanand", + "html_url": "https://github.com/msanand" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1710, - "title": "Review feature for prompt deployment", - "href": "https://github.com/orgs/langfuse/discussions/1710", - "created_at": "2024-04-14T13:39:50Z", - "upvotes": 3, + "number": 1481, + "title": "502-Bad Request", + "href": "https://github.com/orgs/langfuse/discussions/1481", + "created_at": "2024-03-22T13:06:18Z", + "upvotes": 1, "comment_count": 3, - "resolved": false, - "labels": [ - "feat-prompt-management" - ], - "author": { - "login": "tamdoEH", - "html_url": "https://github.com/tamdoEH" - }, - "category": "Ideas" - }, - { - "number": 1707, - "title": "API for custom model <> token usage pricing", - "href": "https://github.com/orgs/langfuse/discussions/1707", - "created_at": "2024-04-13T22:37:38Z", - "upvotes": 3, - "comment_count": 2, - "resolved": false, + "resolved": true, "labels": [ - "✅ Done", - "feat-api" + "self-hosting" ], "author": { - "login": "rydamckinney", - "html_url": "https://github.com/rydamckinney" + "login": "tbarbito", + "html_url": "https://github.com/tbarbito" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1696, - "title": "Export & import for prompts, copy between projects", - "href": "https://github.com/orgs/langfuse/discussions/1696", - "created_at": "2024-04-12T20:28:47Z", - "upvotes": 16, - "comment_count": 7, + "number": 1466, + "title": "bug: Potential bug with AzureAD auth setup", + "href": "https://github.com/orgs/langfuse/discussions/1466", + "created_at": "2024-03-22T07:12:43Z", + "upvotes": 1, + "comment_count": 1, "resolved": false, "labels": [ - "feat-prompt-management" + "self-hosting" ], "author": { - "login": "zoltan-fedor", - "html_url": "https://github.com/zoltan-fedor" + "login": "mprudra", + "html_url": "https://github.com/mprudra" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1692, - "title": "Read-only prompt keys?", - "href": "https://github.com/orgs/langfuse/discussions/1692", - "created_at": "2024-04-12T00:57:44Z", - "upvotes": 2, + "number": 1449, + "title": "Langfuse session ID when using Chainlit", + "href": "https://github.com/orgs/langfuse/discussions/1449", + "created_at": "2024-03-20T00:57:09Z", + "upvotes": 1, "comment_count": 2, "resolved": false, "labels": [], "author": { - "login": "Manouchehri", - "html_url": "https://github.com/Manouchehri" + "login": "tituslhy", + "html_url": "https://github.com/tituslhy" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1671, - "title": "Ability to run langfuse in tests automatically without manual involvement", - "href": "https://github.com/orgs/langfuse/discussions/1671", - "created_at": "2024-04-11T05:29:44Z", + "number": 1445, + "title": "Linking dataset run items with existing callback handler", + "href": "https://github.com/orgs/langfuse/discussions/1445", + "created_at": "2024-03-19T16:54:54Z", "upvotes": 1, - "comment_count": 2, + "comment_count": 1, "resolved": false, "labels": [ - "✅ Done", - "self-hosting" + "feat-datasets" ], "author": { - "login": "SinghCoder", - "html_url": "https://github.com/SinghCoder" + "login": "subandwho", + "html_url": "https://github.com/subandwho" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1664, - "title": "\"Task\" and \"Bot\" core abstractions", - "href": "https://github.com/orgs/langfuse/discussions/1664", - "created_at": "2024-04-10T20:24:53Z", - "upvotes": 2, + "number": 1434, + "title": "Add UserID and Feedback when using LlamaIndex Integration", + "href": "https://github.com/orgs/langfuse/discussions/1434", + "created_at": "2024-03-18T20:24:29Z", + "upvotes": 1, "comment_count": 1, - "resolved": false, - "labels": [], - "author": { - "login": "sfarthin", - "html_url": "https://github.com/sfarthin" - }, - "category": "Ideas" - }, - { - "number": 1660, - "title": "Prompt Composability", - "href": "https://github.com/orgs/langfuse/discussions/1660", - "created_at": "2024-04-10T15:25:05Z", - "upvotes": 10, - "comment_count": 5, - "resolved": false, + "resolved": true, "labels": [ - "feat-prompt-management" + "integraton-llamaindex" ], "author": { - "login": "meissnereric", - "html_url": "https://github.com/meissnereric" + "login": "skelleex", + "html_url": "https://github.com/skelleex" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1633, - "title": "feat: Function Calling Under OpenAI Format", - "href": "https://github.com/orgs/langfuse/discussions/1633", - "created_at": "2024-04-09T08:49:58Z", - "upvotes": 2, + "number": 1432, + "title": "langfuse.api.resources.commons.errors.not_found_error.NotFoundError: status_code: 404, body: {'message': 'Observation not found'}", + "href": "https://github.com/orgs/langfuse/discussions/1432", + "created_at": "2024-03-18T13:29:05Z", + "upvotes": 1, "comment_count": 1, "resolved": false, - "labels": [ - "feat-playground" - ], + "labels": [], "author": { - "login": "anhphong22", - "html_url": "https://github.com/anhphong22" + "login": "emailic", + "html_url": "https://github.com/emailic" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1630, - "title": "Groq - Mixtral", - "href": "https://github.com/orgs/langfuse/discussions/1630", - "created_at": "2024-04-09T05:11:12Z", + "number": 1429, + "title": "Hybrid usage Langfuse among OpenAI calls as well Langchain", + "href": "https://github.com/orgs/langfuse/discussions/1429", + "created_at": "2024-03-17T14:09:57Z", "upvotes": 1, "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [], "author": { - "login": "mike4lyf", - "html_url": "https://github.com/mike4lyf" + "login": "mikeon", + "html_url": "https://github.com/mikeon" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1627, - "title": "VertexAI support", - "href": "https://github.com/orgs/langfuse/discussions/1627", - "created_at": "2024-04-08T22:43:38Z", - "upvotes": 3, - "comment_count": 1, - "resolved": false, + "number": 1420, + "title": "Datasets list / by id", + "href": "https://github.com/orgs/langfuse/discussions/1420", + "created_at": "2024-03-15T02:22:27Z", + "upvotes": 2, + "comment_count": 2, + "resolved": true, "labels": [ - "integration-langchain" + "feat-datasets" ], "author": { - "login": "eles13", - "html_url": "https://github.com/eles13" + "login": "norton120", + "html_url": "https://github.com/norton120" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1613, - "title": "[Feature] Add a score value filter", - "href": "https://github.com/orgs/langfuse/discussions/1613", - "created_at": "2024-04-08T07:58:58Z", + "number": 1417, + "title": "Running Langfuse in Kubernetes", + "href": "https://github.com/orgs/langfuse/discussions/1417", + "created_at": "2024-03-14T19:59:42Z", "upvotes": 1, + "comment_count": 2, + "resolved": true, + "labels": [], + "author": { + "login": "mikeon", + "html_url": "https://github.com/mikeon" + }, + "category": "Support" + }, + { + "number": 1382, + "title": "Match LLMs from AWS Bedrock to added model definition", + "href": "https://github.com/orgs/langfuse/discussions/1382", + "created_at": "2024-03-09T08:28:53Z", + "upvotes": 2, "comment_count": 0, "resolved": false, "labels": [], "author": { - "login": "Hacky-DH", - "html_url": "https://github.com/Hacky-DH" + "login": "DominikNeumaier", + "html_url": "https://github.com/DominikNeumaier" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1612, - "title": "DSPY integration", - "href": "https://github.com/orgs/langfuse/discussions/1612", - "created_at": "2024-04-07T18:54:32Z", + "number": 1380, + "title": "Langfuse flush() taking a long time and hangs", + "href": "https://github.com/orgs/langfuse/discussions/1380", + "created_at": "2024-03-09T00:09:55Z", "upvotes": 1, - "comment_count": 1, - "resolved": false, + "comment_count": 2, + "resolved": true, "labels": [], "author": { - "login": "wdhitchc", - "html_url": "https://github.com/wdhitchc" + "login": "venu-shapley", + "html_url": "https://github.com/venu-shapley" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1566, - "title": "LangchainCallbackHandler httpx_client not accessible", - "href": "https://github.com/orgs/langfuse/discussions/1566", - "created_at": "2024-04-03T09:18:12Z", - "upvotes": 2, + "number": 1373, + "title": "How to fix error when running docs app demo chat", + "href": "https://github.com/orgs/langfuse/discussions/1373", + "created_at": "2024-03-08T00:08:46Z", + "upvotes": 1, "comment_count": 1, - "resolved": false, - "labels": [ - "integration-langchain" - ], + "resolved": true, + "labels": [], "author": { - "login": "dlmatt", - "html_url": "https://github.com/dlmatt" + "login": "luandro", + "html_url": "https://github.com/luandro" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1541, - "title": "Disable events logging", - "href": "https://github.com/orgs/langfuse/discussions/1541", - "created_at": "2024-03-29T18:08:13Z", - "upvotes": 8, - "comment_count": 3, - "resolved": false, + "number": 1357, + "title": "Run items not appearing when linking to a trace and not a span or a generation", + "href": "https://github.com/orgs/langfuse/discussions/1357", + "created_at": "2024-03-07T10:17:34Z", + "upvotes": 1, + "comment_count": 2, + "resolved": true, "labels": [ - "✅ Done" + "feat-datasets" ], "author": { - "login": "omgovich", - "html_url": "https://github.com/omgovich" + "login": "ladislasdellinger", + "html_url": "https://github.com/ladislasdellinger" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1535, - "title": "Request for Integration of Mistral Models into Langfuse", - "href": "https://github.com/orgs/langfuse/discussions/1535", - "created_at": "2024-03-28T16:10:25Z", - "upvotes": 5, - "comment_count": 2, + "number": 1353, + "title": "How do I add custom LLM APIs to the Langfuse UI?", + "href": "https://github.com/orgs/langfuse/discussions/1353", + "created_at": "2024-03-07T06:33:23Z", + "upvotes": 0, + "comment_count": 1, "resolved": false, - "labels": [ - "integrations", - "✅ Done" - ], + "labels": [], "author": { - "login": "Zherdev1996", - "html_url": "https://github.com/Zherdev1996" + "login": "yudhiesh", + "html_url": "https://github.com/yudhiesh" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1533, - "title": "Managing Embeddings", - "href": "https://github.com/orgs/langfuse/discussions/1533", - "created_at": "2024-03-28T15:36:21Z", + "number": 1336, + "title": "Applying database migrations failed. This is mostly caused by the database being unavailable.", + "href": "https://github.com/orgs/langfuse/discussions/1336", + "created_at": "2024-03-06T09:10:19Z", "upvotes": 1, - "comment_count": 0, + "comment_count": 2, "resolved": false, "labels": [], "author": { - "login": "Botman-Hotman", - "html_url": "https://github.com/Botman-Hotman" + "login": "everyfin-in", + "html_url": "https://github.com/everyfin-in" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1513, - "title": "Langfuse Trace with OpenAI Assistants", - "href": "https://github.com/orgs/langfuse/discussions/1513", - "created_at": "2024-03-27T11:47:19Z", - "upvotes": 10, - "comment_count": 5, + "number": 1335, + "title": "Openai and null traces for input/output/metadata", + "href": "https://github.com/orgs/langfuse/discussions/1335", + "created_at": "2024-03-06T02:02:46Z", + "upvotes": 2, + "comment_count": 0, "resolved": false, - "labels": [ - "integration-openai" - ], + "labels": [], "author": { - "login": "marco-introvigne", - "html_url": "https://github.com/marco-introvigne" + "login": "aiakubovich", + "html_url": "https://github.com/aiakubovich" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1500, - "title": "Comment column can have any name the user chooses, there could be multiple comment columns per metric", - "href": "https://github.com/orgs/langfuse/discussions/1500", - "created_at": "2024-03-26T08:42:45Z", + "number": 1328, + "title": "Incompatibility between openllmetry and langfuse OpenAI wrapper", + "href": "https://github.com/orgs/langfuse/discussions/1328", + "created_at": "2024-03-05T17:03:34Z", "upvotes": 1, "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "emailic", - "html_url": "https://github.com/emailic" + "login": "pamelafox", + "html_url": "https://github.com/pamelafox" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1488, - "title": "Make Langfuse switchable", - "href": "https://github.com/orgs/langfuse/discussions/1488", - "created_at": "2024-03-25T21:05:17Z", - "upvotes": 2, + "number": 1326, + "title": "Does Langfuse integrate with LiteLLM Proxy Server?", + "href": "https://github.com/orgs/langfuse/discussions/1326", + "created_at": "2024-03-05T15:25:37Z", + "upvotes": 1, "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [], "author": { - "login": "MrMojoR", - "html_url": "https://github.com/MrMojoR" + "login": "alphanome", + "html_url": "https://github.com/alphanome" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1479, - "title": "Add total filtered Generations to UI", - "href": "https://github.com/orgs/langfuse/discussions/1479", - "created_at": "2024-03-24T17:19:51Z", + "number": 1325, + "title": "Do you need a helm chart of langfuse?", + "href": "https://github.com/orgs/langfuse/discussions/1325", + "created_at": "2024-03-05T15:02:42Z", "upvotes": 1, - "comment_count": 0, + "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "PhiBrandon", - "html_url": "https://github.com/PhiBrandon" + "login": "artemus717", + "html_url": "https://github.com/artemus717" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1461, - "title": "Loose prisma datasource db provider.", - "href": "https://github.com/orgs/langfuse/discussions/1461", - "created_at": "2024-03-21T13:09:15Z", + "number": 1323, + "title": "When referencing the local langfuse in the langserve code, an error occurs:“ImportError: cannot import name 'ChatDeepInfra' from 'langchain_community.chat_models...”", + "href": "https://github.com/orgs/langfuse/discussions/1323", + "created_at": "2024-03-05T13:03:49Z", + "upvotes": 2, + "comment_count": 2, + "resolved": true, + "labels": [], + "author": { + "login": "zhenlong-zhu", + "html_url": "https://github.com/zhenlong-zhu" + }, + "category": "Support" + }, + { + "number": 1225, + "title": "Can Langfuse be used to record the records of ConversationChain in LangChain?", + "href": "https://github.com/orgs/langfuse/discussions/1225", + "created_at": "2024-02-22T09:24:34Z", "upvotes": 1, "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [ - "self-hosting" + "integration-langchain" ], "author": { - "login": "muazhari", - "html_url": "https://github.com/muazhari" + "login": "lyzltysgithub", + "html_url": "https://github.com/lyzltysgithub" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1460, - "title": "Langfuse images for arm64 (mac silicon, some cloud vms)", - "href": "https://github.com/orgs/langfuse/discussions/1460", - "created_at": "2024-03-21T05:48:56Z", - "upvotes": 1, - "comment_count": 1, - "resolved": false, + "number": 1193, + "title": "What is the shadow database needed for?", + "href": "https://github.com/orgs/langfuse/discussions/1193", + "created_at": "2024-02-17T08:23:33Z", + "upvotes": 1, + "comment_count": 2, + "resolved": true, "labels": [], "author": { - "login": "verdverm", - "html_url": "https://github.com/verdverm" + "login": "Stadly", + "html_url": "https://github.com/Stadly" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1454, - "title": "Add a time based filter option", - "href": "https://github.com/orgs/langfuse/discussions/1454", - "created_at": "2024-03-20T16:06:15Z", - "upvotes": 4, - "comment_count": 2, - "resolved": false, + "number": 1184, + "title": "Unable to set session id or other CallbackHandler parameters when passing trace client in langchain sdk", + "href": "https://github.com/orgs/langfuse/discussions/1184", + "created_at": "2024-02-16T08:01:51Z", + "upvotes": 1, + "comment_count": 1, + "resolved": true, "labels": [ - "✅ Done" + "integration-langchain" ], "author": { - "login": "Kurumindla-Kranthivardhan", - "html_url": "https://github.com/Kurumindla-Kranthivardhan" + "login": "sasidevtool", + "html_url": "https://github.com/sasidevtool" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1431, - "title": "Integration with Langserve", - "href": "https://github.com/orgs/langfuse/discussions/1431", - "created_at": "2024-03-18T08:40:32Z", - "upvotes": 1, + "number": 1186, + "title": "How to set tags when using the Langchain Callback handler", + "href": "https://github.com/orgs/langfuse/discussions/1186", + "created_at": "2024-02-16T05:47:31Z", + "upvotes": 2, "comment_count": 2, - "resolved": false, - "labels": [], + "resolved": true, + "labels": [ + "sdk-python", + "integration-langchain", + "feat-tags" + ], "author": { - "login": "Haxeebraja", - "html_url": "https://github.com/Haxeebraja" + "login": "reza-mohideen", + "html_url": "https://github.com/reza-mohideen" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1428, - "title": "allow to delete sessions", - "href": "https://github.com/orgs/langfuse/discussions/1428", - "created_at": "2024-03-16T15:56:35Z", - "upvotes": 4, + "number": 1179, + "title": "Ollama token counts", + "href": "https://github.com/orgs/langfuse/discussions/1179", + "created_at": "2024-02-15T23:38:39Z", + "upvotes": 2, "comment_count": 2, - "resolved": false, + "resolved": true, "labels": [ - "feat-sessions" + "feat-cost-tracking" ], "author": { - "login": "morganveyret", - "html_url": "https://github.com/morganveyret" + "login": "aiseei", + "html_url": "https://github.com/aiseei" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1427, - "title": "Toggle collection of traces on a per-trace basis", - "href": "https://github.com/orgs/langfuse/discussions/1427", - "created_at": "2024-03-16T15:19:07Z", + "number": 1310, + "title": "Trace of custom classes gives nondescriptive info", + "href": "https://github.com/orgs/langfuse/discussions/1310", + "created_at": "2024-02-06T14:13:26Z", "upvotes": 1, - "comment_count": 1, + "comment_count": 0, "resolved": false, "labels": [], "author": { - "login": "foragerr", - "html_url": "https://github.com/foragerr" + "login": "mjungiewicz-exadel", + "html_url": "https://github.com/mjungiewicz-exadel" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1415, - "title": "Add a \"correction\" field on the user feedback info", - "href": "https://github.com/orgs/langfuse/discussions/1415", - "created_at": "2024-03-14T14:18:30Z", - "upvotes": 3, - "comment_count": 2, - "resolved": false, - "labels": [], + "number": 1091, + "title": "How to pass span id to OpenAI `chat.completions.create`", + "href": "https://github.com/orgs/langfuse/discussions/1091", + "created_at": "2024-02-06T09:33:30Z", + "upvotes": 1, + "comment_count": 1, + "resolved": true, + "labels": [ + "integration-openai" + ], "author": { - "login": "almirb", - "html_url": "https://github.com/almirb" + "login": "techytushar", + "html_url": "https://github.com/techytushar" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1408, - "title": "Trace Latencies line chart please", - "href": "https://github.com/orgs/langfuse/discussions/1408", - "created_at": "2024-03-13T15:00:35Z", - "upvotes": 2, - "comment_count": 0, - "resolved": false, - "labels": [], + "number": 1081, + "title": "Sessions vs Traces?", + "href": "https://github.com/orgs/langfuse/discussions/1081", + "created_at": "2024-02-05T21:06:03Z", + "upvotes": 1, + "comment_count": 2, + "resolved": true, + "labels": [ + "feat-sessions" + ], "author": { - "login": "Huarong", - "html_url": "https://github.com/Huarong" + "login": "Manouchehri", + "html_url": "https://github.com/Manouchehri" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1398, - "title": "What standardized dataset formats are people using?", - "href": "https://github.com/orgs/langfuse/discussions/1398", - "created_at": "2024-03-12T15:47:53Z", - "upvotes": 2, - "comment_count": 0, + "number": 1071, + "title": "feat: support for custom httpx.client", + "href": "https://github.com/orgs/langfuse/discussions/1071", + "created_at": "2024-02-05T06:35:23Z", + "upvotes": 1, + "comment_count": 2, "resolved": false, - "labels": [ - "feat-datasets" - ], + "labels": [], "author": { - "login": "norton120", - "html_url": "https://github.com/norton120" + "login": "brandonkzw", + "html_url": "https://github.com/brandonkzw" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1397, - "title": "Reorder columns in tables", - "href": "https://github.com/orgs/langfuse/discussions/1397", - "created_at": "2024-03-12T14:45:37Z", - "upvotes": 3, + "number": 1070, + "title": "Where to log request and response headers of generations? (litellm)", + "href": "https://github.com/orgs/langfuse/discussions/1070", + "created_at": "2024-02-05T02:40:38Z", + "upvotes": 1, "comment_count": 2, - "resolved": false, + "resolved": true, "labels": [ - "✅ Done" + "integration-litellm" ], "author": { - "login": "marcklingen", - "html_url": "https://github.com/marcklingen" + "login": "Manouchehri", + "html_url": "https://github.com/Manouchehri" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1394, - "title": "Adding a \"Select all\" button to tables", - "href": "https://github.com/orgs/langfuse/discussions/1394", - "created_at": "2024-03-12T10:37:23Z", - "upvotes": 2, + "number": 1055, + "title": "Best way to flush LF in Next.js?", + "href": "https://github.com/orgs/langfuse/discussions/1055", + "created_at": "2024-02-02T17:50:58Z", + "upvotes": 1, "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [], "author": { - "login": "samyxdev", - "html_url": "https://github.com/samyxdev" + "login": "gullerg", + "html_url": "https://github.com/gullerg" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1392, - "title": "Hide prompts/completions (privacy)", - "href": "https://github.com/orgs/langfuse/discussions/1392", - "created_at": "2024-03-12T07:48:22Z", - "upvotes": 10, + "number": 1054, + "title": "Sentry for self-hosted?", + "href": "https://github.com/orgs/langfuse/discussions/1054", + "created_at": "2024-02-02T17:21:06Z", + "upvotes": 1, "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [], "author": { - "login": "ziodave", - "html_url": "https://github.com/ziodave" + "login": "Manouchehri", + "html_url": "https://github.com/Manouchehri" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1391, - "title": "Enhancements for Langfuse User Sign-Up Control", - "href": "https://github.com/orgs/langfuse/discussions/1391", - "created_at": "2024-03-11T23:38:18Z", - "upvotes": 7, - "comment_count": 0, - "resolved": false, + "number": 1051, + "title": "How can I get the trace_id in langfuse.openai.OpenAI?", + "href": "https://github.com/orgs/langfuse/discussions/1051", + "created_at": "2024-02-02T09:39:55Z", + "upvotes": 1, + "comment_count": 1, + "resolved": true, "labels": [ - "self-hosting" + "integration-openai" ], "author": { - "login": "udit-001", - "html_url": "https://github.com/udit-001" + "login": "yangge2333", + "html_url": "https://github.com/yangge2333" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1385, - "title": "bug: Not allowing to limit Azure AD authentication for selected users in same tenent", - "href": "https://github.com/orgs/langfuse/discussions/1385", - "created_at": "2024-03-11T17:42:05Z", + "number": 1044, + "title": "AWS SES IAM Policy", + "href": "https://github.com/orgs/langfuse/discussions/1044", + "created_at": "2024-02-02T01:58:26Z", "upvotes": 2, - "comment_count": 2, + "comment_count": 1, "resolved": false, - "labels": [ - "self-hosting" - ], + "labels": [], "author": { - "login": "SathinduGA", - "html_url": "https://github.com/SathinduGA" + "login": "Manouchehri", + "html_url": "https://github.com/Manouchehri" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1378, - "title": "Aggregate cost per span", - "href": "https://github.com/orgs/langfuse/discussions/1378", - "created_at": "2024-03-08T16:06:04Z", - "upvotes": 2, - "comment_count": 1, + "number": 1019, + "title": "WAF Rules for self-hosted", + "href": "https://github.com/orgs/langfuse/discussions/1019", + "created_at": "2024-02-01T01:41:51Z", + "upvotes": 3, + "comment_count": 0, "resolved": false, "labels": [], "author": { - "login": "ladislasdellinger", - "html_url": "https://github.com/ladislasdellinger" + "login": "Manouchehri", + "html_url": "https://github.com/Manouchehri" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1376, - "title": "Support parsing LLM model for ChatOllama", - "href": "https://github.com/orgs/langfuse/discussions/1376", - "created_at": "2024-03-08T14:13:58Z", + "number": 1016, + "title": "Scaling / Parallelism / Concurrency safe?", + "href": "https://github.com/orgs/langfuse/discussions/1016", + "created_at": "2024-01-31T22:33:36Z", "upvotes": 1, "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [], "author": { - "login": "kleebaum", - "html_url": "https://github.com/kleebaum" + "login": "Manouchehri", + "html_url": "https://github.com/Manouchehri" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1374, - "title": "Add LLamaIndexTS example", - "href": "https://github.com/orgs/langfuse/discussions/1374", - "created_at": "2024-03-08T00:42:30Z", + "number": 1013, + "title": "Building Docker container without database connection?", + "href": "https://github.com/orgs/langfuse/discussions/1013", + "created_at": "2024-01-31T19:32:47Z", "upvotes": 1, - "comment_count": 1, - "resolved": false, + "comment_count": 2, + "resolved": true, "labels": [], "author": { - "login": "luandro", - "html_url": "https://github.com/luandro" + "login": "Manouchehri", + "html_url": "https://github.com/Manouchehri" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1361, - "title": "Add a retention window for unnecessary data", - "href": "https://github.com/orgs/langfuse/discussions/1361", - "created_at": "2024-03-07T14:42:07Z", + "number": 973, + "title": "If we use cloud services, when we migrate to our own host later, do all the above data support export?", + "href": "https://github.com/orgs/langfuse/discussions/973", + "created_at": "2024-01-27T09:55:41Z", "upvotes": 1, "comment_count": 1, - "resolved": false, + "resolved": true, "labels": [], "author": { - "login": "albertoforcato", - "html_url": "https://github.com/albertoforcato" + "login": "wsdo", + "html_url": "https://github.com/wsdo" }, - "category": "Ideas" + "category": "Support" }, { - "number": 1337, - "title": "Support for Langchain ChatAnthropic", - "href": "https://github.com/orgs/langfuse/discussions/1337", - "created_at": "2024-03-06T10:42:36Z", + "number": 866, + "title": "Cannot see Add to Dataset button in the UI", + "href": "https://github.com/orgs/langfuse/discussions/866", + "created_at": "2024-01-11T09:12:16Z", + "upvotes": 1, + "comment_count": 2, + "resolved": true, + "labels": [ + "feat-datasets" + ], + "author": { + "login": "SinghCoder", + "html_url": "https://github.com/SinghCoder" + }, + "category": "Support" + } + ] + }, + { + "category": "Ideas", + "discussions": [ + { + "number": 4454, + "title": "Support user input, message history, and tool calls in prompt experiments", + "href": "https://github.com/orgs/langfuse/discussions/4454", + "created_at": "2024-11-27T01:04:26Z", "upvotes": 2, "comment_count": 1, "resolved": false, "labels": [ - "integration-langchain" + "feat-prompt-experiments" ], "author": { - "login": "dotrunghieu96", - "html_url": "https://github.com/dotrunghieu96" + "login": "marcklingen", + "html_url": "https://github.com/marcklingen" }, "category": "Ideas" }, { - "number": 1331, - "title": "Adding cost to the datasets tables", - "href": "https://github.com/orgs/langfuse/discussions/1331", - "created_at": "2024-03-05T18:53:25Z", + "number": 4430, + "title": "Feature request: CRUD for Prompt API", + "href": "https://github.com/orgs/langfuse/discussions/4430", + "created_at": "2024-11-26T08:42:39Z", "upvotes": 1, - "comment_count": 1, + "comment_count": 0, "resolved": false, - "labels": [ - "✅ Done" - ], + "labels": [], "author": { - "login": "ladislasdellinger", - "html_url": "https://github.com/ladislasdellinger" + "login": "barseghyanartur", + "html_url": "https://github.com/barseghyanartur" }, "category": "Ideas" }, { - "number": 1321, - "title": "More prompt environments/tags instead of just `active`", - "href": "https://github.com/orgs/langfuse/discussions/1321", - "created_at": "2024-03-05T11:05:17Z", - "upvotes": 3, - "comment_count": 2, + "number": 4414, + "title": "langfuse-python: simple static method listing prompt template var names", + "href": "https://github.com/orgs/langfuse/discussions/4414", + "created_at": "2024-11-25T16:28:05Z", + "upvotes": 1, + "comment_count": 3, "resolved": false, "labels": [ - "feat-prompt-management", - "✅ Done" + "feat-prompt-management" ], "author": { - "login": "ladislasdellinger", - "html_url": "https://github.com/ladislasdellinger" + "login": "rhighs", + "html_url": "https://github.com/rhighs" }, "category": "Ideas" }, { - "number": 1309, - "title": "Log used prompt on generations when using Langchain", - "href": "https://github.com/orgs/langfuse/discussions/1309", - "created_at": "2024-03-04T09:03:35Z", - "upvotes": 5, - "comment_count": 2, + "number": 4397, + "title": "n8n Integration", + "href": "https://github.com/orgs/langfuse/discussions/4397", + "created_at": "2024-11-24T09:43:01Z", + "upvotes": 1, + "comment_count": 0, "resolved": false, - "labels": [ - "integration-langchain", - "✅ Done" - ], + "labels": [], "author": { - "login": "TobinShaw", - "html_url": "https://github.com/TobinShaw" + "login": "aibucketmail", + "html_url": "https://github.com/aibucketmail" }, "category": "Ideas" }, { - "number": 1306, - "title": "[TS] Generating through OpenAI SDK directly", - "href": "https://github.com/orgs/langfuse/discussions/1306", - "created_at": "2024-03-02T10:56:07Z", + "number": 4381, + "title": "Feature Request: Add Tagging Pipelines for Evaluation-Based Tagging", + "href": "https://github.com/orgs/langfuse/discussions/4381", + "created_at": "2024-11-22T03:44:17Z", "upvotes": 1, - "comment_count": 2, + "comment_count": 0, "resolved": false, - "labels": [ - "integrations", - "integration-openai", - "✅ Done" - ], + "labels": [], "author": { - "login": "louis030195", - "html_url": "https://github.com/louis030195" + "login": "wesleyearlstander", + "html_url": "https://github.com/wesleyearlstander" }, "category": "Ideas" }, { - "number": 1305, - "title": "Allow Project-Specific Default Time Ranges", - "href": "https://github.com/orgs/langfuse/discussions/1305", - "created_at": "2024-03-02T03:42:42Z", + "number": 4380, + "title": "Adding types for evals in Langfuse", + "href": "https://github.com/orgs/langfuse/discussions/4380", + "created_at": "2024-11-22T03:35:26Z", "upvotes": 1, "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "dkindlund", - "html_url": "https://github.com/dkindlund" + "login": "wesleyearlstander", + "html_url": "https://github.com/wesleyearlstander" }, "category": "Ideas" }, { - "number": 1300, - "title": "Consider adding support for DSPy", - "href": "https://github.com/orgs/langfuse/discussions/1300", - "created_at": "2024-03-01T15:42:23Z", + "number": 4372, + "title": "LaTex Rendering", + "href": "https://github.com/orgs/langfuse/discussions/4372", + "created_at": "2024-11-21T22:06:07Z", "upvotes": 1, - "comment_count": 2, + "comment_count": 0, "resolved": false, "labels": [], "author": { - "login": "sutyum", - "html_url": "https://github.com/sutyum" + "login": "wesleyearlstander", + "html_url": "https://github.com/wesleyearlstander" }, "category": "Ideas" }, { - "number": 1295, - "title": "Support DSPy", - "href": "https://github.com/orgs/langfuse/discussions/1295", - "created_at": "2024-03-01T11:34:05Z", - "upvotes": 19, - "comment_count": 9, + "number": 4353, + "title": "Datasets: Add selection of traces to a dataset", + "href": "https://github.com/orgs/langfuse/discussions/4353", + "created_at": "2024-11-21T08:56:15Z", + "upvotes": 1, + "comment_count": 0, "resolved": false, "labels": [ - "integrations", - "✅ Done", - "integration-dspy" + "feat-datasets" ], "author": { - "login": "sandangel", - "html_url": "https://github.com/sandangel" + "login": "jannikmaierhoefer", + "html_url": "https://github.com/jannikmaierhoefer" }, "category": "Ideas" }, { - "number": 1291, - "title": "Integration: LlamaIndex JS/TS", - "href": "https://github.com/orgs/langfuse/discussions/1291", - "created_at": "2024-02-29T11:56:42Z", - "upvotes": 33, - "comment_count": 3, + "number": 4348, + "title": "Multi-user annotation capability in Score Configs", + "href": "https://github.com/orgs/langfuse/discussions/4348", + "created_at": "2024-11-20T19:16:38Z", + "upvotes": 1, + "comment_count": 2, "resolved": false, "labels": [ - "sdk-js", - "integrations", - "integraton-llamaindex" + "feat-annotation" ], "author": { - "login": "marcklingen", - "html_url": "https://github.com/marcklingen" + "login": "juanmleng", + "html_url": "https://github.com/juanmleng" }, "category": "Ideas" }, { - "number": 1287, - "title": "Add filtering by errors", - "href": "https://github.com/orgs/langfuse/discussions/1287", - "created_at": "2024-02-28T22:52:59Z", - "upvotes": 3, - "comment_count": 2, + "number": 4342, + "title": "Feature request: Lifecycle hooks in LangFuse", + "href": "https://github.com/orgs/langfuse/discussions/4342", + "created_at": "2024-11-20T14:23:44Z", + "upvotes": 1, + "comment_count": 1, "resolved": false, - "labels": [ - "ui" - ], + "labels": [], "author": { - "login": "ankerbachryhl", - "html_url": "https://github.com/ankerbachryhl" + "login": "barseghyanartur", + "html_url": "https://github.com/barseghyanartur" }, "category": "Ideas" }, { - "number": 1277, - "title": "Add Audit Logging System to Worker Tasks", - "href": "https://github.com/orgs/langfuse/discussions/1277", - "created_at": "2024-02-28T11:53:15Z", - "upvotes": 1, - "comment_count": 3, + "number": 4340, + "title": "RBAC: Restriction based on trace tags/metadata", + "href": "https://github.com/orgs/langfuse/discussions/4340", + "created_at": "2024-11-20T12:32:40Z", + "upvotes": 2, + "comment_count": 0, "resolved": false, "labels": [], "author": { - "login": "khareyash05", - "html_url": "https://github.com/khareyash05" + "login": "jannikmaierhoefer", + "html_url": "https://github.com/jannikmaierhoefer" }, "category": "Ideas" }, { - "number": 1268, - "title": "Possible with different units for input and output", - "href": "https://github.com/orgs/langfuse/discussions/1268", - "created_at": "2024-02-27T13:45:21Z", - "upvotes": 1, - "comment_count": 1, + "number": 4332, + "title": "Trace Table: Ability to sort table by score", + "href": "https://github.com/orgs/langfuse/discussions/4332", + "created_at": "2024-11-20T10:27:38Z", + "upvotes": 2, + "comment_count": 0, "resolved": false, "labels": [], "author": { - "login": "Stadly", - "html_url": "https://github.com/Stadly" + "login": "jannikmaierhoefer", + "html_url": "https://github.com/jannikmaierhoefer" }, "category": "Ideas" }, { - "number": 1264, - "title": "ChatML/ChatMessage Prompt Templates", - "href": "https://github.com/orgs/langfuse/discussions/1264", - "created_at": "2024-02-27T01:59:05Z", - "upvotes": 4, - "comment_count": 3, + "number": 4322, + "title": "Add the ability to remove tags from traces via the SDK/API", + "href": "https://github.com/orgs/langfuse/discussions/4322", + "created_at": "2024-11-19T20:09:18Z", + "upvotes": 2, + "comment_count": 0, "resolved": false, - "labels": [ - "feat-prompt-management", - "✅ Done" - ], + "labels": [], "author": { - "login": "tuan3w", - "html_url": "https://github.com/tuan3w" + "login": "justinwiley", + "html_url": "https://github.com/justinwiley" }, "category": "Ideas" }, { - "number": 1258, - "title": "Dashboard for all projects of an organization", - "href": "https://github.com/orgs/langfuse/discussions/1258", - "created_at": "2024-02-26T20:12:22Z", - "upvotes": 11, - "comment_count": 2, + "number": 4316, + "title": "Prompt Changelog Management", + "href": "https://github.com/orgs/langfuse/discussions/4316", + "created_at": "2024-11-19T14:32:33Z", + "upvotes": 3, + "comment_count": 0, "resolved": false, - "labels": [ - "feat-dashboard" - ], + "labels": [], "author": { - "login": "aiakubovich", - "html_url": "https://github.com/aiakubovich" + "login": "alexander-abramovich", + "html_url": "https://github.com/alexander-abramovich" }, "category": "Ideas" }, { - "number": 1221, - "title": "Add Haystack integration", - "href": "https://github.com/orgs/langfuse/discussions/1221", - "created_at": "2024-02-21T13:06:06Z", - "upvotes": 9, - "comment_count": 2, + "number": 4315, + "title": "Smartly integrate with prompt templating tools (like Jinja templating engine)", + "href": "https://github.com/orgs/langfuse/discussions/4315", + "created_at": "2024-11-19T14:30:42Z", + "upvotes": 2, + "comment_count": 0, "resolved": false, - "labels": [ - "integrations", - "✅ Done", - "integration-haystack" - ], + "labels": [], "author": { - "login": "marcklingen", - "html_url": "https://github.com/marcklingen" + "login": "alexander-abramovich", + "html_url": "https://github.com/alexander-abramovich" }, "category": "Ideas" }, { - "number": 1220, - "title": "Export to S3", - "href": "https://github.com/orgs/langfuse/discussions/1220", - "created_at": "2024-02-21T12:46:58Z", - "upvotes": 1, + "number": 4314, + "title": "Making prompt editing eye-pleasing and less error-prown", + "href": "https://github.com/orgs/langfuse/discussions/4314", + "created_at": "2024-11-19T14:24:29Z", + "upvotes": 2, "comment_count": 0, "resolved": false, - "labels": [ - "integrations" - ], + "labels": [], "author": { - "login": "marcklingen", - "html_url": "https://github.com/marcklingen" + "login": "alexander-abramovich", + "html_url": "https://github.com/alexander-abramovich" }, "category": "Ideas" }, { - "number": 1219, - "title": "Export to BigQuery", - "href": "https://github.com/orgs/langfuse/discussions/1219", - "created_at": "2024-02-21T12:46:26Z", - "upvotes": 4, - "comment_count": 0, + "number": 4304, + "title": "Prompt Management: Metadata for Prompt Versions", + "href": "https://github.com/orgs/langfuse/discussions/4304", + "created_at": "2024-11-19T08:39:27Z", + "upvotes": 7, + "comment_count": 2, "resolved": false, "labels": [ - "integrations" + "feat-prompt-management" ], "author": { - "login": "marcklingen", - "html_url": "https://github.com/marcklingen" + "login": "jannikmaierhoefer", + "html_url": "https://github.com/jannikmaierhoefer" }, "category": "Ideas" }, { - "number": 1212, - "title": "Adding support for async Langchain methods", - "href": "https://github.com/orgs/langfuse/discussions/1212", - "created_at": "2024-02-20T13:09:19Z", - "upvotes": 24, - "comment_count": 5, + "number": 4303, + "title": "Exporting comments", + "href": "https://github.com/orgs/langfuse/discussions/4303", + "created_at": "2024-11-19T06:59:31Z", + "upvotes": 1, + "comment_count": 1, "resolved": false, - "labels": [ - "integration-langchain", - "✅ Done" - ], + "labels": [], "author": { - "login": "marcklingen", - "html_url": "https://github.com/marcklingen" + "login": "jamesyu", + "html_url": "https://github.com/jamesyu" }, "category": "Ideas" }, { - "number": 1208, - "title": "Add Images in Tracing", - "href": "https://github.com/orgs/langfuse/discussions/1208", - "created_at": "2024-02-20T00:41:41Z", - "upvotes": 11, - "comment_count": 2, + "number": 4301, + "title": "[Feature Request] API to Remove or Update Trace Tags", + "href": "https://github.com/orgs/langfuse/discussions/4301", + "created_at": "2024-11-19T02:41:13Z", + "upvotes": 1, + "comment_count": 0, "resolved": false, - "labels": [ - "✅ Done", - "feat-multimodal" - ], + "labels": [], "author": { - "login": "aiakubovich", - "html_url": "https://github.com/aiakubovich" + "login": "0xcodedead", + "html_url": "https://github.com/0xcodedead" }, "category": "Ideas" }, { - "number": 1190, - "title": "Request to add 75 percentile under Model latency section as shown in image below", - "href": "https://github.com/orgs/langfuse/discussions/1190", - "created_at": "2024-02-16T21:41:29Z", + "number": 4299, + "title": "Add XML/tree viewer to playground and trace viewer", + "href": "https://github.com/orgs/langfuse/discussions/4299", + "created_at": "2024-11-19T01:12:03Z", "upvotes": 1, - "comment_count": 1, + "comment_count": 0, "resolved": false, "labels": [], "author": { - "login": "ssubburaj85", - "html_url": "https://github.com/ssubburaj85" + "login": "jeff-an", + "html_url": "https://github.com/jeff-an" }, "category": "Ideas" }, { - "number": 1170, - "title": "LLM Playground", - "href": "https://github.com/orgs/langfuse/discussions/1170", - "created_at": "2024-02-15T17:44:42Z", - "upvotes": 7, - "comment_count": 6, + "number": 4280, + "title": "Increase character limit of comments in Langfuse", + "href": "https://github.com/orgs/langfuse/discussions/4280", + "created_at": "2024-11-18T11:20:06Z", + "upvotes": 1, + "comment_count": 0, "resolved": false, - "labels": [ - "feat-prompt-management", - "✅ Done", - "feat-playground" - ], + "labels": [], "author": { - "login": "reza-mohideen", - "html_url": "https://github.com/reza-mohideen" + "login": "jannikmaierhoefer", + "html_url": "https://github.com/jannikmaierhoefer" }, "category": "Ideas" }, { - "number": 1159, - "title": "Looking for users (that are migrating off of something) to co-build Langfuse integration with", - "href": "https://github.com/orgs/langfuse/discussions/1159", - "created_at": "2024-02-14T19:05:27Z", - "upvotes": 2, + "number": 4276, + "title": "Enh prompt management system", + "href": "https://github.com/orgs/langfuse/discussions/4276", + "created_at": "2024-11-17T21:50:06Z", + "upvotes": 1, "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "skrawcz", - "html_url": "https://github.com/skrawcz" + "login": "flefevre", + "html_url": "https://github.com/flefevre" }, "category": "Ideas" }, { - "number": 1156, - "title": "Possible to set timestamp when creating trace", - "href": "https://github.com/orgs/langfuse/discussions/1156", - "created_at": "2024-02-14T14:26:22Z", + "number": 4268, + "title": "Support image messages in the playground", + "href": "https://github.com/orgs/langfuse/discussions/4268", + "created_at": "2024-11-17T01:02:48Z", "upvotes": 1, "comment_count": 1, "resolved": false, - "labels": [ - "sdk-js" - ], + "labels": [], "author": { - "login": "Stadly", - "html_url": "https://github.com/Stadly" + "login": "jeff-an", + "html_url": "https://github.com/jeff-an" }, "category": "Ideas" }, { - "number": 1154, - "title": "Dedicated user object which can include groups/teams and other attributes", - "href": "https://github.com/orgs/langfuse/discussions/1154", - "created_at": "2024-02-14T09:45:40Z", - "upvotes": 6, - "comment_count": 5, + "number": 4263, + "title": "Extend RBAC to Include Teams and Refine Permissions for Prompt Management", + "href": "https://github.com/orgs/langfuse/discussions/4263", + "created_at": "2024-11-16T04:22:27Z", + "upvotes": 1, + "comment_count": 0, "resolved": false, - "labels": [ - "feat-users" - ], + "labels": [], "author": { - "login": "bryan-agicap", - "html_url": "https://github.com/bryan-agicap" + "login": "flefevre", + "html_url": "https://github.com/flefevre" }, "category": "Ideas" }, { - "number": 1133, - "title": "API to delete scores", - "href": "https://github.com/orgs/langfuse/discussions/1133", - "created_at": "2024-02-12T11:19:59Z", + "number": 4258, + "title": "Automatically Trace from Playground", + "href": "https://github.com/orgs/langfuse/discussions/4258", + "created_at": "2024-11-15T18:58:05Z", + "upvotes": 1, + "comment_count": 0, + "resolved": false, + "labels": [], + "author": { + "login": "Chinoman10", + "html_url": "https://github.com/Chinoman10" + }, + "category": "Ideas" + }, + { + "number": 4247, + "title": "Reset LangfuseDecorator context to allow nested traces", + "href": "https://github.com/orgs/langfuse/discussions/4247", + "created_at": "2024-11-15T09:59:28Z", "upvotes": 2, - "comment_count": 1, + "comment_count": 0, "resolved": false, - "labels": [ - "feat-api", - "feat-scores" - ], + "labels": [], "author": { - "login": "Jason-CKY", - "html_url": "https://github.com/Jason-CKY" + "login": "vitalii-diachkov-sumup", + "html_url": "https://github.com/vitalii-diachkov-sumup" }, "category": "Ideas" }, { - "number": 1128, - "title": "Display all traces within a session", - "href": "https://github.com/orgs/langfuse/discussions/1128", - "created_at": "2024-02-10T17:36:48Z", + "number": 4212, + "title": "Disable authentication in self-hosted deployments", + "href": "https://github.com/orgs/langfuse/discussions/4212", + "created_at": "2024-11-13T13:32:11Z", "upvotes": 2, "comment_count": 1, "resolved": false, "labels": [ - "ui", - "feat-sessions" + "feat-auth", + "self-hosting" ], "author": { - "login": "benm5678", - "html_url": "https://github.com/benm5678" + "login": "mariusp12", + "html_url": "https://github.com/mariusp12" }, "category": "Ideas" }, { - "number": 1118, - "title": "[Simple Feature/WebUI] Adding a button to hide the sidebar", - "href": "https://github.com/orgs/langfuse/discussions/1118", - "created_at": "2024-02-09T09:43:34Z", - "upvotes": 3, + "number": 4208, + "title": "Multi-turn / session experiments in datasets", + "href": "https://github.com/orgs/langfuse/discussions/4208", + "created_at": "2024-11-13T11:43:31Z", + "upvotes": 1, "comment_count": 1, "resolved": false, "labels": [ - "ui" + "feat-datasets" ], "author": { - "login": "samyxdev", - "html_url": "https://github.com/samyxdev" + "login": "bartsimo", + "html_url": "https://github.com/bartsimo" }, "category": "Ideas" }, { - "number": 1115, - "title": "Prioritize traces captured from LangGraph by relevance", - "href": "https://github.com/orgs/langfuse/discussions/1115", - "created_at": "2024-02-08T06:44:34Z", - "upvotes": 8, - "comment_count": 3, + "number": 4189, + "title": "feat: add support for SSR to allow runtime BASE_PATH", + "href": "https://github.com/orgs/langfuse/discussions/4189", + "created_at": "2024-11-12T12:39:25Z", + "upvotes": 2, + "comment_count": 1, "resolved": false, "labels": [ - "ui", - "integration-langchain" + "self-hosting" ], "author": { - "login": "litagent", - "html_url": "https://github.com/litagent" + "login": "sinux-l5d", + "html_url": "https://github.com/sinux-l5d" }, "category": "Ideas" }, { - "number": 1114, - "title": "Pulling prompt/completions via API", - "href": "https://github.com/orgs/langfuse/discussions/1114", - "created_at": "2024-02-08T00:52:10Z", + "number": 4168, + "title": "Centralized API Key Management with Secret Store Integration (e.g. HashiCorp Vault)", + "href": "https://github.com/orgs/langfuse/discussions/4168", + "created_at": "2024-11-11T11:11:10Z", "upvotes": 1, - "comment_count": 1, + "comment_count": 2, "resolved": false, - "labels": [], + "labels": [ + "security", + "self-hosting" + ], "author": { - "login": "mukundt", - "html_url": "https://github.com/mukundt" + "login": "bikram42", + "html_url": "https://github.com/bikram42" }, "category": "Ideas" }, { - "number": 1106, - "title": "Prompt version comments", - "href": "https://github.com/orgs/langfuse/discussions/1106", - "created_at": "2024-02-07T15:38:07Z", - "upvotes": 5, + "number": 4166, + "title": "Allow sending events to multiple LF projects within one client app", + "href": "https://github.com/orgs/langfuse/discussions/4166", + "created_at": "2024-11-11T10:51:01Z", + "upvotes": 1, "comment_count": 2, "resolved": false, - "labels": [ - "ui", - "feat-prompt-management", - "✅ Done" - ], + "labels": [], "author": { - "login": "mukundt", - "html_url": "https://github.com/mukundt" + "login": "snopoke", + "html_url": "https://github.com/snopoke" }, "category": "Ideas" }, { - "number": 1105, - "title": "\"Git diff\" view between two prompt versions", - "href": "https://github.com/orgs/langfuse/discussions/1105", - "created_at": "2024-02-07T15:37:18Z", - "upvotes": 13, + "number": 4165, + "title": "Another glimpse into prompt management in LangFuse", + "href": "https://github.com/orgs/langfuse/discussions/4165", + "created_at": "2024-11-11T10:20:18Z", + "upvotes": 1, "comment_count": 1, "resolved": false, "labels": [ - "ui", "feat-prompt-management" ], "author": { - "login": "mukundt", - "html_url": "https://github.com/mukundt" + "login": "barseghyanartur", + "html_url": "https://github.com/barseghyanartur" }, "category": "Ideas" }, { - "number": 1097, - "title": "Ability to post-process generation data", - "href": "https://github.com/orgs/langfuse/discussions/1097", - "created_at": "2024-02-06T17:45:58Z", - "upvotes": 2, + "number": 4154, + "title": "Feature Request: Enable Invites with `AUTH_DISABLE_SIGNUP` (or/and GitHub OAuth for a given organization)", + "href": "https://github.com/orgs/langfuse/discussions/4154", + "created_at": "2024-11-10T15:04:41Z", + "upvotes": 3, "comment_count": 1, "resolved": false, - "labels": [], + "labels": [ + "feat-auth", + "self-hosting" + ], "author": { - "login": "denisergashbaev", - "html_url": "https://github.com/denisergashbaev" + "login": "shner-elmo", + "html_url": "https://github.com/shner-elmo" }, "category": "Ideas" }, { - "number": 1096, - "title": "[Python SDK] Link prompt to OpenAI Chat Completion directly", - "href": "https://github.com/orgs/langfuse/discussions/1096", - "created_at": "2024-02-06T17:19:29Z", - "upvotes": 2, - "comment_count": 2, + "number": 4143, + "title": "Getting prompts using LiteLLM syntax", + "href": "https://github.com/orgs/langfuse/discussions/4143", + "created_at": "2024-11-09T17:01:10Z", + "upvotes": 1, + "comment_count": 0, "resolved": false, - "labels": [ - "sdk-python", - "feat-prompt-management", - "integration-openai" - ], + "labels": [], "author": { - "login": "fancyweb", - "html_url": "https://github.com/fancyweb" + "login": "doasfrancisco", + "html_url": "https://github.com/doasfrancisco" }, "category": "Ideas" }, { - "number": 1089, - "title": "Use JWTs for API private key", - "href": "https://github.com/orgs/langfuse/discussions/1089", - "created_at": "2024-02-06T02:11:39Z", + "number": 4129, + "title": "Annotation Queue: Display trace id", + "href": "https://github.com/orgs/langfuse/discussions/4129", + "created_at": "2024-11-08T16:14:00Z", "upvotes": 1, - "comment_count": 2, + "comment_count": 0, "resolved": false, "labels": [], "author": { - "login": "Manouchehri", - "html_url": "https://github.com/Manouchehri" + "login": "jannikmaierhoefer", + "html_url": "https://github.com/jannikmaierhoefer" }, "category": "Ideas" }, { - "number": 1082, - "title": "Add LLM call duration on session and trace table", - "href": "https://github.com/orgs/langfuse/discussions/1082", - "created_at": "2024-02-05T20:52:23Z", - "upvotes": 1, + "number": 4121, + "title": "Enable to use variable of prompt on evaluator.", + "href": "https://github.com/orgs/langfuse/discussions/4121", + "created_at": "2024-11-08T09:16:28Z", + "upvotes": 3, "comment_count": 1, "resolved": false, "labels": [ - "ui" + "feat-evals" ], "author": { - "login": "Manouchehri", - "html_url": "https://github.com/Manouchehri" + "login": "takryo00", + "html_url": "https://github.com/takryo00" }, "category": "Ideas" }, { - "number": 1077, - "title": "Flowise: Allow adding metadata in API call to populate Langfuse trace metadata", - "href": "https://github.com/orgs/langfuse/discussions/1077", - "created_at": "2024-02-05T15:55:07Z", - "upvotes": 2, + "number": 4120, + "title": "Sessions Table: Scores Column", + "href": "https://github.com/orgs/langfuse/discussions/4120", + "created_at": "2024-11-08T08:58:10Z", + "upvotes": 5, "comment_count": 0, "resolved": false, "labels": [ - "integration-flowise" + "feat-sessions" ], "author": { - "login": "jpmin7", - "html_url": "https://github.com/jpmin7" + "login": "jannikmaierhoefer", + "html_url": "https://github.com/jannikmaierhoefer" }, "category": "Ideas" }, { - "number": 1076, - "title": "Flowise: Allow Langfuse traceId to be set or passed on with API response", - "href": "https://github.com/orgs/langfuse/discussions/1076", - "created_at": "2024-02-05T14:58:23Z", + "number": 4110, + "title": "Sort functionality in Users page", + "href": "https://github.com/orgs/langfuse/discussions/4110", + "created_at": "2024-11-07T19:43:07Z", "upvotes": 1, - "comment_count": 1, + "comment_count": 0, "resolved": false, - "labels": [ - "sdk-js", - "integration-flowise" - ], + "labels": [], "author": { - "login": "jpmin7", - "html_url": "https://github.com/jpmin7" + "login": "sal-dti", + "html_url": "https://github.com/sal-dti" }, "category": "Ideas" }, { - "number": 1074, - "title": "Model costs in terms of energy for self hosted models (or cloud hosted)", - "href": "https://github.com/orgs/langfuse/discussions/1074", - "created_at": "2024-02-05T10:15:27Z", + "number": 4106, + "title": "Add new filters for the LLM as a Judge Evaluation (other scores and cost)", + "href": "https://github.com/orgs/langfuse/discussions/4106", + "created_at": "2024-11-07T14:44:31Z", "upvotes": 1, "comment_count": 1, "resolved": false, - "labels": [], - "author": { - "login": "vquilon", - "html_url": "https://github.com/vquilon" - }, - "category": "Ideas" - }, - { - "number": 1073, - "title": "Use proper logger for backend API to make it configurable", - "href": "https://github.com/orgs/langfuse/discussions/1073", - "created_at": "2024-02-05T09:19:01Z", - "upvotes": 3, - "comment_count": 5, - "resolved": false, "labels": [ - "✅ Done", - "self-hosting" + "feat-evals" ], "author": { - "login": "code-haven", - "html_url": "https://github.com/code-haven" + "login": "laisalvescw", + "html_url": "https://github.com/laisalvescw" }, "category": "Ideas" }, { - "number": 1049, - "title": "API Examples for Generations", - "href": "https://github.com/orgs/langfuse/discussions/1049", - "created_at": "2024-02-02T07:02:08Z", + "number": 4103, + "title": "Prompt Management: Deployment level view", + "href": "https://github.com/orgs/langfuse/discussions/4103", + "created_at": "2024-11-07T12:40:07Z", "upvotes": 2, "comment_count": 1, "resolved": false, - "labels": [], + "labels": [ + "feat-prompt-management" + ], "author": { - "login": "Manouchehri", - "html_url": "https://github.com/Manouchehri" + "login": "jannikmaierhoefer", + "html_url": "https://github.com/jannikmaierhoefer" }, "category": "Ideas" }, { - "number": 1048, - "title": "Allow sharing traces as a self contained HTML file via presigned S3 URL", - "href": "https://github.com/orgs/langfuse/discussions/1048", - "created_at": "2024-02-02T06:05:47Z", + "number": 4102, + "title": "Prompt Management: labels in prompt table", + "href": "https://github.com/orgs/langfuse/discussions/4102", + "created_at": "2024-11-07T12:38:00Z", "upvotes": 2, "comment_count": 0, "resolved": false, "labels": [], "author": { - "login": "Manouchehri", - "html_url": "https://github.com/Manouchehri" + "login": "jannikmaierhoefer", + "html_url": "https://github.com/jannikmaierhoefer" }, "category": "Ideas" }, { - "number": 1043, - "title": "Ability to query entities from SDK", - "href": "https://github.com/orgs/langfuse/discussions/1043", - "created_at": "2024-02-01T23:51:00Z", - "upvotes": 4, - "comment_count": 2, + "number": 4099, + "title": "Does LangFuse support a (declarative) plugin architecture?", + "href": "https://github.com/orgs/langfuse/discussions/4099", + "created_at": "2024-11-07T11:27:39Z", + "upvotes": 1, + "comment_count": 1, "resolved": false, - "labels": [ - "feat-api" - ], + "labels": [], "author": { - "login": "Pranov1", - "html_url": "https://github.com/Pranov1" + "login": "barseghyanartur", + "html_url": "https://github.com/barseghyanartur" }, "category": "Ideas" }, { - "number": 1033, - "title": "Subscribe to Langfuse Events via Webhooks", - "href": "https://github.com/orgs/langfuse/discussions/1033", - "created_at": "2024-02-01T18:59:56Z", - "upvotes": 34, - "comment_count": 6, + "number": 4097, + "title": "More Granular Target Objects for Langfuse Evaluators", + "href": "https://github.com/orgs/langfuse/discussions/4097", + "created_at": "2024-11-07T10:00:11Z", + "upvotes": 1, + "comment_count": 0, "resolved": false, "labels": [], "author": { - "login": "marcklingen", - "html_url": "https://github.com/marcklingen" + "login": "qrosseel", + "html_url": "https://github.com/qrosseel" }, "category": "Ideas" }, { - "number": 1032, - "title": "Periodic reports (email or slack)", - "href": "https://github.com/orgs/langfuse/discussions/1032", - "created_at": "2024-02-01T18:57:42Z", - "upvotes": 12, + "number": 4096, + "title": "Evaluator CRUD in UI and API", + "href": "https://github.com/orgs/langfuse/discussions/4096", + "created_at": "2024-11-07T09:46:01Z", + "upvotes": 1, "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "marcklingen", - "html_url": "https://github.com/marcklingen" + "login": "qrosseel", + "html_url": "https://github.com/qrosseel" }, "category": "Ideas" }, { - "number": 1021, - "title": "Add `Embedding` observation type", - "href": "https://github.com/orgs/langfuse/discussions/1021", - "created_at": "2024-02-01T03:15:17Z", - "upvotes": 55, - "comment_count": 2, + "number": 4078, + "title": "Specify data masking on decorator itself", + "href": "https://github.com/orgs/langfuse/discussions/4078", + "created_at": "2024-11-06T14:00:47Z", + "upvotes": 1, + "comment_count": 0, "resolved": false, - "labels": [], + "labels": [ + "integration-python-decorator", + "feat-data-masking" + ], "author": { "login": "marcklingen", "html_url": "https://github.com/marcklingen" @@ -6617,34 +6411,32 @@ "category": "Ideas" }, { - "number": 1020, - "title": "Leveraging Azure OpenAI Diagnostic Settings?", - "href": "https://github.com/orgs/langfuse/discussions/1020", - "created_at": "2024-02-01T02:58:54Z", - "upvotes": 1, + "number": 4077, + "title": "Export dataset run table", + "href": "https://github.com/orgs/langfuse/discussions/4077", + "created_at": "2024-11-06T13:58:30Z", + "upvotes": 4, "comment_count": 0, "resolved": false, "labels": [ - "integration-openai", - "integration-litellm" + "feat-datasets" ], "author": { - "login": "Manouchehri", - "html_url": "https://github.com/Manouchehri" + "login": "marcklingen", + "html_url": "https://github.com/marcklingen" }, "category": "Ideas" }, { - "number": 1011, - "title": "Configurable dashboards", - "href": "https://github.com/orgs/langfuse/discussions/1011", - "created_at": "2024-01-31T13:40:59Z", - "upvotes": 17, - "comment_count": 2, + "number": 4076, + "title": "Customizable data mask (input/output, observation names, observation type)", + "href": "https://github.com/orgs/langfuse/discussions/4076", + "created_at": "2024-11-06T13:56:36Z", + "upvotes": 2, + "comment_count": 0, "resolved": false, "labels": [ - "ui", - "feat-dashboard" + "feat-data-masking" ], "author": { "login": "marcklingen", @@ -6653,159 +6445,164 @@ "category": "Ideas" }, { - "number": 1010, - "title": "Add new integration: LLM Proxy", - "href": "https://github.com/orgs/langfuse/discussions/1010", - "created_at": "2024-01-31T12:40:35Z", - "upvotes": 2, + "number": 4060, + "title": "Add support for more complex Jinja constructs", + "href": "https://github.com/orgs/langfuse/discussions/4060", + "created_at": "2024-11-05T14:28:17Z", + "upvotes": 1, "comment_count": 1, "resolved": false, "labels": [ - "integrations" + "feat-prompt-management" ], "author": { - "login": "marcklingen", - "html_url": "https://github.com/marcklingen" + "login": "alex-stoica", + "html_url": "https://github.com/alex-stoica" }, "category": "Ideas" }, { - "number": 1009, - "title": "Decorator-based integration with Langfuse", - "href": "https://github.com/orgs/langfuse/discussions/1009", - "created_at": "2024-01-31T12:19:26Z", - "upvotes": 7, - "comment_count": 3, + "number": 4040, + "title": "Linking ChatPromptTemplate to Multiple Prompts", + "href": "https://github.com/orgs/langfuse/discussions/4040", + "created_at": "2024-11-04T13:49:06Z", + "upvotes": 1, + "comment_count": 1, "resolved": false, "labels": [ - "sdk-python", - "integrations", - "✅ Done", - "integration-python-decorator" + "feat-prompt-management" ], "author": { - "login": "marcklingen", - "html_url": "https://github.com/marcklingen" + "login": "sternr", + "html_url": "https://github.com/sternr" }, "category": "Ideas" }, { - "number": 1004, - "title": "should work with OpenAI-compatible self-hosted endpoints", - "href": "https://github.com/orgs/langfuse/discussions/1004", - "created_at": "2024-01-31T09:04:28Z", + "number": 4037, + "title": "feat: support adding trace tags in annotation queue view", + "href": "https://github.com/orgs/langfuse/discussions/4037", + "created_at": "2024-11-04T13:04:02Z", "upvotes": 2, - "comment_count": 2, + "comment_count": 0, "resolved": false, "labels": [ - "sdk-python", - "integration-openai" + "feat-annotation" ], "author": { - "login": "7flash", - "html_url": "https://github.com/7flash" + "login": "marliessophie", + "html_url": "https://github.com/marliessophie" }, "category": "Ideas" }, { - "number": 999, - "title": "Users should be able to pass metadata and tags via `overrideConfig` when using the Flowise integration", - "href": "https://github.com/orgs/langfuse/discussions/999", - "created_at": "2024-01-30T19:52:41Z", - "upvotes": 2, + "number": 4035, + "title": "Feat: De-dupe and show info when adding the same trace/observation to an annotation queue multiple times", + "href": "https://github.com/orgs/langfuse/discussions/4035", + "created_at": "2024-11-04T12:58:59Z", + "upvotes": 1, "comment_count": 1, "resolved": false, "labels": [ - "sdk-js", - "integration-flowise", - "✅ Done" + "feat-annotation" ], "author": { - "login": "giorgosera", - "html_url": "https://github.com/giorgosera" + "login": "marliessophie", + "html_url": "https://github.com/marliessophie" }, "category": "Ideas" }, { - "number": 991, - "title": "Inferring cost of trace from metadata field if optionally provided", - "href": "https://github.com/orgs/langfuse/discussions/991", - "created_at": "2024-01-30T07:38:56Z", - "upvotes": 1, - "comment_count": 2, + "number": 4025, + "title": "Diff support for dataset runs view", + "href": "https://github.com/orgs/langfuse/discussions/4025", + "created_at": "2024-11-04T03:48:40Z", + "upvotes": 3, + "comment_count": 0, "resolved": false, - "labels": [], + "labels": [ + "feat-datasets" + ], "author": { - "login": "sumba101", - "html_url": "https://github.com/sumba101" + "login": "saikatmitra91", + "html_url": "https://github.com/saikatmitra91" }, "category": "Ideas" }, { - "number": 990, - "title": "filtering sessions with metadata", - "href": "https://github.com/orgs/langfuse/discussions/990", - "created_at": "2024-01-30T06:21:42Z", - "upvotes": 7, + "number": 4019, + "title": "Create Support for gemini models in playground", + "href": "https://github.com/orgs/langfuse/discussions/4019", + "created_at": "2024-11-03T11:12:42Z", + "upvotes": 1, "comment_count": 2, "resolved": false, "labels": [ - "ui", - "feat-sessions", - "feat-metadata" + "feat-evals", + "feat-playground" ], "author": { - "login": "litagent", - "html_url": "https://github.com/litagent" + "login": "anuraj-suman", + "html_url": "https://github.com/anuraj-suman" }, "category": "Ideas" }, { - "number": 989, - "title": "Enable Collaboration Platforms for Project Members", - "href": "https://github.com/orgs/langfuse/discussions/989", - "created_at": "2024-01-30T04:00:26Z", + "number": 4012, + "title": "Duplicate a template prompt to start a new prompt with all the boilerplate prepared", + "href": "https://github.com/orgs/langfuse/discussions/4012", + "created_at": "2024-11-02T15:26:33Z", + "upvotes": 1, + "comment_count": 1, + "resolved": false, + "labels": [ + "feat-prompt-management" + ], + "author": { + "login": "jakelucasnyc", + "html_url": "https://github.com/jakelucasnyc" + }, + "category": "Ideas" + }, + { + "number": 4009, + "title": "SDK-Python: Get all prompts from LangfuseSDK Client", + "href": "https://github.com/orgs/langfuse/discussions/4009", + "created_at": "2024-11-01T18:39:02Z", "upvotes": 1, "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "khareyash05", - "html_url": "https://github.com/khareyash05" + "login": "nthanapaisal", + "html_url": "https://github.com/nthanapaisal" }, "category": "Ideas" }, { - "number": 982, - "title": "Supporting OpenAI Vision", - "href": "https://github.com/orgs/langfuse/discussions/982", - "created_at": "2024-01-29T19:06:44Z", - "upvotes": 7, - "comment_count": 2, + "number": 4000, + "title": "Support custom aggregated queries through the UI", + "href": "https://github.com/orgs/langfuse/discussions/4000", + "created_at": "2024-11-01T14:19:58Z", + "upvotes": 2, + "comment_count": 0, "resolved": false, - "labels": [ - "integration-openai", - "✅ Done", - "feat-multimodal" - ], + "labels": [], "author": { - "login": "pj747", - "html_url": "https://github.com/pj747" + "login": "emieldatalytica", + "html_url": "https://github.com/emieldatalytica" }, "category": "Ideas" }, { - "number": 980, - "title": "Comments on objects across the Langfuse UI", - "href": "https://github.com/orgs/langfuse/discussions/980", - "created_at": "2024-01-29T18:21:03Z", - "upvotes": 3, - "comment_count": 3, + "number": 3997, + "title": "Alerts based on metrics (cost, evaluation, user-feedback), trigger webhook/email/slack/...", + "href": "https://github.com/orgs/langfuse/discussions/3997", + "created_at": "2024-11-01T11:25:05Z", + "upvotes": 1, + "comment_count": 0, "resolved": false, - "labels": [ - "ui", - "✅ Done" - ], + "labels": [], "author": { "login": "marcklingen", "html_url": "https://github.com/marcklingen" @@ -6813,116 +6610,137 @@ "category": "Ideas" }, { - "number": 976, - "title": "Support alternative databases next to Postgres, e.g. MySQL", - "href": "https://github.com/orgs/langfuse/discussions/976", - "created_at": "2024-01-28T21:44:11Z", - "upvotes": 3, - "comment_count": 6, + "number": 3988, + "title": "Change AWS access pattern for Bedrock LLM usage, assume role", + "href": "https://github.com/orgs/langfuse/discussions/3988", + "created_at": "2024-10-31T17:45:48Z", + "upvotes": 1, + "comment_count": 1, "resolved": false, "labels": [ - "self-hosting" + "feat-evals", + "feat-playground" ], "author": { - "login": "zoltan-fedor", - "html_url": "https://github.com/zoltan-fedor" + "login": "j10sanders", + "html_url": "https://github.com/j10sanders" }, "category": "Ideas" }, { - "number": 969, - "title": "Flowise - OpenAI Assistant cost tracking", - "href": "https://github.com/orgs/langfuse/discussions/969", - "created_at": "2024-01-26T18:04:07Z", - "upvotes": 2, - "comment_count": 0, + "number": 3986, + "title": "Support for Atlassian OAuth-Provider", + "href": "https://github.com/orgs/langfuse/discussions/3986", + "created_at": "2024-10-31T16:56:45Z", + "upvotes": 1, + "comment_count": 1, "resolved": false, "labels": [ - "integration-flowise" + "feat-auth", + "self-hosting" ], "author": { - "login": "jozsef-gereby", - "html_url": "https://github.com/jozsef-gereby" + "login": "backface", + "html_url": "https://github.com/backface" }, "category": "Ideas" }, { - "number": 964, - "title": "Latency metrics - Time to first token, Tokens per second", - "href": "https://github.com/orgs/langfuse/discussions/964", - "created_at": "2024-01-26T15:37:01Z", - "upvotes": 8, + "number": 3981, + "title": "Async support for data masking in JS/TS SDK", + "href": "https://github.com/orgs/langfuse/discussions/3981", + "created_at": "2024-10-31T14:06:21Z", + "upvotes": 3, "comment_count": 3, "resolved": false, "labels": [ - "✅ Done" + "feat-data-masking" ], "author": { - "login": "nikcaryo-super", - "html_url": "https://github.com/nikcaryo-super" + "login": "pexxi", + "html_url": "https://github.com/pexxi" }, "category": "Ideas" }, { - "number": 958, - "title": "LLM calls captured via Langchain integration should match what’s sent to the LLM", - "href": "https://github.com/orgs/langfuse/discussions/958", - "created_at": "2024-01-25T16:45:38Z", + "number": 3970, + "title": "Add ability to export and import evaluators between projects", + "href": "https://github.com/orgs/langfuse/discussions/3970", + "created_at": "2024-10-30T16:13:20Z", + "upvotes": 2, + "comment_count": 1, + "resolved": false, + "labels": [ + "feat-evals" + ], + "author": { + "login": "j10sanders", + "html_url": "https://github.com/j10sanders" + }, + "category": "Ideas" + }, + { + "number": 3954, + "title": "Decorator: disable tracing at the decorated function level", + "href": "https://github.com/orgs/langfuse/discussions/3954", + "created_at": "2024-10-29T11:45:13Z", "upvotes": 3, "comment_count": 2, "resolved": false, - "labels": [], + "labels": [ + "sdk-python", + "integration-python-decorator" + ], "author": { - "login": "benm5678", - "html_url": "https://github.com/benm5678" + "login": "klemenstraeger", + "html_url": "https://github.com/klemenstraeger" }, "category": "Ideas" }, { - "number": 953, - "title": "Improve integration with flowise", - "href": "https://github.com/orgs/langfuse/discussions/953", - "created_at": "2024-01-24T19:57:06Z", + "number": 3941, + "title": "Add keyword highlighting and color coding", + "href": "https://github.com/orgs/langfuse/discussions/3941", + "created_at": "2024-10-28T12:17:38Z", "upvotes": 1, "comment_count": 2, "resolved": false, "labels": [ - "sdk-js", - "integration-flowise" + "feat-prompt-management" ], "author": { - "login": "tsiougkosn", - "html_url": "https://github.com/tsiougkosn" + "login": "ignazflam", + "html_url": "https://github.com/ignazflam" }, "category": "Ideas" }, { - "number": 941, - "title": "Dark mode", - "href": "https://github.com/orgs/langfuse/discussions/941", - "created_at": "2024-01-24T05:52:30Z", - "upvotes": 9, - "comment_count": 5, + "number": 3935, + "title": "feat: Folder structure for dataset organisation", + "href": "https://github.com/orgs/langfuse/discussions/3935", + "created_at": "2024-10-28T08:23:14Z", + "upvotes": 2, + "comment_count": 1, "resolved": false, "labels": [ - "✅ Done" + "feat-datasets" ], "author": { - "login": "archywillhe", - "html_url": "https://github.com/archywillhe" + "login": "marliessophie", + "html_url": "https://github.com/marliessophie" }, "category": "Ideas" }, { - "number": 939, - "title": "Full-text search on trace/observation/generation input/output", - "href": "https://github.com/orgs/langfuse/discussions/939", - "created_at": "2024-01-23T23:47:11Z", - "upvotes": 28, - "comment_count": 10, + "number": 3918, + "title": "Model-based evaluations triggered by observations", + "href": "https://github.com/orgs/langfuse/discussions/3918", + "created_at": "2024-10-25T14:25:49Z", + "upvotes": 2, + "comment_count": 0, "resolved": false, "labels": [ - "ui" + "feat-evals" ], "author": { "login": "marcklingen", @@ -6931,5926 +6749,6123 @@ "category": "Ideas" }, { - "number": 917, - "title": "Download dashboard details", - "href": "https://github.com/orgs/langfuse/discussions/917", - "created_at": "2024-01-21T16:35:24Z", - "upvotes": 8, - "comment_count": 3, + "number": 3904, + "title": "Support for Custom SSO Without AUTH_CUSTOM_CLIENT_SECRET and Incorrect Profile Mapping", + "href": "https://github.com/orgs/langfuse/discussions/3904", + "created_at": "2024-10-24T17:07:38Z", + "upvotes": 0, + "comment_count": 0, "resolved": false, "labels": [], "author": { - "login": "kerenaba", - "html_url": "https://github.com/kerenaba" + "login": "lucebert", + "html_url": "https://github.com/lucebert" }, "category": "Ideas" }, { - "number": 902, - "title": "Support secret in docker compose", - "href": "https://github.com/orgs/langfuse/discussions/902", - "created_at": "2024-01-17T14:03:26Z", + "number": 3893, + "title": "Allow prompt editing without creating new version (draft mode)", + "href": "https://github.com/orgs/langfuse/discussions/3893", + "created_at": "2024-10-24T08:47:13Z", "upvotes": 2, "comment_count": 1, "resolved": false, - "labels": [], + "labels": [ + "feat-prompt-management" + ], "author": { - "login": "shuther", - "html_url": "https://github.com/shuther" + "login": "dveyarangi", + "html_url": "https://github.com/dveyarangi" }, "category": "Ideas" }, { - "number": 896, - "title": "generation usage should accept a list of dict for async generation", - "href": "https://github.com/orgs/langfuse/discussions/896", - "created_at": "2024-01-17T05:59:24Z", + "number": 3891, + "title": "feat: user consumption broken down by model", + "href": "https://github.com/orgs/langfuse/discussions/3891", + "created_at": "2024-10-24T05:41:12Z", "upvotes": 1, - "comment_count": 1, + "comment_count": 0, "resolved": false, "labels": [], "author": { - "login": "dove-young", - "html_url": "https://github.com/dove-young" + "login": "belphegor-s", + "html_url": "https://github.com/belphegor-s" }, "category": "Ideas" }, { - "number": 874, - "title": "Improve exception handling and type safety in python SDK", - "href": "https://github.com/orgs/langfuse/discussions/874", - "created_at": "2024-01-12T17:01:58Z", - "upvotes": 5, - "comment_count": 3, + "number": 3885, + "title": "Trace -> Playground: Populate variable fields to make input iteration easier.", + "href": "https://github.com/orgs/langfuse/discussions/3885", + "created_at": "2024-10-23T16:26:36Z", + "upvotes": 2, + "comment_count": 0, "resolved": false, - "labels": [], + "labels": [ + "feat-prompt-management", + "feat-playground" + ], "author": { - "login": "hubert-springbok", - "html_url": "https://github.com/hubert-springbok" + "login": "jannikmaierhoefer", + "html_url": "https://github.com/jannikmaierhoefer" }, "category": "Ideas" }, { - "number": 854, - "title": "Feature: API should give User-Tokens", - "href": "https://github.com/orgs/langfuse/discussions/854", - "created_at": "2024-01-09T14:26:47Z", - "upvotes": 6, - "comment_count": 0, + "number": 3875, + "title": "add gpt-4o-2024-08-06 model to langfuse models list", + "href": "https://github.com/orgs/langfuse/discussions/3875", + "created_at": "2024-10-23T10:54:01Z", + "upvotes": 1, + "comment_count": 1, "resolved": false, - "labels": [], + "labels": [ + "✅ Done" + ], "author": { - "login": "droggta", - "html_url": "https://github.com/droggta" + "login": "alex-stoica", + "html_url": "https://github.com/alex-stoica" }, "category": "Ideas" }, { - "number": 852, - "title": "Add prompt.to_langchain() to get a Langchain Prompt Template", - "href": "https://github.com/orgs/langfuse/discussions/852", - "created_at": "2024-01-09T13:20:55Z", - "upvotes": 7, - "comment_count": 2, + "number": 3874, + "title": "Ensure prompt validation when attaching prompts to generations", + "href": "https://github.com/orgs/langfuse/discussions/3874", + "created_at": "2024-10-23T10:48:38Z", + "upvotes": 1, + "comment_count": 0, "resolved": false, "labels": [ - "integrations", - "feat-prompt-management", - "✅ Done" + "feat-prompt-management" ], "author": { - "login": "marcklingen", - "html_url": "https://github.com/marcklingen" + "login": "alex-stoica", + "html_url": "https://github.com/alex-stoica" }, "category": "Ideas" }, { - "number": 853, - "title": "feat(ui): Dashboard filter and highlight", - "href": "https://github.com/orgs/langfuse/discussions/853", - "created_at": "2024-01-09T05:37:34Z", - "upvotes": 2, - "comment_count": 1, + "number": 3866, + "title": "Support for OpenAI's cached input tokens", + "href": "https://github.com/orgs/langfuse/discussions/3866", + "created_at": "2024-10-22T19:38:33Z", + "upvotes": 4, + "comment_count": 2, "resolved": false, "labels": [ - "ui", - "Dashboard" + "feat-cost-tracking" ], "author": { - "login": "lkNGAT", - "html_url": "https://github.com/lkNGAT" + "login": "anatolec", + "html_url": "https://github.com/anatolec" }, "category": "Ideas" }, { - "number": 844, - "title": "Integration: Node.js/Typescript OpenAI SDK", - "href": "https://github.com/orgs/langfuse/discussions/844", - "created_at": "2024-01-08T22:39:27Z", - "upvotes": 8, - "comment_count": 2, + "number": 3862, + "title": "python generator request - return values", + "href": "https://github.com/orgs/langfuse/discussions/3862", + "created_at": "2024-10-22T11:43:22Z", + "upvotes": 1, + "comment_count": 1, "resolved": false, "labels": [ - "sdk-js", - "integrations", - "✅ Done" + "integration-python-decorator" ], "author": { - "login": "marcklingen", - "html_url": "https://github.com/marcklingen" + "login": "benji-finster", + "html_url": "https://github.com/benji-finster" }, "category": "Ideas" }, { - "number": 828, - "title": "LlamaIndex integration (Python)", - "href": "https://github.com/orgs/langfuse/discussions/828", - "created_at": "2024-01-06T18:21:02Z", - "upvotes": 20, - "comment_count": 7, + "number": 3842, + "title": "Scores: Conditional Annotation", + "href": "https://github.com/orgs/langfuse/discussions/3842", + "created_at": "2024-10-21T08:37:48Z", + "upvotes": 1, + "comment_count": 0, "resolved": false, "labels": [ - "sdk-python", - "integrations", - "✅ Done", - "integraton-llamaindex" + "feat-scores", + "feat-annotation" ], "author": { - "login": "marcklingen", - "html_url": "https://github.com/marcklingen" + "login": "marliessophie", + "html_url": "https://github.com/marliessophie" }, "category": "Ideas" }, { - "number": 1007, - "title": "Admin API: projects, api keys, user management", - "href": "https://github.com/orgs/langfuse/discussions/1007", - "created_at": "2023-12-21T13:22:28Z", - "upvotes": 24, - "comment_count": 13, + "number": 3841, + "title": "Annotation Queues: define optional/mandatory score configs by queue", + "href": "https://github.com/orgs/langfuse/discussions/3841", + "created_at": "2024-10-21T08:32:46Z", + "upvotes": 1, + "comment_count": 0, "resolved": false, "labels": [ - "feat-api", - "self-hosting" + "feat-annotation" ], "author": { - "login": "maxxte", - "html_url": "https://github.com/maxxte" + "login": "marliessophie", + "html_url": "https://github.com/marliessophie" }, "category": "Ideas" }, { - "number": 1006, - "title": "Versioning of docs", - "href": "https://github.com/orgs/langfuse/discussions/1006", - "created_at": "2023-12-18T01:27:09Z", + "number": 3840, + "title": "Scores: support for recording multiple choice selection as score value", + "href": "https://github.com/orgs/langfuse/discussions/3840", + "created_at": "2024-10-21T08:20:01Z", "upvotes": 1, - "comment_count": 1, + "comment_count": 0, "resolved": false, "labels": [ - "docs" + "feat-scores" ], "author": { - "login": "flxwu", - "html_url": "https://github.com/flxwu" + "login": "marliessophie", + "html_url": "https://github.com/marliessophie" }, "category": "Ideas" }, { - "number": 1008, - "title": "Datasets: Diff of output and expected output", - "href": "https://github.com/orgs/langfuse/discussions/1008", - "created_at": "2023-11-29T00:35:13Z", - "upvotes": 6, - "comment_count": 3, + "number": 3839, + "title": "Prompts: ability to share prompt or playground session", + "href": "https://github.com/orgs/langfuse/discussions/3839", + "created_at": "2024-10-21T08:00:15Z", + "upvotes": 2, + "comment_count": 0, "resolved": false, "labels": [ - "ui", - "feat-datasets" + "feat-prompt-management" ], "author": { - "login": "marcklingen", - "html_url": "https://github.com/marcklingen" + "login": "marliessophie", + "html_url": "https://github.com/marliessophie" }, "category": "Ideas" }, { - "number": 1066, - "title": "feat: Publish arm64 compatible docker images", - "href": "https://github.com/orgs/langfuse/discussions/1066", - "created_at": "2023-11-08T16:06:08Z", + "number": 3836, + "title": "Distinguishing various steps", + "href": "https://github.com/orgs/langfuse/discussions/3836", + "created_at": "2024-10-20T16:54:32Z", "upvotes": 1, - "comment_count": 10, + "comment_count": 0, + "resolved": false, + "labels": [], + "author": { + "login": "ajram23", + "html_url": "https://github.com/ajram23" + }, + "category": "Ideas" + }, + { + "number": 3818, + "title": "Filter by status in dataset items table", + "href": "https://github.com/orgs/langfuse/discussions/3818", + "created_at": "2024-10-18T03:17:50Z", + "upvotes": 2, + "comment_count": 2, "resolved": false, "labels": [ - "✅ Done", - "self-hosting" + "feat-datasets" ], "author": { - "login": "code-haven", - "html_url": "https://github.com/code-haven" + "login": "FrankyCTY", + "html_url": "https://github.com/FrankyCTY" }, "category": "Ideas" }, { - "number": 1065, - "title": "OpenAI SDK wrapper for JS", - "href": "https://github.com/orgs/langfuse/discussions/1065", - "created_at": "2023-09-15T10:55:35Z", + "number": 3817, + "title": "Add generic types for prompt variables in the sdk clients, e.g. `langfuse.getPrompt<{input: string}>(\"prompt name\")`", + "href": "https://github.com/orgs/langfuse/discussions/3817", + "created_at": "2024-10-17T23:40:45Z", "upvotes": 1, - "comment_count": 3, + "comment_count": 0, "resolved": false, "labels": [ - "sdk-js", - "integrations", - "integration-openai", - "✅ Done" + "feat-prompt-management" ], "author": { "login": "marcklingen", "html_url": "https://github.com/marcklingen" }, "category": "Ideas" - } - ] - }, - { - "category": "Support", - "discussions": [ + }, { - "number": 4452, - "title": "Take chat history in consideration when running a prompt experiment", - "href": "https://github.com/orgs/langfuse/discussions/4452", - "created_at": "2024-11-27T00:32:20Z", + "number": 3801, + "title": "Add image type with image_url for vision apo", + "href": "https://github.com/orgs/langfuse/discussions/3801", + "created_at": "2024-10-17T15:27:23Z", "upvotes": 1, - "comment_count": 4, - "resolved": true, + "comment_count": 1, + "resolved": false, "labels": [ - "feat-prompt-experiments" + "feat-prompt-management", + "feat-playground" ], "author": { - "login": "benjtlv", - "html_url": "https://github.com/benjtlv" + "login": "profikid", + "html_url": "https://github.com/profikid" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4444, - "title": "Running Langfuse behind Nginx with custom base path", - "href": "https://github.com/orgs/langfuse/discussions/4444", - "created_at": "2024-11-26T19:57:21Z", - "upvotes": 1, - "comment_count": 2, + "number": 3798, + "title": "Versioning/edit of Evaluator Configuration", + "href": "https://github.com/orgs/langfuse/discussions/3798", + "created_at": "2024-10-17T11:59:39Z", + "upvotes": 3, + "comment_count": 1, "resolved": false, "labels": [ - "self-hosting" + "feat-evals" ], "author": { - "login": "hookenful", - "html_url": "https://github.com/hookenful" + "login": "filipmihal", + "html_url": "https://github.com/filipmihal" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4438, - "title": "Observability with concurrent threads", - "href": "https://github.com/orgs/langfuse/discussions/4438", - "created_at": "2024-11-26T17:08:01Z", - "upvotes": 0, - "comment_count": 2, - "resolved": true, - "labels": [ - "integration-python-decorator" - ], + "number": 3782, + "title": "Measure time to last generated token", + "href": "https://github.com/orgs/langfuse/discussions/3782", + "created_at": "2024-10-16T17:45:12Z", + "upvotes": 2, + "comment_count": 0, + "resolved": false, + "labels": [], "author": { - "login": "DavideSanvito", - "html_url": "https://github.com/DavideSanvito" + "login": "dsherry", + "html_url": "https://github.com/dsherry" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4429, - "title": "Is there a way to rotate traces and generations?", - "href": "https://github.com/orgs/langfuse/discussions/4429", - "created_at": "2024-11-26T03:17:35Z", + "number": 3772, + "title": "Support annotation role permission to only access Annotation Queue feature", + "href": "https://github.com/orgs/langfuse/discussions/3772", + "created_at": "2024-10-16T03:49:43Z", "upvotes": 1, "comment_count": 1, - "resolved": true, - "labels": [], - "author": { - "login": "woung717", - "html_url": "https://github.com/woung717" - }, - "category": "Support" - }, - { - "number": 4418, - "title": "Cannot use prompt experiments \"No dataset item contains any variables\"", - "href": "https://github.com/orgs/langfuse/discussions/4418", - "created_at": "2024-11-25T20:32:59Z", - "upvotes": 2, - "comment_count": 5, - "resolved": true, + "resolved": false, "labels": [ - "feat-prompt-experiments" + "feat-annotation" ], "author": { - "login": "j10sanders", - "html_url": "https://github.com/j10sanders" + "login": "ytqh", + "html_url": "https://github.com/ytqh" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4417, - "title": "does token & cost counting take into consideration prompt caching, eg openai prompt caching?", - "href": "https://github.com/orgs/langfuse/discussions/4417", - "created_at": "2024-11-25T19:59:13Z", - "upvotes": 2, - "comment_count": 2, + "number": 3765, + "title": "OpenAI integration support for realtime api", + "href": "https://github.com/orgs/langfuse/discussions/3765", + "created_at": "2024-10-15T21:35:13Z", + "upvotes": 5, + "comment_count": 3, "resolved": false, "labels": [ - "feat-cost-tracking" + "integration-openai" ], "author": { - "login": "dwstevens", - "html_url": "https://github.com/dwstevens" + "login": "marcklingen", + "html_url": "https://github.com/marcklingen" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4413, - "title": "Help needed with CustomSSOProvider Configuration for GitHub Enterprise", - "href": "https://github.com/orgs/langfuse/discussions/4413", - "created_at": "2024-11-25T15:30:23Z", + "number": 3761, + "title": "DsPY type optimization functionality", + "href": "https://github.com/orgs/langfuse/discussions/3761", + "created_at": "2024-10-15T20:02:39Z", "upvotes": 1, - "comment_count": 3, + "comment_count": 1, "resolved": false, "labels": [ - "feat-auth", - "self-hosting" + "integration-dspy" ], "author": { - "login": "jay0129", - "html_url": "https://github.com/jay0129" + "login": "nikshepsvn", + "html_url": "https://github.com/nikshepsvn" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4393, - "title": "Openai JS: Tracing for multiple iterations and tool calling", - "href": "https://github.com/orgs/langfuse/discussions/4393", - "created_at": "2024-11-23T06:57:40Z", - "upvotes": 1, + "number": 3755, + "title": "Intergrate with Ragflow", + "href": "https://github.com/orgs/langfuse/discussions/3755", + "created_at": "2024-10-15T06:54:12Z", + "upvotes": 3, "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [ - "integration-openai" + "integrations" ], "author": { - "login": "uhhfeef", - "html_url": "https://github.com/uhhfeef" + "login": "chuwe000", + "html_url": "https://github.com/chuwe000" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4389, - "title": "Does Langfuse tracing work in Vercel edge functions?", - "href": "https://github.com/orgs/langfuse/discussions/4389", - "created_at": "2024-11-22T22:41:52Z", + "number": 3802, + "title": "Get Observation IDs of sub chains when using @observe decorator combined with Langchain", + "href": "https://github.com/orgs/langfuse/discussions/3802", + "created_at": "2024-10-14T14:22:38Z", "upvotes": 1, - "comment_count": 0, + "comment_count": 4, "resolved": false, - "labels": [], + "labels": [ + "sdk-python", + "integration-langchain", + "integration-python-decorator" + ], "author": { - "login": "holdenmatt", - "html_url": "https://github.com/holdenmatt" + "login": "guusfrenken-wk", + "html_url": "https://github.com/guusfrenken-wk" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4388, - "title": "How to completely discard image with new multi-modal system?", - "href": "https://github.com/orgs/langfuse/discussions/4388", - "created_at": "2024-11-22T18:56:07Z", + "number": 3725, + "title": "observe context manager", + "href": "https://github.com/orgs/langfuse/discussions/3725", + "created_at": "2024-10-12T07:33:09Z", "upvotes": 1, - "comment_count": 2, + "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "bioshazard", - "html_url": "https://github.com/bioshazard" + "login": "eliorc", + "html_url": "https://github.com/eliorc" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4374, - "title": "Error while migrating schema", - "href": "https://github.com/orgs/langfuse/discussions/4374", - "created_at": "2024-11-21T22:39:36Z", - "upvotes": 1, + "number": 3723, + "title": "Terminal version of Langfuse (Langfuse CLI)", + "href": "https://github.com/orgs/langfuse/discussions/3723", + "created_at": "2024-10-11T21:06:48Z", + "upvotes": 3, "comment_count": 2, - "resolved": true, + "resolved": false, "labels": [], "author": { - "login": "geek1s42", - "html_url": "https://github.com/geek1s42" + "login": "Shahin-rmz", + "html_url": "https://github.com/Shahin-rmz" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4373, - "title": "Silent failure when attempting adding scores to trace", - "href": "https://github.com/orgs/langfuse/discussions/4373", - "created_at": "2024-11-21T22:18:26Z", - "upvotes": 1, - "comment_count": 2, - "resolved": true, - "labels": [], + "number": 3681, + "title": "Evalution of a prompt by a LLM", + "href": "https://github.com/orgs/langfuse/discussions/3681", + "created_at": "2024-10-09T19:17:30Z", + "upvotes": 3, + "comment_count": 0, + "resolved": false, + "labels": [ + "feat-prompt-management" + ], "author": { - "login": "bioshazard", - "html_url": "https://github.com/bioshazard" + "login": "jannikmaierhoefer", + "html_url": "https://github.com/jannikmaierhoefer" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4365, - "title": "Not able to see traces", - "href": "https://github.com/orgs/langfuse/discussions/4365", - "created_at": "2024-11-21T16:56:26Z", - "upvotes": 1, - "comment_count": 2, - "resolved": true, - "labels": [], + "number": 3663, + "title": "Dashboard: Add time to first token chart (ttft)", + "href": "https://github.com/orgs/langfuse/discussions/3663", + "created_at": "2024-10-08T23:56:42Z", + "upvotes": 6, + "comment_count": 0, + "resolved": false, + "labels": [ + "feat-dashboard" + ], "author": { - "login": "uhhfeef", - "html_url": "https://github.com/uhhfeef" + "login": "marcklingen", + "html_url": "https://github.com/marcklingen" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4363, - "title": "Langchain with ChatVertexAI: Image/Audio Input Not Displayed in Dashboard with Multi-Modal Traces", - "href": "https://github.com/orgs/langfuse/discussions/4363", - "created_at": "2024-11-21T16:41:35Z", - "upvotes": 1, - "comment_count": 2, - "resolved": true, + "number": 3646, + "title": "Table sorting and filtering in database runs", + "href": "https://github.com/orgs/langfuse/discussions/3646", + "created_at": "2024-10-08T11:13:52Z", + "upvotes": 2, + "comment_count": 0, + "resolved": false, "labels": [], "author": { - "login": "pleomax0730", - "html_url": "https://github.com/pleomax0730" + "login": "FlorDonnaSanders", + "html_url": "https://github.com/FlorDonnaSanders" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4361, - "title": "Is downgrade available for self-hosted version?", - "href": "https://github.com/orgs/langfuse/discussions/4361", - "created_at": "2024-11-21T15:52:18Z", + "number": 3618, + "title": "User Aliases", + "href": "https://github.com/orgs/langfuse/discussions/3618", + "created_at": "2024-10-07T07:51:49Z", "upvotes": 1, "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [], "author": { - "login": "skabbit", - "html_url": "https://github.com/skabbit" + "login": "FlorDonnaSanders", + "html_url": "https://github.com/FlorDonnaSanders" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4359, - "title": "Unexpected error occurred", - "href": "https://github.com/orgs/langfuse/discussions/4359", - "created_at": "2024-11-21T14:21:11Z", - "upvotes": 1, - "comment_count": 1, - "resolved": true, + "number": 3576, + "title": "feat: edit custom model definitions", + "href": "https://github.com/orgs/langfuse/discussions/3576", + "created_at": "2024-10-04T12:40:54Z", + "upvotes": 3, + "comment_count": 0, + "resolved": false, + "labels": [], + "author": { + "login": "nialldevlin1", + "html_url": "https://github.com/nialldevlin1" + }, + "category": "Ideas" + }, + { + "number": 3558, + "title": "Dashboard: split prompt/completion/total tokens", + "href": "https://github.com/orgs/langfuse/discussions/3558", + "created_at": "2024-10-02T02:17:47Z", + "upvotes": 6, + "comment_count": 0, + "resolved": false, "labels": [ - "self-hosting" + "feat-dashboard" ], "author": { - "login": "jguokion", - "html_url": "https://github.com/jguokion" + "login": "marcklingen", + "html_url": "https://github.com/marcklingen" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4358, - "title": "Tracing of Async Tasks in Agentic Workflow", - "href": "https://github.com/orgs/langfuse/discussions/4358", - "created_at": "2024-11-21T10:46:31Z", - "upvotes": 1, - "comment_count": 2, + "number": 3551, + "title": "Metrics API to support the OpenMetrics format", + "href": "https://github.com/orgs/langfuse/discussions/3551", + "created_at": "2024-10-01T15:03:02Z", + "upvotes": 3, + "comment_count": 0, "resolved": false, "labels": [], "author": { - "login": "ashish-vwo", - "html_url": "https://github.com/ashish-vwo" + "login": "shukawam", + "html_url": "https://github.com/shukawam" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4352, - "title": "Send metrics to ELK", - "href": "https://github.com/orgs/langfuse/discussions/4352", - "created_at": "2024-11-21T05:57:10Z", - "upvotes": 1, + "number": 3550, + "title": "Asynchronous Langfuse Client.", + "href": "https://github.com/orgs/langfuse/discussions/3550", + "created_at": "2024-10-01T14:03:48Z", + "upvotes": 8, "comment_count": 1, "resolved": false, - "labels": [], + "labels": [ + "sdk-python" + ], "author": { - "login": "Kratemis", - "html_url": "https://github.com/Kratemis" + "login": "fimselamse", + "html_url": "https://github.com/fimselamse" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4331, - "title": "UserIds missing on some traces", - "href": "https://github.com/orgs/langfuse/discussions/4331", - "created_at": "2024-11-20T08:27:01Z", + "number": 3546, + "title": "Add SCIM support for user/role/identity management", + "href": "https://github.com/orgs/langfuse/discussions/3546", + "created_at": "2024-10-01T02:18:33Z", "upvotes": 1, - "comment_count": 3, + "comment_count": 1, "resolved": false, - "labels": [], + "labels": [ + "feat-api", + "security" + ], "author": { - "login": "takefy-dev", - "html_url": "https://github.com/takefy-dev" + "login": "marcklingen", + "html_url": "https://github.com/marcklingen" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4330, - "title": "Request for Simplified Custom `trace_id` Implementation in `CallbackHandler` for LangServe", - "href": "https://github.com/orgs/langfuse/discussions/4330", - "created_at": "2024-11-20T07:55:51Z", + "number": 3538, + "title": "Vector search for datasets for few-shot prompting", + "href": "https://github.com/orgs/langfuse/discussions/3538", + "created_at": "2024-09-30T17:31:18Z", "upvotes": 1, "comment_count": 1, "resolved": false, "labels": [ - "integration-langchain" + "feat-datasets" ], "author": { - "login": "wertycn", - "html_url": "https://github.com/wertycn" + "login": "antoniomdk", + "html_url": "https://github.com/antoniomdk" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4309, - "title": "Langchain//Langgraph prompt link", - "href": "https://github.com/orgs/langfuse/discussions/4309", - "created_at": "2024-11-19T11:18:16Z", - "upvotes": 1, - "comment_count": 3, - "resolved": true, + "number": 3529, + "title": "Sampling for JS/TS SDKs and integrations", + "href": "https://github.com/orgs/langfuse/discussions/3529", + "created_at": "2024-09-30T05:44:07Z", + "upvotes": 8, + "comment_count": 0, + "resolved": false, "labels": [ - "feat-prompt-management", - "integration-langchain" + "feat-sampling" ], "author": { - "login": "BuragaIonut", - "html_url": "https://github.com/BuragaIonut" + "login": "marcklingen", + "html_url": "https://github.com/marcklingen" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4293, - "title": "slower than expected langfuse_context.update_current_observation operation?", - "href": "https://github.com/orgs/langfuse/discussions/4293", - "created_at": "2024-11-18T17:00:12Z", + "number": 3528, + "title": "Add saved filters config", + "href": "https://github.com/orgs/langfuse/discussions/3528", + "created_at": "2024-09-30T05:36:44Z", "upvotes": 1, - "comment_count": 2, - "resolved": true, - "labels": [], + "comment_count": 1, + "resolved": false, + "labels": [ + "ui" + ], "author": { - "login": "nikcaryo-super", - "html_url": "https://github.com/nikcaryo-super" + "login": "emaugars12", + "html_url": "https://github.com/emaugars12" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4286, - "title": "Langfuse returning a internal server error message sometimes", - "href": "https://github.com/orgs/langfuse/discussions/4286", - "created_at": "2024-11-18T13:37:41Z", - "upvotes": 1, - "comment_count": 2, + "number": 3527, + "title": "Show prompt-level aggregate metrics on the prompts table", + "href": "https://github.com/orgs/langfuse/discussions/3527", + "created_at": "2024-09-30T00:33:43Z", + "upvotes": 4, + "comment_count": 0, "resolved": false, - "labels": [], + "labels": [ + "feat-prompt-management" + ], "author": { - "login": "nithin1995", - "html_url": "https://github.com/nithin1995" + "login": "marcklingen", + "html_url": "https://github.com/marcklingen" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4284, - "title": "Update prompt label programatically", - "href": "https://github.com/orgs/langfuse/discussions/4284", - "created_at": "2024-11-18T13:18:06Z", + "number": 3524, + "title": "Field-level selection for input/output filtering in decorator instead of using update_current_observation/trace", + "href": "https://github.com/orgs/langfuse/discussions/3524", + "created_at": "2024-09-29T08:28:45Z", "upvotes": 1, - "comment_count": 1, - "resolved": true, + "comment_count": 4, + "resolved": false, "labels": [ - "feat-prompt-management" + "integration-python-decorator" ], "author": { - "login": "nikitagupta5566", - "html_url": "https://github.com/nikitagupta5566" + "login": "amir-mic-lin", + "html_url": "https://github.com/amir-mic-lin" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4281, - "title": "Preventing Input and Output Capture for GENERATION span in Langfuse", - "href": "https://github.com/orgs/langfuse/discussions/4281", - "created_at": "2024-11-18T11:23:08Z", + "number": 3508, + "title": "feat: organization level dashboard", + "href": "https://github.com/orgs/langfuse/discussions/3508", + "created_at": "2024-09-27T13:48:13Z", "upvotes": 1, - "comment_count": 2, - "resolved": true, + "comment_count": 1, + "resolved": false, "labels": [], "author": { - "login": "ootkin", - "html_url": "https://github.com/ootkin" + "login": "nialldevlin1", + "html_url": "https://github.com/nialldevlin1" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4262, - "title": "why setup trace is showing SETUP Tracing Pending always and Trace doesn't show in dashboard", - "href": "https://github.com/orgs/langfuse/discussions/4262", - "created_at": "2024-11-15T23:49:20Z", + "number": 3478, + "title": "TextGrad integration", + "href": "https://github.com/orgs/langfuse/discussions/3478", + "created_at": "2024-09-25T16:13:45Z", "upvotes": 1, "comment_count": 1, - "resolved": true, - "labels": [], + "resolved": false, + "labels": [ + "integrations" + ], "author": { - "login": "msgateway", - "html_url": "https://github.com/msgateway" + "login": "sakthi-geek", + "html_url": "https://github.com/sakthi-geek" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4261, - "title": "Disable tracing for certain calls", - "href": "https://github.com/orgs/langfuse/discussions/4261", - "created_at": "2024-11-15T22:54:27Z", - "upvotes": 1, - "comment_count": 1, - "resolved": true, - "labels": [], + "number": 3476, + "title": "Chart: usage/metrics grouped by tags", + "href": "https://github.com/orgs/langfuse/discussions/3476", + "created_at": "2024-09-25T13:54:14Z", + "upvotes": 2, + "comment_count": 0, + "resolved": false, + "labels": [ + "feat-dashboard", + "feat-tags" + ], "author": { - "login": "yliuaaron", - "html_url": "https://github.com/yliuaaron" + "login": "marcklingen", + "html_url": "https://github.com/marcklingen" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4259, - "title": "Custom trace properties in AsyncOpenAI", - "href": "https://github.com/orgs/langfuse/discussions/4259", - "created_at": "2024-11-15T19:50:10Z", - "upvotes": 1, - "comment_count": 2, + "number": 3472, + "title": "Dashboard: add chart for unique users (MAU/WAU/DAU)", + "href": "https://github.com/orgs/langfuse/discussions/3472", + "created_at": "2024-09-25T11:37:30Z", + "upvotes": 2, + "comment_count": 0, "resolved": false, - "labels": [], + "labels": [ + "feat-dashboard", + "feat-users" + ], "author": { - "login": "yliuaaron", - "html_url": "https://github.com/yliuaaron" + "login": "marcklingen", + "html_url": "https://github.com/marcklingen" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4231, - "title": "Langfuse overwriting ingested usage for gpt-4o-mini models & incorrect inferred usage for low-detail image data", - "href": "https://github.com/orgs/langfuse/discussions/4231", - "created_at": "2024-11-14T12:29:51Z", - "upvotes": 1, - "comment_count": 2, + "number": 3447, + "title": "Playground: Move messages / add messages in-between others", + "href": "https://github.com/orgs/langfuse/discussions/3447", + "created_at": "2024-09-23T09:16:23Z", + "upvotes": 2, + "comment_count": 0, "resolved": false, "labels": [ - "integration-openai", - "feat-cost-tracking" + "feat-playground" ], "author": { - "login": "LastRemote", - "html_url": "https://github.com/LastRemote" + "login": "jannikmaierhoefer", + "html_url": "https://github.com/jannikmaierhoefer" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4228, - "title": "Why my langgrpahjs agent can't show token", - "href": "https://github.com/orgs/langfuse/discussions/4228", - "created_at": "2024-11-14T08:46:36Z", + "number": 3443, + "title": "Why not extend observeOpenAI to support message-level user id?", + "href": "https://github.com/orgs/langfuse/discussions/3443", + "created_at": "2024-09-21T23:57:57Z", "upvotes": 1, - "comment_count": 2, - "resolved": true, - "labels": [ - "integration-langchain" - ], + "comment_count": 1, + "resolved": false, + "labels": [], "author": { - "login": "VittorioYan", - "html_url": "https://github.com/VittorioYan" + "login": "derrickstaten", + "html_url": "https://github.com/derrickstaten" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4223, - "title": "How/which environment var do I need to set to get OAuth2.0 authentication flow?", - "href": "https://github.com/orgs/langfuse/discussions/4223", - "created_at": "2024-11-13T19:57:27Z", - "upvotes": 1, - "comment_count": 3, + "number": 3439, + "title": "Filtering dataset items", + "href": "https://github.com/orgs/langfuse/discussions/3439", + "created_at": "2024-09-21T01:51:33Z", + "upvotes": 3, + "comment_count": 0, "resolved": false, "labels": [ - "self-hosting" + "feat-datasets" ], "author": { - "login": "itay-moav", - "html_url": "https://github.com/itay-moav" + "login": "emaugars12", + "html_url": "https://github.com/emaugars12" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4213, - "title": "Is there a way to keep database connections open longer?", - "href": "https://github.com/orgs/langfuse/discussions/4213", - "created_at": "2024-11-13T13:53:25Z", - "upvotes": 1, - "comment_count": 2, + "number": 3438, + "title": "Support export for Dataset Items", + "href": "https://github.com/orgs/langfuse/discussions/3438", + "created_at": "2024-09-20T22:57:21Z", + "upvotes": 4, + "comment_count": 0, "resolved": false, "labels": [ - "self-hosting" + "feat-datasets" ], "author": { - "login": "tomi-bigpi", - "html_url": "https://github.com/tomi-bigpi" + "login": "uladkaminski", + "html_url": "https://github.com/uladkaminski" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4205, - "title": "Tokenizer config for Qwen 2.5 models", - "href": "https://github.com/orgs/langfuse/discussions/4205", - "created_at": "2024-11-13T08:05:03Z", - "upvotes": 1, - "comment_count": 2, + "number": 3436, + "title": "Prompt label promotion via api/sdk", + "href": "https://github.com/orgs/langfuse/discussions/3436", + "created_at": "2024-09-20T21:32:07Z", + "upvotes": 2, + "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "mediumsizeworkingdog", - "html_url": "https://github.com/mediumsizeworkingdog" + "login": "mrdrprofuroboros", + "html_url": "https://github.com/mrdrprofuroboros" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4197, - "title": "[Generations]: Support n parameter", - "href": "https://github.com/orgs/langfuse/discussions/4197", - "created_at": "2024-11-12T18:58:32Z", + "number": 3431, + "title": "3rd option for \"sharing\" traces publicly", + "href": "https://github.com/orgs/langfuse/discussions/3431", + "created_at": "2024-09-20T16:29:28Z", "upvotes": 1, - "comment_count": 1, + "comment_count": 0, "resolved": false, - "labels": [ - "integration-openai" - ], + "labels": [], "author": { - "login": "ngamolsky", - "html_url": "https://github.com/ngamolsky" + "login": "jannikmaierhoefer", + "html_url": "https://github.com/jannikmaierhoefer" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4179, - "title": "Is there a way to get process to exit on DB connection errors when rotating database passwords?", - "href": "https://github.com/orgs/langfuse/discussions/4179", - "created_at": "2024-11-11T21:55:56Z", + "number": 3415, + "title": "Only use traces in the dataset to render score columns", + "href": "https://github.com/orgs/langfuse/discussions/3415", + "created_at": "2024-09-19T17:36:44Z", "upvotes": 1, - "comment_count": 3, - "resolved": true, + "comment_count": 1, + "resolved": false, "labels": [ - "self-hosting" + "feat-datasets" ], "author": { - "login": "tomi-bigpi", - "html_url": "https://github.com/tomi-bigpi" + "login": "micahstairs", + "html_url": "https://github.com/micahstairs" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4178, - "title": "How to update a score?", - "href": "https://github.com/orgs/langfuse/discussions/4178", - "created_at": "2024-11-11T21:48:51Z", + "number": 3412, + "title": "Source code versioning and automatic statistics caluclation from scores", + "href": "https://github.com/orgs/langfuse/discussions/3412", + "created_at": "2024-09-19T10:44:02Z", "upvotes": 1, "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [ "feat-scores" ], "author": { - "login": "leichx", - "html_url": "https://github.com/leichx" + "login": "ge28yen", + "html_url": "https://github.com/ge28yen" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4172, - "title": "TypeError: LangfuseTracer.trace() got an unexpected keyword argument 'parent_span'", - "href": "https://github.com/orgs/langfuse/discussions/4172", - "created_at": "2024-11-11T13:31:14Z", - "upvotes": 1, - "comment_count": 2, - "resolved": true, + "number": 3409, + "title": "Add graph view for LangGraph traces", + "href": "https://github.com/orgs/langfuse/discussions/3409", + "created_at": "2024-09-19T07:55:02Z", + "upvotes": 5, + "comment_count": 1, + "resolved": false, "labels": [ - "integration-haystack" + "integration-langchain" ], "author": { - "login": "schwasa", - "html_url": "https://github.com/schwasa" + "login": "hassiebp", + "html_url": "https://github.com/hassiebp" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4169, - "title": "Tenant based prompt management ?", - "href": "https://github.com/orgs/langfuse/discussions/4169", - "created_at": "2024-11-11T11:22:21Z", - "upvotes": 1, - "comment_count": 2, - "resolved": true, + "number": 3402, + "title": "Mask / redact PII from traces logged to langfuse", + "href": "https://github.com/orgs/langfuse/discussions/3402", + "created_at": "2024-09-18T21:04:06Z", + "upvotes": 6, + "comment_count": 3, + "resolved": false, "labels": [ - "feat-prompt-management" + "✅ Done", + "security" ], "author": { - "login": "PreetamGKatakali", - "html_url": "https://github.com/PreetamGKatakali" + "login": "marcklingen", + "html_url": "https://github.com/marcklingen" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4134, - "title": "LangGraph traces cause self-hosted instance to hang", - "href": "https://github.com/orgs/langfuse/discussions/4134", - "created_at": "2024-11-08T22:54:34Z", + "number": 3401, + "title": "Make compile and get_langchain_prompt interoperable when using a prompt from langfuse in langchain", + "href": "https://github.com/orgs/langfuse/discussions/3401", + "created_at": "2024-09-18T21:03:20Z", "upvotes": 1, "comment_count": 2, "resolved": false, "labels": [ - "integration-langchain" + "feat-prompt-management", + "integration-langchain", + "✅ Done" ], "author": { - "login": "rishimo", - "html_url": "https://github.com/rishimo" + "login": "ajram23", + "html_url": "https://github.com/ajram23" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4123, - "title": "Block strangers from signing in to your app", - "href": "https://github.com/orgs/langfuse/discussions/4123", - "created_at": "2024-11-08T10:14:08Z", - "upvotes": 1, + "number": 3396, + "title": "Better mustache/jinja support in langfuse playground", + "href": "https://github.com/orgs/langfuse/discussions/3396", + "created_at": "2024-09-18T11:54:28Z", + "upvotes": 3, "comment_count": 2, - "resolved": true, + "resolved": false, + "labels": [ + "feat-playground" + ], + "author": { + "login": "FlorDonnaSanders", + "html_url": "https://github.com/FlorDonnaSanders" + }, + "category": "Ideas" + }, + { + "number": 3395, + "title": "Add fine-grained filtering options in python `fetch_traces` API to match web UI", + "href": "https://github.com/orgs/langfuse/discussions/3395", + "created_at": "2024-09-18T11:18:20Z", + "upvotes": 2, + "comment_count": 0, + "resolved": false, "labels": [], "author": { - "login": "shner-elmo", - "html_url": "https://github.com/shner-elmo" + "login": "evangriffiths", + "html_url": "https://github.com/evangriffiths" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4119, - "title": "Can we use Langfuse without any Authentication enabled?", - "href": "https://github.com/orgs/langfuse/discussions/4119", - "created_at": "2024-11-08T08:32:30Z", + "number": 3376, + "title": "Allow LangchainCallbackHandler to specify custom input/output?", + "href": "https://github.com/orgs/langfuse/discussions/3376", + "created_at": "2024-09-16T23:45:18Z", "upvotes": 1, "comment_count": 1, - "resolved": true, - "labels": [], + "resolved": false, + "labels": [ + "integration-langchain" + ], "author": { - "login": "SudhaGarimella", - "html_url": "https://github.com/SudhaGarimella" + "login": "xxkennyxu", + "html_url": "https://github.com/xxkennyxu" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4118, - "title": "Can I evaluate Span using the External Evaluation Pipeline?", - "href": "https://github.com/orgs/langfuse/discussions/4118", - "created_at": "2024-11-08T08:04:55Z", - "upvotes": 1, + "number": 3375, + "title": "Promptfoo integration", + "href": "https://github.com/orgs/langfuse/discussions/3375", + "created_at": "2024-09-16T23:34:34Z", + "upvotes": 2, "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [ - "feat-evals" + "integrations" ], "author": { - "login": "ygt1qa8", - "html_url": "https://github.com/ygt1qa8" + "login": "aiseei", + "html_url": "https://github.com/aiseei" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4117, - "title": "ERROR - An error occurred: 'function' object is not subscriptable", - "href": "https://github.com/orgs/langfuse/discussions/4117", - "created_at": "2024-11-08T04:51:09Z", - "upvotes": 1, + "number": 3367, + "title": "Default closed dropdown view in trace details", + "href": "https://github.com/orgs/langfuse/discussions/3367", + "created_at": "2024-09-16T12:47:26Z", + "upvotes": 2, "comment_count": 1, "resolved": false, - "labels": [], + "labels": [ + "ui" + ], "author": { - "login": "MazarSayed", - "html_url": "https://github.com/MazarSayed" + "login": "jannikmaierhoefer", + "html_url": "https://github.com/jannikmaierhoefer" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4116, - "title": "How can I implement a knowledge base and multi-turn file dialogue with pip deployment?! How does this “history” work?", - "href": "https://github.com/orgs/langfuse/discussions/4116", - "created_at": "2024-11-08T03:05:40Z", + "number": 3363, + "title": "Dashboard: TPM chart", + "href": "https://github.com/orgs/langfuse/discussions/3363", + "created_at": "2024-09-16T07:53:52Z", + "upvotes": 2, + "comment_count": 1, + "resolved": false, + "labels": [ + "feat-dashboard" + ], + "author": { + "login": "afonsomatos", + "html_url": "https://github.com/afonsomatos" + }, + "category": "Ideas" + }, + { + "number": 3361, + "title": "Group Similar or Consecutive Traces", + "href": "https://github.com/orgs/langfuse/discussions/3361", + "created_at": "2024-09-16T05:38:40Z", "upvotes": 1, - "comment_count": 2, - "resolved": true, + "comment_count": 1, + "resolved": false, "labels": [], "author": { - "login": "SKKKKYLAR", - "html_url": "https://github.com/SKKKKYLAR" + "login": "rvndbalaji", + "html_url": "https://github.com/rvndbalaji" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4115, - "title": "Configure LangFuse Project within CallbackHandler", - "href": "https://github.com/orgs/langfuse/discussions/4115", - "created_at": "2024-11-07T23:19:13Z", + "number": 3358, + "title": "More customization in graphs and dashboard panels", + "href": "https://github.com/orgs/langfuse/discussions/3358", + "created_at": "2024-09-14T03:12:38Z", "upvotes": 1, - "comment_count": 2, - "resolved": true, + "comment_count": 1, + "resolved": false, "labels": [ - "integration-langchain" + "feat-dashboard" ], "author": { - "login": "krlng", - "html_url": "https://github.com/krlng" + "login": "emaugars12", + "html_url": "https://github.com/emaugars12" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4091, - "title": "Openwebui and langfuse", - "href": "https://github.com/orgs/langfuse/discussions/4091", - "created_at": "2024-11-06T22:21:43Z", - "upvotes": 1, + "number": 3352, + "title": "LLM Based Evaluation - more control with mapping a variable e.g. {{query}}, {{ground_truth}} etc inside of Input/Output/Metadata observation", + "href": "https://github.com/orgs/langfuse/discussions/3352", + "created_at": "2024-09-13T16:58:05Z", + "upvotes": 2, "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [], "author": { - "login": "flefevre", - "html_url": "https://github.com/flefevre" + "login": "stepanogil", + "html_url": "https://github.com/stepanogil" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4090, - "title": "Configuring logging", - "href": "https://github.com/orgs/langfuse/discussions/4090", - "created_at": "2024-11-06T21:39:03Z", + "number": 3351, + "title": "Support for Firebase Genkit", + "href": "https://github.com/orgs/langfuse/discussions/3351", + "created_at": "2024-09-13T16:29:07Z", "upvotes": 1, - "comment_count": 5, - "resolved": true, - "labels": [], + "comment_count": 1, + "resolved": false, + "labels": [ + "integrations" + ], "author": { - "login": "pcoccoli", - "html_url": "https://github.com/pcoccoli" + "login": "debkanchan", + "html_url": "https://github.com/debkanchan" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4080, - "title": "Langfuse User Management with Custom Oauth", - "href": "https://github.com/orgs/langfuse/discussions/4080", - "created_at": "2024-11-06T14:21:39Z", - "upvotes": 1, + "number": 3338, + "title": "o1-preview and o1-mini support", + "href": "https://github.com/orgs/langfuse/discussions/3338", + "created_at": "2024-09-13T07:16:22Z", + "upvotes": 2, "comment_count": 3, "resolved": false, "labels": [ - "feat-auth", - "self-hosting" + "✅ Done" ], "author": { - "login": "bziolkowski", - "html_url": "https://github.com/bziolkowski" + "login": "juan-abia", + "html_url": "https://github.com/juan-abia" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4079, - "title": "How to prevent strangers from creating an account on your app", - "href": "https://github.com/orgs/langfuse/discussions/4079", - "created_at": "2024-11-06T14:17:46Z", + "number": 3336, + "title": "Add Notification for / in Comments Objects", + "href": "https://github.com/orgs/langfuse/discussions/3336", + "created_at": "2024-09-13T00:04:16Z", "upvotes": 1, "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [ - "self-hosting" + "feat-comments" ], "author": { - "login": "shner-elmo", - "html_url": "https://github.com/shner-elmo" + "login": "Zugunruhekami", + "html_url": "https://github.com/Zugunruhekami" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4075, - "title": "Does it make sense to use multiple api-keys", - "href": "https://github.com/orgs/langfuse/discussions/4075", - "created_at": "2024-11-06T11:22:45Z", - "upvotes": 1, - "comment_count": 2, - "resolved": true, - "labels": [], + "number": 3335, + "title": "Extend Searchability (through filter) for Comments Objects", + "href": "https://github.com/orgs/langfuse/discussions/3335", + "created_at": "2024-09-12T23:58:17Z", + "upvotes": 1, + "comment_count": 0, + "resolved": false, + "labels": [ + "feat-comments" + ], "author": { - "login": "shner-elmo", - "html_url": "https://github.com/shner-elmo" + "login": "Zugunruhekami", + "html_url": "https://github.com/Zugunruhekami" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4071, - "title": "Authentication not working?", - "href": "https://github.com/orgs/langfuse/discussions/4071", - "created_at": "2024-11-06T01:00:12Z", - "upvotes": 1, - "comment_count": 2, - "resolved": true, - "labels": [], + "number": 3291, + "title": "Filter by error in sub span", + "href": "https://github.com/orgs/langfuse/discussions/3291", + "created_at": "2024-09-10T13:20:11Z", + "upvotes": 2, + "comment_count": 3, + "resolved": false, + "labels": [ + "✅ Done", + "feat-log-levels" + ], "author": { - "login": "shner-elmo", - "html_url": "https://github.com/shner-elmo" + "login": "bettlebrox", + "html_url": "https://github.com/bettlebrox" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4056, - "title": "Langfuse deployment issue on k8", - "href": "https://github.com/orgs/langfuse/discussions/4056", - "created_at": "2024-11-05T11:54:57Z", + "number": 3289, + "title": "Deleting old, unused tags or making them unseen if weren't used in the chosen time window.", + "href": "https://github.com/orgs/langfuse/discussions/3289", + "created_at": "2024-09-10T12:56:43Z", "upvotes": 1, - "comment_count": 4, + "comment_count": 1, "resolved": false, "labels": [ - "self-hosting" + "feat-tags" ], "author": { - "login": "hrone-dev-satyammishra", - "html_url": "https://github.com/hrone-dev-satyammishra" + "login": "constalozinschi", + "html_url": "https://github.com/constalozinschi" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4046, - "title": "Should the Langfuse classs initialization be cached (does it do any I/O on init?) ?", - "href": "https://github.com/orgs/langfuse/discussions/4046", - "created_at": "2024-11-04T16:44:27Z", - "upvotes": 1, - "comment_count": 1, - "resolved": true, + "number": 3285, + "title": "SDK-JS: Allow to delete one or more trace", + "href": "https://github.com/orgs/langfuse/discussions/3285", + "created_at": "2024-09-10T09:26:04Z", + "upvotes": 5, + "comment_count": 2, + "resolved": false, "labels": [ - "integration-langchain" + "sdk-js" ], "author": { - "login": "shner-elmo", - "html_url": "https://github.com/shner-elmo" + "login": "Lunik", + "html_url": "https://github.com/Lunik" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4043, - "title": "\"Custom\" traces not creating when Next.js Vercel instrumentation is on.", - "href": "https://github.com/orgs/langfuse/discussions/4043", - "created_at": "2024-11-04T14:07:46Z", - "upvotes": 1, - "comment_count": 2, - "resolved": true, + "number": 3276, + "title": "Retrieve the trace by metdata", + "href": "https://github.com/orgs/langfuse/discussions/3276", + "created_at": "2024-09-09T20:51:08Z", + "upvotes": 3, + "comment_count": 0, + "resolved": false, "labels": [ - "integration-vercel-ai-sdk" + "feat-metadata" ], "author": { - "login": "rovnyart", - "html_url": "https://github.com/rovnyart" + "login": "gingerjx", + "html_url": "https://github.com/gingerjx" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4041, - "title": "When running in relatively high amount of concurrent requests we start getting: \"API error occurred: Service unavailable.\" from Langfuse server", - "href": "https://github.com/orgs/langfuse/discussions/4041", - "created_at": "2024-11-04T13:55:19Z", - "upvotes": 1, - "comment_count": 2, - "resolved": true, - "labels": [], + "number": 3275, + "title": "Include metrics and scores in getDatasetRun / `GET /api/public/datasets/{datasetName}/runs/{runName}`", + "href": "https://github.com/orgs/langfuse/discussions/3275", + "created_at": "2024-09-09T20:48:16Z", + "upvotes": 3, + "comment_count": 0, + "resolved": false, + "labels": [ + "feat-datasets" + ], "author": { - "login": "sternr", - "html_url": "https://github.com/sternr" + "login": "gingerjx", + "html_url": "https://github.com/gingerjx" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4038, - "title": "SSL: CERTIFICATE_VERIFY_FAILED error when access the self hosted langfuse from the code", - "href": "https://github.com/orgs/langfuse/discussions/4038", - "created_at": "2024-11-04T13:14:05Z", + "number": 3273, + "title": "Custom Themes", + "href": "https://github.com/orgs/langfuse/discussions/3273", + "created_at": "2024-09-09T15:08:25Z", "upvotes": 1, - "comment_count": 2, - "resolved": true, + "comment_count": 1, + "resolved": false, "labels": [], "author": { - "login": "SugumarRavichandran", - "html_url": "https://github.com/SugumarRavichandran" + "login": "rvndbalaji", + "html_url": "https://github.com/rvndbalaji" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4026, - "title": "Blob is not defined for Node 16", - "href": "https://github.com/orgs/langfuse/discussions/4026", - "created_at": "2024-11-04T04:58:15Z", + "number": 3263, + "title": "Comment API", + "href": "https://github.com/orgs/langfuse/discussions/3263", + "created_at": "2024-09-07T05:53:31Z", "upvotes": 1, - "comment_count": 2, + "comment_count": 1, "resolved": false, - "labels": [], + "labels": [ + "feat-api", + "feat-datasets" + ], "author": { - "login": "jamesyu", - "html_url": "https://github.com/jamesyu" + "login": "darvin", + "html_url": "https://github.com/darvin" }, - "category": "Support" + "category": "Ideas" }, { - "number": 4001, - "title": "Cloudron packaging issue with Prisma client", - "href": "https://github.com/orgs/langfuse/discussions/4001", - "created_at": "2024-11-01T14:21:59Z", - "upvotes": 1, + "number": 3256, + "title": "Integration with LangChain4j", + "href": "https://github.com/orgs/langfuse/discussions/3256", + "created_at": "2024-09-06T15:50:51Z", + "upvotes": 2, "comment_count": 2, - "resolved": true, - "labels": [], + "resolved": false, + "labels": [ + "integrations", + "feat-prompt-management", + "integration-langchain" + ], "author": { - "login": "Lanhild", - "html_url": "https://github.com/Lanhild" + "login": "ruizrube", + "html_url": "https://github.com/ruizrube" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3996, - "title": "Can you use the app without OAuth?", - "href": "https://github.com/orgs/langfuse/discussions/3996", - "created_at": "2024-11-01T03:36:33Z", + "number": 3252, + "title": "Need to retain the old evaluation history results, including input and all ground truth", + "href": "https://github.com/orgs/langfuse/discussions/3252", + "created_at": "2024-09-06T03:29:17Z", "upvotes": 1, "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [ - "feat-auth", - "self-hosting" + "feat-datasets" ], "author": { - "login": "shner-elmo", - "html_url": "https://github.com/shner-elmo" + "login": "serlina", + "html_url": "https://github.com/serlina" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3985, - "title": "Pending Badge Stuck on Setup Tracing Step", - "href": "https://github.com/orgs/langfuse/discussions/3985", - "created_at": "2024-10-31T15:51:08Z", - "upvotes": 1, - "comment_count": 2, - "resolved": true, - "labels": [], + "number": 3243, + "title": "Add organization / project / user / API key management API", + "href": "https://github.com/orgs/langfuse/discussions/3243", + "created_at": "2024-09-05T08:10:12Z", + "upvotes": 9, + "comment_count": 5, + "resolved": false, + "labels": [ + "self-hosting" + ], "author": { - "login": "c0pper", - "html_url": "https://github.com/c0pper" + "login": "EricAntidot", + "html_url": "https://github.com/EricAntidot" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3977, - "title": "getPromptStateless received 403 error when using `LangfuseWeb` SDK", - "href": "https://github.com/orgs/langfuse/discussions/3977", - "created_at": "2024-10-31T01:45:19Z", - "upvotes": 1, + "number": 3240, + "title": "Ability to export all traces/sessions/scores from langfuse and import back to another langfuse instance", + "href": "https://github.com/orgs/langfuse/discussions/3240", + "created_at": "2024-09-05T07:11:48Z", + "upvotes": 5, "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [ - "feat-prompt-management" + "self-hosting" ], "author": { - "login": "huangbaitu123", - "html_url": "https://github.com/huangbaitu123" + "login": "SinghCoder", + "html_url": "https://github.com/SinghCoder" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3976, - "title": "Missing scores after pushing scores to Langfuse", - "href": "https://github.com/orgs/langfuse/discussions/3976", - "created_at": "2024-10-31T00:02:59Z", - "upvotes": 1, - "comment_count": 3, - "resolved": true, - "labels": [], + "number": 3237, + "title": "Support for Selecting Specific Paths from JSON Objects in Evaluation Prompts", + "href": "https://github.com/orgs/langfuse/discussions/3237", + "created_at": "2024-09-05T05:05:48Z", + "upvotes": 2, + "comment_count": 2, + "resolved": false, + "labels": [ + "feat-evals" + ], "author": { - "login": "laisalvescw", - "html_url": "https://github.com/laisalvescw" + "login": "divyanshubhuta", + "html_url": "https://github.com/divyanshubhuta" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3972, - "title": "For which kinds of data is `ENCRYPTION_KEY` used?", - "href": "https://github.com/orgs/langfuse/discussions/3972", - "created_at": "2024-10-30T18:21:25Z", - "upvotes": 1, - "comment_count": 1, - "resolved": true, + "number": 3220, + "title": "Trace Logprobs from OpenAI models", + "href": "https://github.com/orgs/langfuse/discussions/3220", + "created_at": "2024-09-04T01:25:15Z", + "upvotes": 2, + "comment_count": 0, + "resolved": false, "labels": [ - "self-hosting" + "integration-openai" ], "author": { - "login": "felix-sanchez-unmind", - "html_url": "https://github.com/felix-sanchez-unmind" + "login": "yusuke-intern", + "html_url": "https://github.com/yusuke-intern" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3965, - "title": "How to set environment variables for custom oauth2.0 sso?", - "href": "https://github.com/orgs/langfuse/discussions/3965", - "created_at": "2024-10-30T06:27:15Z", - "upvotes": 1, - "comment_count": 1, - "resolved": true, - "labels": [ - "feat-auth", - "self-hosting" - ], + "number": 3215, + "title": "(ui) Ability to hide \"scores\" column", + "href": "https://github.com/orgs/langfuse/discussions/3215", + "created_at": "2024-09-03T15:34:14Z", + "upvotes": 2, + "comment_count": 2, + "resolved": false, + "labels": [], "author": { - "login": "IeohMingChan", - "html_url": "https://github.com/IeohMingChan" + "login": "marctorsoc", + "html_url": "https://github.com/marctorsoc" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3957, - "title": "Langfuse.create_prompt() got an unexpected keyword argument 'version'", - "href": "https://github.com/orgs/langfuse/discussions/3957", - "created_at": "2024-10-29T13:21:51Z", + "number": 3212, + "title": "Dataset run description and metadata should not be fixed on the page", + "href": "https://github.com/orgs/langfuse/discussions/3212", + "created_at": "2024-09-03T12:30:34Z", "upvotes": 1, "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [ - "feat-prompt-management" + "feat-datasets" ], "author": { - "login": "silenceliang", - "html_url": "https://github.com/silenceliang" + "login": "justinas-kazanavicius", + "html_url": "https://github.com/justinas-kazanavicius" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3949, - "title": "Is there a way to clear trace data in batch?", - "href": "https://github.com/orgs/langfuse/discussions/3949", - "created_at": "2024-10-29T06:10:26Z", - "upvotes": 1, + "number": 3208, + "title": "Support for exporting traces to CSV/JSON", + "href": "https://github.com/orgs/langfuse/discussions/3208", + "created_at": "2024-09-03T08:00:36Z", + "upvotes": 4, "comment_count": 2, - "resolved": true, + "resolved": false, "labels": [ - "self-hosting" + "✅ Done" ], "author": { - "login": "renwei-work", - "html_url": "https://github.com/renwei-work" + "login": "david1542", + "html_url": "https://github.com/david1542" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3943, - "title": "Improvements of Langfuse-Haystack integration", - "href": "https://github.com/orgs/langfuse/discussions/3943", - "created_at": "2024-10-28T14:49:51Z", + "number": 3194, + "title": "Optionally set timestamp when creating a score", + "href": "https://github.com/orgs/langfuse/discussions/3194", + "created_at": "2024-09-02T15:20:20Z", "upvotes": 1, - "comment_count": 2, - "resolved": true, + "comment_count": 1, + "resolved": false, "labels": [ - "integration-haystack" + "feat-api", + "feat-scores" ], "author": { - "login": "alex-stoica", - "html_url": "https://github.com/alex-stoica" - }, - "category": "Support" - }, - { - "number": 3924, - "title": "Postgres version mismatch when upgrading langfuse locally", - "href": "https://github.com/orgs/langfuse/discussions/3924", - "created_at": "2024-10-25T18:30:14Z", - "upvotes": 2, - "comment_count": 1, - "resolved": true, - "labels": [], - "author": { - "login": "nikcaryo-super", - "html_url": "https://github.com/nikcaryo-super" + "login": "FlorDonnaSanders", + "html_url": "https://github.com/FlorDonnaSanders" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3920, - "title": "Rate limit exceed using Langfuse Python SDK", - "href": "https://github.com/orgs/langfuse/discussions/3920", - "created_at": "2024-10-25T14:45:56Z", + "number": 3186, + "title": "Setting trace ID and parent observation ID with Python decorator SDK", + "href": "https://github.com/orgs/langfuse/discussions/3186", + "created_at": "2024-09-02T09:27:36Z", "upvotes": 1, - "comment_count": 1, - "resolved": true, + "comment_count": 3, + "resolved": false, "labels": [ - "feat-api" + "✅ Done", + "integration-python-decorator" ], "author": { - "login": "laisalvescw", - "html_url": "https://github.com/laisalvescw" + "login": "MrOrz", + "html_url": "https://github.com/MrOrz" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3910, - "title": "If I use Anthropic Claude component in Langflow, the trace data in Langfuse is all null", - "href": "https://github.com/orgs/langfuse/discussions/3910", - "created_at": "2024-10-25T06:50:02Z", + "number": 3181, + "title": "Log only metadata", + "href": "https://github.com/orgs/langfuse/discussions/3181", + "created_at": "2024-08-31T18:31:11Z", "upvotes": 2, - "comment_count": 2, - "resolved": true, + "comment_count": 0, + "resolved": false, "labels": [], "author": { - "login": "b8heng", - "html_url": "https://github.com/b8heng" + "login": "jan-kubica", + "html_url": "https://github.com/jan-kubica" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3905, - "title": "Allow injection of generation context into evaluation prompt", - "href": "https://github.com/orgs/langfuse/discussions/3905", - "created_at": "2024-10-24T20:39:46Z", + "number": 3178, + "title": "The display time on the x-axis of the chart in the Dashboard shows only the date, without hours, minutes, and seconds.", + "href": "https://github.com/orgs/langfuse/discussions/3178", + "created_at": "2024-08-31T04:09:07Z", "upvotes": 1, "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [ - "feat-evals" + "bug", + "✅ Done", + "feat-dashboard" ], "author": { - "login": "dveyarangi", - "html_url": "https://github.com/dveyarangi" + "login": "HGladiator", + "html_url": "https://github.com/HGladiator" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3902, - "title": "How to fetch the output and input tokens of a trace via API?", - "href": "https://github.com/orgs/langfuse/discussions/3902", - "created_at": "2024-10-24T16:16:56Z", - "upvotes": 0, - "comment_count": 1, - "resolved": true, + "number": 3166, + "title": "Support Tool Calls / Functions in Playground", + "href": "https://github.com/orgs/langfuse/discussions/3166", + "created_at": "2024-08-30T20:04:34Z", + "upvotes": 15, + "comment_count": 10, + "resolved": false, "labels": [ - "feat-api", - "feat-cost-tracking" + "feat-playground" ], "author": { - "login": "fdb02983rhy", - "html_url": "https://github.com/fdb02983rhy" + "login": "yuyuma", + "html_url": "https://github.com/yuyuma" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3900, - "title": "Sometimes traces lack metadata completely", - "href": "https://github.com/orgs/langfuse/discussions/3900", - "created_at": "2024-10-24T15:06:32Z", - "upvotes": 1, - "comment_count": 4, - "resolved": true, + "number": 3147, + "title": "Add the ability to search by message words in traces and scores", + "href": "https://github.com/orgs/langfuse/discussions/3147", + "created_at": "2024-08-30T08:02:32Z", + "upvotes": 4, + "comment_count": 0, + "resolved": false, "labels": [], "author": { - "login": "RichardSieg", - "html_url": "https://github.com/RichardSieg" + "login": "ValentinKovalev", + "html_url": "https://github.com/ValentinKovalev" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3890, - "title": "how to add invoked langchain tool names as tags or as metadata", - "href": "https://github.com/orgs/langfuse/discussions/3890", - "created_at": "2024-10-24T00:39:02Z", - "upvotes": 1, - "comment_count": 1, - "resolved": false, - "labels": [ - "integration-langchain" + "number": 3131, + "title": "Diff of prompt versions", + "href": "https://github.com/orgs/langfuse/discussions/3131", + "created_at": "2024-08-29T11:43:24Z", + "upvotes": 6, + "comment_count": 1, + "resolved": false, + "labels": [ + "feat-prompt-management" ], "author": { - "login": "Wrashionis", - "html_url": "https://github.com/Wrashionis" + "login": "dylanjcastillo", + "html_url": "https://github.com/dylanjcastillo" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3886, - "title": "Azure AD auth: OAUTH_PARSE_PROFILE_ERROR", - "href": "https://github.com/orgs/langfuse/discussions/3886", - "created_at": "2024-10-23T19:40:57Z", - "upvotes": 1, + "number": 3129, + "title": "The LangchainCallbackHandler supports statistical delay of the first token", + "href": "https://github.com/orgs/langfuse/discussions/3129", + "created_at": "2024-08-29T09:26:11Z", + "upvotes": 3, "comment_count": 2, "resolved": false, - "labels": [], + "labels": [ + "integration-langchain", + "✅ Done" + ], "author": { - "login": "kryvokhyzha", - "html_url": "https://github.com/kryvokhyzha" + "login": "Hacky-DH", + "html_url": "https://github.com/Hacky-DH" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3884, - "title": "I cant quite tell if i'm doing the parent span correctly. The trace is appearing but not associated to the Session", - "href": "https://github.com/orgs/langfuse/discussions/3884", - "created_at": "2024-10-23T16:12:44Z", + "number": 3112, + "title": "Request Role elevation from Langfuse UI", + "href": "https://github.com/orgs/langfuse/discussions/3112", + "created_at": "2024-08-28T13:15:21Z", "upvotes": 1, - "comment_count": 2, + "comment_count": 0, "resolved": false, - "labels": [], + "labels": [ + "feat-rbac" + ], "author": { - "login": "PandelisZ", - "html_url": "https://github.com/PandelisZ" + "login": "thund3rbrd", + "html_url": "https://github.com/thund3rbrd" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3879, - "title": "No token information in observation of LLM run", - "href": "https://github.com/orgs/langfuse/discussions/3879", - "created_at": "2024-10-23T13:07:43Z", + "number": 3111, + "title": "Improve RBAC", + "href": "https://github.com/orgs/langfuse/discussions/3111", + "created_at": "2024-08-28T13:08:57Z", "upvotes": 1, - "comment_count": 2, + "comment_count": 0, "resolved": false, "labels": [ - "feat-cost-tracking" + "feat-rbac" ], "author": { - "login": "noInterestIfPaidInFull", - "html_url": "https://github.com/noInterestIfPaidInFull" + "login": "thund3rbrd", + "html_url": "https://github.com/thund3rbrd" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3877, - "title": "Self host Langfuse not working - column `t6.cloud_config` does not exist", - "href": "https://github.com/orgs/langfuse/discussions/3877", - "created_at": "2024-10-23T11:54:13Z", - "upvotes": 1, - "comment_count": 4, + "number": 3074, + "title": "Add \"image_url\" to Langfuse Prompt types.", + "href": "https://github.com/orgs/langfuse/discussions/3074", + "created_at": "2024-08-26T11:54:32Z", + "upvotes": 2, + "comment_count": 1, "resolved": false, "labels": [ - "self-hosting" + "feat-prompt-management" ], "author": { - "login": "SugumarRavichandran", - "html_url": "https://github.com/SugumarRavichandran" - }, - "category": "Support" - }, - { - "number": 3868, - "title": "Langfuse Tracing not showing up on UI", - "href": "https://github.com/orgs/langfuse/discussions/3868", - "created_at": "2024-10-22T21:26:13Z", - "upvotes": 1, - "comment_count": 2, - "resolved": true, - "labels": [], - "author": { - "login": "nthanapaisal", - "html_url": "https://github.com/nthanapaisal" + "login": "grobruegge", + "html_url": "https://github.com/grobruegge" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3863, - "title": "Request Timeout for Dashboard", - "href": "https://github.com/orgs/langfuse/discussions/3863", - "created_at": "2024-10-22T14:18:43Z", + "number": 3062, + "title": "Support for OpenAI.client.chat.completions.with_raw_response", + "href": "https://github.com/orgs/langfuse/discussions/3062", + "created_at": "2024-08-24T12:55:39Z", "upvotes": 1, - "comment_count": 2, - "resolved": true, + "comment_count": 1, + "resolved": false, "labels": [ - "self-hosting" + "integration-openai" ], "author": { - "login": "mritonia", - "html_url": "https://github.com/mritonia" + "login": "aman-gupta-doc", + "html_url": "https://github.com/aman-gupta-doc" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3858, - "title": "Monitoring self-hosted langfuse.", - "href": "https://github.com/orgs/langfuse/discussions/3858", - "created_at": "2024-10-22T07:04:26Z", - "upvotes": 1, + "number": 3053, + "title": "Being able to link Prompts with Traces when using the LangChain integration", + "href": "https://github.com/orgs/langfuse/discussions/3053", + "created_at": "2024-08-23T13:14:21Z", + "upvotes": 2, "comment_count": 2, - "resolved": true, + "resolved": false, "labels": [ - "self-hosting" + "✅ Done" ], "author": { - "login": "SinghCoder", - "html_url": "https://github.com/SinghCoder" + "login": "jonnyforsterMSG", + "html_url": "https://github.com/jonnyforsterMSG" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3854, - "title": "Open AI Python SDK - 'OpenAI' object has no attribute 'langfuse_auth_check'", - "href": "https://github.com/orgs/langfuse/discussions/3854", - "created_at": "2024-10-21T21:41:17Z", - "upvotes": 1, - "comment_count": 4, - "resolved": true, + "number": 3050, + "title": "Implement dataset removal method", + "href": "https://github.com/orgs/langfuse/discussions/3050", + "created_at": "2024-08-23T11:40:13Z", + "upvotes": 4, + "comment_count": 0, + "resolved": false, "labels": [ - "integration-openai" + "feat-datasets" ], "author": { - "login": "hjensen", - "html_url": "https://github.com/hjensen" + "login": "justinas-kazanavicius", + "html_url": "https://github.com/justinas-kazanavicius" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3845, - "title": "Traces: Link a trace to multiple sessions", - "href": "https://github.com/orgs/langfuse/discussions/3845", - "created_at": "2024-10-21T11:31:54Z", - "upvotes": 1, - "comment_count": 2, - "resolved": true, + "number": 3023, + "title": "Track openai token usage from stream_options instead of tokenizing the response server-side", + "href": "https://github.com/orgs/langfuse/discussions/3023", + "created_at": "2024-08-22T17:08:08Z", + "upvotes": 3, + "comment_count": 3, + "resolved": false, "labels": [ - "feat-sessions" + "integration-openai", + "✅ Done", + "feat-cost-tracking" ], "author": { - "login": "nikitagupta5566", - "html_url": "https://github.com/nikitagupta5566" + "login": "kilimchoi", + "html_url": "https://github.com/kilimchoi" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3838, - "title": "How do I user wise \"Total Token\" counts via API or via python, As I want to track which user is consuming how much tokens", - "href": "https://github.com/orgs/langfuse/discussions/3838", - "created_at": "2024-10-21T06:51:06Z", - "upvotes": 2, - "comment_count": 3, - "resolved": true, + "number": 3021, + "title": "Pre-defined user access", + "href": "https://github.com/orgs/langfuse/discussions/3021", + "created_at": "2024-08-22T16:08:19Z", + "upvotes": 1, + "comment_count": 0, + "resolved": false, "labels": [ - "feat-cost-tracking" + "self-hosting" ], "author": { - "login": "hrone-dev-satyammishra", - "html_url": "https://github.com/hrone-dev-satyammishra" + "login": "LucasMagnum", + "html_url": "https://github.com/LucasMagnum" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3835, - "title": "To use Gemini on playground", - "href": "https://github.com/orgs/langfuse/discussions/3835", - "created_at": "2024-10-20T12:20:22Z", + "number": 3014, + "title": "Supports filter string using regular expression matching", + "href": "https://github.com/orgs/langfuse/discussions/3014", + "created_at": "2024-08-22T14:39:34Z", "upvotes": 1, - "comment_count": 3, + "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "yu-tarrrr", - "html_url": "https://github.com/yu-tarrrr" + "login": "chai3", + "html_url": "https://github.com/chai3" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3824, - "title": "Traces and events not going through to Langfuse server even though they're generating", - "href": "https://github.com/orgs/langfuse/discussions/3824", - "created_at": "2024-10-18T13:49:53Z", - "upvotes": 1, - "comment_count": 2, + "number": 3004, + "title": "Support for more modalities and base64 content", + "href": "https://github.com/orgs/langfuse/discussions/3004", + "created_at": "2024-08-22T09:50:47Z", + "upvotes": 45, + "comment_count": 17, "resolved": false, "labels": [ - "integration-python-decorator" + "✅ Done", + "feat-multimodal" ], "author": { - "login": "FaresKi", - "html_url": "https://github.com/FaresKi" + "login": "marliessophie", + "html_url": "https://github.com/marliessophie" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3800, - "title": "Insert API Keys in database", - "href": "https://github.com/orgs/langfuse/discussions/3800", - "created_at": "2024-10-17T12:40:17Z", - "upvotes": 1, - "comment_count": 3, + "number": 2997, + "title": "Filter Span events in dashboard", + "href": "https://github.com/orgs/langfuse/discussions/2997", + "created_at": "2024-08-21T16:25:02Z", + "upvotes": 2, + "comment_count": 0, "resolved": false, "labels": [], "author": { - "login": "kryvokhyzha", - "html_url": "https://github.com/kryvokhyzha" + "login": "tagaretiro", + "html_url": "https://github.com/tagaretiro" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3799, - "title": "Weird behaviour of metric values and their reasoning", - "href": "https://github.com/orgs/langfuse/discussions/3799", - "created_at": "2024-10-17T12:17:48Z", - "upvotes": 1, - "comment_count": 2, - "resolved": true, + "number": 2987, + "title": "Claude/openai/google prompt caching", + "href": "https://github.com/orgs/langfuse/discussions/2987", + "created_at": "2024-08-21T04:18:55Z", + "upvotes": 5, + "comment_count": 4, + "resolved": false, "labels": [ - "feat-evals" + "feat-cost-tracking" ], "author": { - "login": "filipmihal", - "html_url": "https://github.com/filipmihal" + "login": "mrdrprofuroboros", + "html_url": "https://github.com/mrdrprofuroboros" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3797, - "title": "Filter Categorical Score Values", - "href": "https://github.com/orgs/langfuse/discussions/3797", - "created_at": "2024-10-17T10:15:58Z", + "number": 2978, + "title": "Unexpected event format when using `ibm-watsonx-ai` with LangChain extension", + "href": "https://github.com/orgs/langfuse/discussions/2978", + "created_at": "2024-08-20T11:20:28Z", "upvotes": 1, - "comment_count": 3, - "resolved": true, + "comment_count": 0, + "resolved": false, "labels": [ - "feat-scores" + "integration-langchain" ], "author": { - "login": "alabrashJr", - "html_url": "https://github.com/alabrashJr" + "login": "barvhaim", + "html_url": "https://github.com/barvhaim" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3796, - "title": "Manually setting up Langchain Callback handler with explicit values doesn't configure langfuse client in decorator approach", - "href": "https://github.com/orgs/langfuse/discussions/3796", - "created_at": "2024-10-17T08:36:51Z", + "number": 2975, + "title": "fetch all users via sdk/api", + "href": "https://github.com/orgs/langfuse/discussions/2975", + "created_at": "2024-08-20T06:52:47Z", "upvotes": 1, - "comment_count": 2, - "resolved": true, + "comment_count": 3, + "resolved": false, "labels": [ - "integration-langchain" + "feat-users" ], "author": { - "login": "FaresKi", - "html_url": "https://github.com/FaresKi" + "login": "vincent-larisma", + "html_url": "https://github.com/vincent-larisma" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3780, - "title": "How to use prompt management with litellm's integration with langfuse?", - "href": "https://github.com/orgs/langfuse/discussions/3780", - "created_at": "2024-10-16T16:48:40Z", - "upvotes": 2, - "comment_count": 8, - "resolved": true, + "number": 2967, + "title": "Tag based usage", + "href": "https://github.com/orgs/langfuse/discussions/2967", + "created_at": "2024-08-19T07:13:26Z", + "upvotes": 1, + "comment_count": 1, + "resolved": false, "labels": [ - "feat-prompt-management", - "integration-litellm" + "feat-dashboard", + "feat-tags" ], "author": { - "login": "GildeshAbhay", - "html_url": "https://github.com/GildeshAbhay" + "login": "aakash-vwo", + "html_url": "https://github.com/aakash-vwo" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3779, - "title": "Annotation Queues and Session IDs and Datasets and LLM Security", - "href": "https://github.com/orgs/langfuse/discussions/3779", - "created_at": "2024-10-16T14:55:09Z", - "upvotes": 1, - "comment_count": 3, + "number": 2949, + "title": "Auto-patching Langchain to include Langfuse callback handler", + "href": "https://github.com/orgs/langfuse/discussions/2949", + "created_at": "2024-08-15T12:17:32Z", + "upvotes": 3, + "comment_count": 1, "resolved": false, - "labels": [], - "author": { - "login": "paolotamag", - "html_url": "https://github.com/paolotamag" - }, - "category": "Support" - }, - { - "number": 3778, - "title": "Observe decorator not working with custom langchain model & custom langfuse callback handler", - "href": "https://github.com/orgs/langfuse/discussions/3778", - "created_at": "2024-10-16T12:36:02Z", - "upvotes": 1, - "comment_count": 2, - "resolved": true, - "labels": [], + "labels": [ + "integration-langchain" + ], "author": { - "login": "FaresKi", - "html_url": "https://github.com/FaresKi" + "login": "kongzii", + "html_url": "https://github.com/kongzii" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3777, - "title": "Error when trying to upgrade my langfuse deployment", - "href": "https://github.com/orgs/langfuse/discussions/3777", - "created_at": "2024-10-16T09:25:53Z", + "number": 2923, + "title": "Feature: Add CAS (and maybe SAML) as a authentication method", + "href": "https://github.com/orgs/langfuse/discussions/2923", + "created_at": "2024-08-13T17:18:42Z", "upvotes": 2, - "comment_count": 2, + "comment_count": 1, "resolved": false, "labels": [ "self-hosting" ], "author": { - "login": "nithin1995", - "html_url": "https://github.com/nithin1995" + "login": "jayteaftw", + "html_url": "https://github.com/jayteaftw" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3766, - "title": "Latency and total cost for runs are not computed", - "href": "https://github.com/orgs/langfuse/discussions/3766", - "created_at": "2024-10-15T21:38:15Z", + "number": 2919, + "title": "Adding access to User's sessions directly", + "href": "https://github.com/orgs/langfuse/discussions/2919", + "created_at": "2024-08-13T12:42:16Z", "upvotes": 1, - "comment_count": 3, - "resolved": true, - "labels": [], - "author": { - "login": "ldbolanos", - "html_url": "https://github.com/ldbolanos" - }, - "category": "Support" - }, - { - "number": 3764, - "title": "Best practices for tracing an app with history and tool usage", - "href": "https://github.com/orgs/langfuse/discussions/3764", - "created_at": "2024-10-15T21:27:34Z", - "upvotes": 2, - "comment_count": 3, - "resolved": true, + "comment_count": 0, + "resolved": false, "labels": [ - "integration-openai" + "feat-users", + "feat-sessions" ], "author": { - "login": "machulav", - "html_url": "https://github.com/machulav" + "login": "Youneesz", + "html_url": "https://github.com/Youneesz" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3756, - "title": "How to create an eval config for prompts using python api?", - "href": "https://github.com/orgs/langfuse/discussions/3756", - "created_at": "2024-10-15T09:20:06Z", - "upvotes": 1, - "comment_count": 2, - "resolved": true, + "number": 2883, + "title": "Compare two dataset runs side by side", + "href": "https://github.com/orgs/langfuse/discussions/2883", + "created_at": "2024-08-09T10:40:05Z", + "upvotes": 5, + "comment_count": 1, + "resolved": false, "labels": [ - "feat-evals" + "feat-datasets" ], "author": { - "login": "GildeshAbhay", - "html_url": "https://github.com/GildeshAbhay" + "login": "dmaslov", + "html_url": "https://github.com/dmaslov" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3737, - "title": "Monitoring for multi agent systems (OpenWebUI)", - "href": "https://github.com/orgs/langfuse/discussions/3737", - "created_at": "2024-10-14T16:50:17Z", + "number": 2881, + "title": "feat (ui): Collapse sidebar by default", + "href": "https://github.com/orgs/langfuse/discussions/2881", + "created_at": "2024-08-09T10:03:39Z", "upvotes": 1, - "comment_count": 3, - "resolved": true, + "comment_count": 5, + "resolved": false, "labels": [ - "integration-openwebui" + "ui" ], "author": { - "login": "OM-EL", - "html_url": "https://github.com/OM-EL" + "login": "marctorsoc", + "html_url": "https://github.com/marctorsoc" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3735, - "title": "Is it possible to use tools calling and structured output in the Prompts UI and Playground?", - "href": "https://github.com/orgs/langfuse/discussions/3735", - "created_at": "2024-10-14T16:43:23Z", - "upvotes": 1, + "number": 2877, + "title": "Make langfuse deployable to AWS Lambda", + "href": "https://github.com/orgs/langfuse/discussions/2877", + "created_at": "2024-08-09T08:24:14Z", + "upvotes": 3, "comment_count": 2, - "resolved": true, - "labels": [ - "feat-prompt-management", - "feat-playground" - ], + "resolved": false, + "labels": [], "author": { - "login": "mifopen", - "html_url": "https://github.com/mifopen" + "login": "MeddahAbdellah", + "html_url": "https://github.com/MeddahAbdellah" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3718, - "title": "How to delete a Session?", - "href": "https://github.com/orgs/langfuse/discussions/3718", - "created_at": "2024-10-11T14:51:46Z", + "number": 2870, + "title": "custom base path deployments", + "href": "https://github.com/orgs/langfuse/discussions/2870", + "created_at": "2024-08-08T13:15:51Z", "upvotes": 1, - "comment_count": 2, - "resolved": true, - "labels": [ - "feat-sessions" - ], + "comment_count": 1, + "resolved": false, + "labels": [], "author": { - "login": "augustoolucas", - "html_url": "https://github.com/augustoolucas" + "login": "marioweid", + "html_url": "https://github.com/marioweid" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3717, - "title": "Llamaindex Workflow does't work with Instrumentation Module", - "href": "https://github.com/orgs/langfuse/discussions/3717", - "created_at": "2024-10-11T10:27:09Z", - "upvotes": 1, - "comment_count": 3, - "resolved": true, + "number": 2864, + "title": "Add Bedrock Guardrails to the LLM Security documentation", + "href": "https://github.com/orgs/langfuse/discussions/2864", + "created_at": "2024-08-07T23:56:05Z", + "upvotes": 2, + "comment_count": 0, + "resolved": false, "labels": [ - "integraton-llamaindex" + "feat-llm-security", + "integration-amazon-bedrock" ], "author": { - "login": "ntdanhtma", - "html_url": "https://github.com/ntdanhtma" + "login": "wirjo", + "html_url": "https://github.com/wirjo" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3698, - "title": "Can I use Amazon Bedrock for Langfuse Evals?", - "href": "https://github.com/orgs/langfuse/discussions/3698", - "created_at": "2024-10-10T15:34:48Z", - "upvotes": 1, - "comment_count": 5, - "resolved": true, + "number": 2863, + "title": "Add AWS as a deployment option in the documentation", + "href": "https://github.com/orgs/langfuse/discussions/2863", + "created_at": "2024-08-07T23:53:40Z", + "upvotes": 3, + "comment_count": 1, + "resolved": false, "labels": [ - "feat-evals", - "integration-amazon-bedrock" + "✅ Done", + "self-hosting" ], "author": { - "login": "j10sanders", - "html_url": "https://github.com/j10sanders" + "login": "wirjo", + "html_url": "https://github.com/wirjo" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3679, - "title": "Langfuse / Langflow not intergrating", - "href": "https://github.com/orgs/langfuse/discussions/3679", - "created_at": "2024-10-09T17:06:32Z", + "number": 2850, + "title": "Feat (ui): Move columns", + "href": "https://github.com/orgs/langfuse/discussions/2850", + "created_at": "2024-08-07T11:55:55Z", "upvotes": 1, - "comment_count": 2, + "comment_count": 0, "resolved": false, - "labels": [ - "integration-langflow" - ], + "labels": [], "author": { - "login": "colecal", - "html_url": "https://github.com/colecal" + "login": "marctorsoc", + "html_url": "https://github.com/marctorsoc" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3678, - "title": "Langfuse not tracing code from my VM (server)", - "href": "https://github.com/orgs/langfuse/discussions/3678", - "created_at": "2024-10-09T14:56:05Z", + "number": 2848, + "title": "Feat: Allow not sorting tags", + "href": "https://github.com/orgs/langfuse/discussions/2848", + "created_at": "2024-08-07T11:50:44Z", "upvotes": 1, "comment_count": 1, "resolved": false, "labels": [ - "self-hosting" + "feat-tags" ], "author": { - "login": "akbar-mta", - "html_url": "https://github.com/akbar-mta" + "login": "marctorsoc", + "html_url": "https://github.com/marctorsoc" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3674, - "title": "Docs for K8s deployments", - "href": "https://github.com/orgs/langfuse/discussions/3674", - "created_at": "2024-10-09T09:52:05Z", - "upvotes": 1, - "comment_count": 2, - "resolved": true, - "labels": [ - "self-hosting" - ], + "number": 2823, + "title": "Need support for ChatOCIGenAI", + "href": "https://github.com/orgs/langfuse/discussions/2823", + "created_at": "2024-08-05T13:34:30Z", + "upvotes": 2, + "comment_count": 0, + "resolved": false, + "labels": [], "author": { - "login": "Brant-lzh", - "html_url": "https://github.com/Brant-lzh" + "login": "engchina", + "html_url": "https://github.com/engchina" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3645, - "title": "Cannot Sign In or Sign Up to Local Langfuse Instance", - "href": "https://github.com/orgs/langfuse/discussions/3645", - "created_at": "2024-10-08T11:09:48Z", - "upvotes": 1, - "comment_count": 2, - "resolved": true, + "number": 2821, + "title": "Need API endpoints to add projects and users", + "href": "https://github.com/orgs/langfuse/discussions/2821", + "created_at": "2024-08-05T13:10:49Z", + "upvotes": 2, + "comment_count": 1, + "resolved": false, "labels": [], "author": { - "login": "Patryk-Chlanda", - "html_url": "https://github.com/Patryk-Chlanda" + "login": "kameshbrao", + "html_url": "https://github.com/kameshbrao" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3641, - "title": "Sign in and Sign up button is greyed out", - "href": "https://github.com/orgs/langfuse/discussions/3641", - "created_at": "2024-10-08T09:32:16Z", + "number": 2812, + "title": "Could you make the Prompt label 36 char long?", + "href": "https://github.com/orgs/langfuse/discussions/2812", + "created_at": "2024-08-02T11:03:08Z", "upvotes": 1, - "comment_count": 2, - "resolved": true, - "labels": [], + "comment_count": 1, + "resolved": false, + "labels": [ + "feat-prompt-management", + "✅ Done" + ], "author": { - "login": "akbar-mta", - "html_url": "https://github.com/akbar-mta" + "login": "DevSageH", + "html_url": "https://github.com/DevSageH" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3637, - "title": "Sign In Button Remains Disabled When Logging in with Email/Password on Langfuse Self-Hosted", - "href": "https://github.com/orgs/langfuse/discussions/3637", - "created_at": "2024-10-08T06:40:05Z", - "upvotes": 2, - "comment_count": 2, - "resolved": true, - "labels": [], + "number": 2810, + "title": "Enable setting a label to an existing prompt version via the api/sdk.", + "href": "https://github.com/orgs/langfuse/discussions/2810", + "created_at": "2024-08-01T16:53:06Z", + "upvotes": 10, + "comment_count": 4, + "resolved": false, + "labels": [ + "feat-prompt-management" + ], "author": { - "login": "tubone24", - "html_url": "https://github.com/tubone24" + "login": "ClementNguyen", + "html_url": "https://github.com/ClementNguyen" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3615, - "title": "Failing with internal server error when trying to add score to a trace", - "href": "https://github.com/orgs/langfuse/discussions/3615", - "created_at": "2024-10-07T06:15:14Z", - "upvotes": 1, + "number": 2797, + "title": "Enable list_prompts/search_prompts using client", + "href": "https://github.com/orgs/langfuse/discussions/2797", + "created_at": "2024-07-31T13:45:38Z", + "upvotes": 4, "comment_count": 2, - "resolved": true, - "labels": [], - "author": { - "login": "nithin1995", - "html_url": "https://github.com/nithin1995" - }, - "category": "Support" - }, - { - "number": 3592, - "title": "Set trace_id in Langchain CallbackHandler", - "href": "https://github.com/orgs/langfuse/discussions/3592", - "created_at": "2024-10-05T11:09:30Z", - "upvotes": 1, - "comment_count": 1, - "resolved": true, - "labels": [], + "resolved": false, + "labels": [ + "feat-prompt-management" + ], "author": { - "login": "michaelpoluektov", - "html_url": "https://github.com/michaelpoluektov" + "login": "krlng", + "html_url": "https://github.com/krlng" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3574, - "title": "Automated provisioning of default resources in self hosting", - "href": "https://github.com/orgs/langfuse/discussions/3574", - "created_at": "2024-10-04T06:44:45Z", + "number": 2781, + "title": "Add support for custom serialization of observation fields", + "href": "https://github.com/orgs/langfuse/discussions/2781", + "created_at": "2024-07-29T18:49:03Z", "upvotes": 1, "comment_count": 2, - "resolved": true, + "resolved": false, "labels": [ - "self-hosting" + "sdk-python" ], "author": { - "login": "Harinisri29", - "html_url": "https://github.com/Harinisri29" + "login": "ashamlian-roadway", + "html_url": "https://github.com/ashamlian-roadway" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3569, - "title": "UnauthorizedError: No authorization header After Switching to Headless Initialization", - "href": "https://github.com/orgs/langfuse/discussions/3569", - "created_at": "2024-10-03T08:52:35Z", - "upvotes": 2, - "comment_count": 2, + "number": 2770, + "title": "Add clickable link to the 'release' kwargs in a Trace - this will route to the documentations/change log of that release/version", + "href": "https://github.com/orgs/langfuse/discussions/2770", + "created_at": "2024-07-28T07:08:07Z", + "upvotes": 1, + "comment_count": 0, "resolved": false, "labels": [], "author": { - "login": "chandel-aman", - "html_url": "https://github.com/chandel-aman" + "login": "stepanogil", + "html_url": "https://github.com/stepanogil" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3559, - "title": "Token Cost using OpenRouter", - "href": "https://github.com/orgs/langfuse/discussions/3559", - "created_at": "2024-10-02T05:25:14Z", - "upvotes": 1, + "number": 2766, + "title": "Support Exporting LangSmith Run Traces into Langfuse!", + "href": "https://github.com/orgs/langfuse/discussions/2766", + "created_at": "2024-07-27T02:34:44Z", + "upvotes": 3, "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [], "author": { - "login": "austinm911", - "html_url": "https://github.com/austinm911" + "login": "p-barman", + "html_url": "https://github.com/p-barman" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3557, - "title": "Link 2 traces", - "href": "https://github.com/orgs/langfuse/discussions/3557", - "created_at": "2024-10-02T02:14:27Z", + "number": 2747, + "title": "A new configuration env variable for custom URL prefix", + "href": "https://github.com/orgs/langfuse/discussions/2747", + "created_at": "2024-07-25T17:00:57Z", "upvotes": 1, "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [], "author": { - "login": "saiprasath21", - "html_url": "https://github.com/saiprasath21" + "login": "abdullah-retorio", + "html_url": "https://github.com/abdullah-retorio" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3556, - "title": "Update a trace", - "href": "https://github.com/orgs/langfuse/discussions/3556", - "created_at": "2024-10-02T02:10:15Z", + "number": 2746, + "title": "Returning prompts from expired cache may be disabled using a boolean argument", + "href": "https://github.com/orgs/langfuse/discussions/2746", + "created_at": "2024-07-25T15:57:26Z", "upvotes": 1, "comment_count": 1, - "resolved": true, - "labels": [], + "resolved": false, + "labels": [ + "feat-prompt-management" + ], "author": { - "login": "saiprasath21", - "html_url": "https://github.com/saiprasath21" + "login": "ogunoz", + "html_url": "https://github.com/ogunoz" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3553, - "title": "How to track DSPy call within Langgraph", - "href": "https://github.com/orgs/langfuse/discussions/3553", - "created_at": "2024-10-01T20:00:11Z", + "number": 2745, + "title": "Lazy fallback for get_prompt", + "href": "https://github.com/orgs/langfuse/discussions/2745", + "created_at": "2024-07-25T15:50:32Z", "upvotes": 1, "comment_count": 1, "resolved": false, "labels": [ - "integration-langchain", - "integration-dspy" + "feat-prompt-management" ], "author": { - "login": "marcklingen", - "html_url": "https://github.com/marcklingen" + "login": "ogunoz", + "html_url": "https://github.com/ogunoz" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3552, - "title": "LlamaIndex traces grouping", - "href": "https://github.com/orgs/langfuse/discussions/3552", - "created_at": "2024-10-01T18:35:11Z", - "upvotes": 1, + "number": 2738, + "title": "Set variables in playground from dataset", + "href": "https://github.com/orgs/langfuse/discussions/2738", + "created_at": "2024-07-25T09:27:30Z", + "upvotes": 4, "comment_count": 2, - "resolved": true, + "resolved": false, "labels": [ - "integraton-llamaindex" + "feat-datasets", + "feat-playground" ], "author": { - "login": "ivanviragine", - "html_url": "https://github.com/ivanviragine" + "login": "hbenyamina", + "html_url": "https://github.com/hbenyamina" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3549, - "title": "create api keys pair using some method or api", - "href": "https://github.com/orgs/langfuse/discussions/3549", - "created_at": "2024-10-01T11:45:12Z", + "number": 2729, + "title": "Comment thread on Traces", + "href": "https://github.com/orgs/langfuse/discussions/2729", + "created_at": "2024-07-24T13:52:51Z", "upvotes": 1, - "comment_count": 2, - "resolved": true, + "comment_count": 3, + "resolved": false, "labels": [ - "self-hosting" + "✅ Done", + "feat-comments" ], "author": { - "login": "ryanrib14", - "html_url": "https://github.com/ryanrib14" + "login": "guptakvgaurav", + "html_url": "https://github.com/guptakvgaurav" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3545, - "title": "How to Set Custom Trace ID with a Decorator and Include langfuse_observation_id?", - "href": "https://github.com/orgs/langfuse/discussions/3545", - "created_at": "2024-10-01T02:04:03Z", - "upvotes": 1, - "comment_count": 2, - "resolved": true, + "number": 2728, + "title": "Session-level scores", + "href": "https://github.com/orgs/langfuse/discussions/2728", + "created_at": "2024-07-24T10:05:40Z", + "upvotes": 3, + "comment_count": 3, + "resolved": false, "labels": [ - "integration-python-decorator" + "feat-scores", + "feat-sessions" ], "author": { - "login": "octadion", - "html_url": "https://github.com/octadion" + "login": "felixsg", + "html_url": "https://github.com/felixsg" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3540, - "title": "error ❌ tRPC failed on public.checkUpdate: Failed to fetch or json parse the latest releases Failed to fetch or json parse the latest releases", - "href": "https://github.com/orgs/langfuse/discussions/3540", - "created_at": "2024-09-30T20:29:22Z", - "upvotes": 1, + "number": 2721, + "title": "Add note on each prompt version", + "href": "https://github.com/orgs/langfuse/discussions/2721", + "created_at": "2024-07-23T14:48:02Z", + "upvotes": 2, "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [ - "self-hosting" + "feat-prompt-management" ], "author": { - "login": "FaresKi", - "html_url": "https://github.com/FaresKi" + "login": "cubxxw", + "html_url": "https://github.com/cubxxw" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3531, - "title": "is it possible to assign a label to an existing prompt via API/SDK ?", - "href": "https://github.com/orgs/langfuse/discussions/3531", - "created_at": "2024-09-30T07:49:28Z", + "number": 2720, + "title": "Feature request [UI]: Remember column selection PER project in Traces view", + "href": "https://github.com/orgs/langfuse/discussions/2720", + "created_at": "2024-07-23T13:53:38Z", "upvotes": 1, "comment_count": 2, - "resolved": true, - "labels": [ - "feat-prompt-management" - ], + "resolved": false, + "labels": [], "author": { - "login": "simicvm", - "html_url": "https://github.com/simicvm" + "login": "justingodden", + "html_url": "https://github.com/justingodden" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3525, - "title": "Applying database migrations failed. This is mostly caused by the database being unavailable", - "href": "https://github.com/orgs/langfuse/discussions/3525", - "created_at": "2024-09-29T11:14:04Z", + "number": 2710, + "title": "Support JSON messages in prompt management", + "href": "https://github.com/orgs/langfuse/discussions/2710", + "created_at": "2024-07-23T01:59:12Z", "upvotes": 1, - "comment_count": 3, + "comment_count": 0, "resolved": false, - "labels": [ - "self-hosting" - ], + "labels": [], "author": { - "login": "NanthagopalEswaran", - "html_url": "https://github.com/NanthagopalEswaran" + "login": "jasonslyvia", + "html_url": "https://github.com/jasonslyvia" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3521, - "title": "is it open source or not?", - "href": "https://github.com/orgs/langfuse/discussions/3521", - "created_at": "2024-09-27T22:07:52Z", - "upvotes": 1, - "comment_count": 1, - "resolved": true, + "number": 2704, + "title": "Deleting user's traces via API to be GDPR compliant", + "href": "https://github.com/orgs/langfuse/discussions/2704", + "created_at": "2024-07-22T12:03:22Z", + "upvotes": 8, + "comment_count": 2, + "resolved": false, "labels": [], "author": { - "login": "severfire", - "html_url": "https://github.com/severfire" + "login": "Stormyy", + "html_url": "https://github.com/Stormyy" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3520, - "title": "Langfuse not logging costs on Vertex AI gemini-1.5-flash-002.", - "href": "https://github.com/orgs/langfuse/discussions/3520", - "created_at": "2024-09-27T18:51:08Z", + "number": 2699, + "title": "Schemad or structured configuration for prompt", + "href": "https://github.com/orgs/langfuse/discussions/2699", + "created_at": "2024-07-22T02:29:13Z", "upvotes": 1, "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [ - "integraton-llamaindex" + "feat-prompt-management" ], "author": { - "login": "arthurbrenno", - "html_url": "https://github.com/arthurbrenno" + "login": "jasonslyvia", + "html_url": "https://github.com/jasonslyvia" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3503, - "title": "Not possible to delete prompts programmatically, (langfuse python library or api)", - "href": "https://github.com/orgs/langfuse/discussions/3503", - "created_at": "2024-09-27T12:33:52Z", - "upvotes": 2, - "comment_count": 2, - "resolved": true, - "labels": [ - "feat-prompt-management" - ], - "author": { - "login": "RealGammaNL", - "html_url": "https://github.com/RealGammaNL" - }, - "category": "Support" - }, - { - "number": 3496, - "title": "Unable to fetch prompts without production label", - "href": "https://github.com/orgs/langfuse/discussions/3496", - "created_at": "2024-09-27T03:27:52Z", + "number": 2697, + "title": "A transparent mode", + "href": "https://github.com/orgs/langfuse/discussions/2697", + "created_at": "2024-07-21T20:55:43Z", "upvotes": 1, "comment_count": 1, - "resolved": true, - "labels": [ - "feat-prompt-management" - ], + "resolved": false, + "labels": [], "author": { - "login": "chandel-aman", - "html_url": "https://github.com/chandel-aman" + "login": "emsi", + "html_url": "https://github.com/emsi" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3489, - "title": "Missing input/output on trace when using openai js integration", - "href": "https://github.com/orgs/langfuse/discussions/3489", - "created_at": "2024-09-26T15:36:06Z", - "upvotes": 1, - "comment_count": 2, + "number": 2684, + "title": "Langfuse batch prompts api should return prompt configs as well", + "href": "https://github.com/orgs/langfuse/discussions/2684", + "created_at": "2024-07-19T10:05:45Z", + "upvotes": 2, + "comment_count": 3, "resolved": false, "labels": [ - "integration-openai" + "feat-prompt-management", + "✅ Done" ], "author": { - "login": "dimitrydesilias", - "html_url": "https://github.com/dimitrydesilias" + "login": "ashutoshsaboo", + "html_url": "https://github.com/ashutoshsaboo" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3486, - "title": "Bind all multiple hierarchical call against session-id instead of opening multiple threads", - "href": "https://github.com/orgs/langfuse/discussions/3486", - "created_at": "2024-09-26T06:31:20Z", - "upvotes": 1, - "comment_count": 3, - "resolved": true, - "labels": [ - "integration-python-decorator" - ], + "number": 2669, + "title": "Visualisation of graph execution", + "href": "https://github.com/orgs/langfuse/discussions/2669", + "created_at": "2024-07-18T08:44:03Z", + "upvotes": 2, + "comment_count": 1, + "resolved": false, + "labels": [], "author": { - "login": "ajeet6261", - "html_url": "https://github.com/ajeet6261" + "login": "VMinB12", + "html_url": "https://github.com/VMinB12" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3485, - "title": "How to avoid memory leaks due to LangchainCallbackHandler while using userId and sessionId", - "href": "https://github.com/orgs/langfuse/discussions/3485", - "created_at": "2024-09-26T00:07:14Z", + "number": 2668, + "title": "I want to say something about user feedback", + "href": "https://github.com/orgs/langfuse/discussions/2668", + "created_at": "2024-07-18T07:57:50Z", "upvotes": 1, - "comment_count": 6, - "resolved": true, - "labels": [ - "integration-langchain", - "feat-users", - "feat-sessions" - ], + "comment_count": 1, + "resolved": false, + "labels": [], "author": { - "login": "Chengdyc", - "html_url": "https://github.com/Chengdyc" + "login": "cubxxw", + "html_url": "https://github.com/cubxxw" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3480, - "title": "How to provide a TLS Cert for PGSQL cloud connection in Langfuse docker container?", - "href": "https://github.com/orgs/langfuse/discussions/3480", - "created_at": "2024-09-25T20:44:17Z", + "number": 2664, + "title": "Prompts are supported for export", + "href": "https://github.com/orgs/langfuse/discussions/2664", + "created_at": "2024-07-18T00:43:12Z", "upvotes": 1, - "comment_count": 2, - "resolved": true, - "labels": [ - "self-hosting" - ], + "comment_count": 1, + "resolved": false, + "labels": [], "author": { - "login": "barvhaim", - "html_url": "https://github.com/barvhaim" + "login": "cubxxw", + "html_url": "https://github.com/cubxxw" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3477, - "title": "LangFuse Low Level SDK does not render images by passing the link", - "href": "https://github.com/orgs/langfuse/discussions/3477", - "created_at": "2024-09-25T15:15:54Z", + "number": 2653, + "title": "Web page request is a little slow, whether to consider using golang to reconstruct", + "href": "https://github.com/orgs/langfuse/discussions/2653", + "created_at": "2024-07-17T07:08:45Z", "upvotes": 1, "comment_count": 1, "resolved": false, - "labels": [ - "feat-multimodal" - ], + "labels": [], "author": { - "login": "VikramShenoy97", - "html_url": "https://github.com/VikramShenoy97" + "login": "cubxxw", + "html_url": "https://github.com/cubxxw" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3469, - "title": "raise exception when handle_span_events", - "href": "https://github.com/orgs/langfuse/discussions/3469", - "created_at": "2024-09-25T00:56:32Z", - "upvotes": 1, - "comment_count": 2, + "number": 2642, + "title": "Add ability to add name or label to a Langfuse API key", + "href": "https://github.com/orgs/langfuse/discussions/2642", + "created_at": "2024-07-16T17:08:42Z", + "upvotes": 5, + "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "nightosong", - "html_url": "https://github.com/nightosong" + "login": "agibralter", + "html_url": "https://github.com/agibralter" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3466, - "title": "How to get costs associated with an API call / user?", - "href": "https://github.com/orgs/langfuse/discussions/3466", - "created_at": "2024-09-24T19:33:56Z", - "upvotes": 1, - "comment_count": 1, - "resolved": true, + "number": 2625, + "title": "Track Openai Assistant API costs", + "href": "https://github.com/orgs/langfuse/discussions/2625", + "created_at": "2024-07-15T07:50:18Z", + "upvotes": 4, + "comment_count": 0, + "resolved": false, "labels": [ - "feat-users", - "feat-cost-tracking" + "integration-openai" ], "author": { - "login": "punkpeye", - "html_url": "https://github.com/punkpeye" + "login": "christos-bsq", + "html_url": "https://github.com/christos-bsq" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3465, - "title": "How to run langfuse locally while using a hosted database", - "href": "https://github.com/orgs/langfuse/discussions/3465", - "created_at": "2024-09-24T14:24:29Z", - "upvotes": 1, - "comment_count": 1, - "resolved": true, + "number": 2624, + "title": "Add tool / function calling and tool messages to Prompt Management", + "href": "https://github.com/orgs/langfuse/discussions/2624", + "created_at": "2024-07-15T06:49:50Z", + "upvotes": 3, + "comment_count": 0, + "resolved": false, "labels": [ - "self-hosting" + "feat-prompt-management" ], "author": { - "login": "wil0u", - "html_url": "https://github.com/wil0u" + "login": "eloko7", + "html_url": "https://github.com/eloko7" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3462, - "title": "how to set user_id or session_id in trace?", - "href": "https://github.com/orgs/langfuse/discussions/3462", - "created_at": "2024-09-24T08:34:59Z", + "number": 2622, + "title": "Inbuild langfuse tracing.", + "href": "https://github.com/orgs/langfuse/discussions/2622", + "created_at": "2024-07-13T10:39:13Z", "upvotes": 1, - "comment_count": 2, - "resolved": true, - "labels": [ - "integration-python-decorator", - "feat-users", - "feat-sessions" - ], + "comment_count": 0, + "resolved": false, + "labels": [], "author": { - "login": "yumc2573", - "html_url": "https://github.com/yumc2573" + "login": "rashid-globallogic", + "html_url": "https://github.com/rashid-globallogic" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3460, - "title": "Langfuse observation for openai embeddings method", - "href": "https://github.com/orgs/langfuse/discussions/3460", - "created_at": "2024-09-24T06:01:06Z", + "number": 2605, + "title": "DSPy tracing", + "href": "https://github.com/orgs/langfuse/discussions/2605", + "created_at": "2024-07-10T12:52:35Z", "upvotes": 2, - "comment_count": 2, - "resolved": true, + "comment_count": 1, + "resolved": false, "labels": [ - "integration-openai", - "integration-python-decorator", - "feat-cost-tracking" + "integrations", + "✅ Done", + "integration-dspy" ], "author": { - "login": "simrangulati-jktech", - "html_url": "https://github.com/simrangulati-jktech" + "login": "paolotamag", + "html_url": "https://github.com/paolotamag" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3446, - "title": "Right way to migrate langfuse deployed on K8s within an AWS account", - "href": "https://github.com/orgs/langfuse/discussions/3446", - "created_at": "2024-09-23T06:32:02Z", - "upvotes": 1, - "comment_count": 1, - "resolved": true, - "labels": [ - "self-hosting" + "number": 2586, + "title": "Feat: Ability to change curreny for model usage costs.", + "href": "https://github.com/orgs/langfuse/discussions/2586", + "created_at": "2024-07-09T15:40:22Z", + "upvotes": 2, + "comment_count": 1, + "resolved": false, + "labels": [ + "feat-cost-tracking" ], "author": { - "login": "nithin1995", - "html_url": "https://github.com/nithin1995" + "login": "jannikstdl", + "html_url": "https://github.com/jannikstdl" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3435, - "title": "Langfuse is inconsistently generating span latencies table in traces greater than 36K entiries", - "href": "https://github.com/orgs/langfuse/discussions/3435", - "created_at": "2024-09-20T18:54:28Z", - "upvotes": 1, - "comment_count": 3, - "resolved": true, + "number": 2578, + "title": "Conditional Trace Content/Message submission", + "href": "https://github.com/orgs/langfuse/discussions/2578", + "created_at": "2024-07-09T09:57:26Z", + "upvotes": 3, + "comment_count": 1, + "resolved": false, "labels": [], "author": { - "login": "databloom", - "html_url": "https://github.com/databloom" + "login": "simonwh", + "html_url": "https://github.com/simonwh" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3429, - "title": "Async version of Langfuse.get_prompt", - "href": "https://github.com/orgs/langfuse/discussions/3429", - "created_at": "2024-09-20T14:26:51Z", + "number": 2577, + "title": "Detailed and Interactive Plot Visualization like WandB", + "href": "https://github.com/orgs/langfuse/discussions/2577", + "created_at": "2024-07-09T09:19:38Z", "upvotes": 1, - "comment_count": 1, - "resolved": true, - "labels": [ - "feat-prompt-management" - ], + "comment_count": 3, + "resolved": false, + "labels": [], "author": { - "login": "antoniomdk", - "html_url": "https://github.com/antoniomdk" + "login": "yusuke-intern", + "html_url": "https://github.com/yusuke-intern" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3420, - "title": "Help setting up GCP host (cloudbuild or console)", - "href": "https://github.com/orgs/langfuse/discussions/3420", - "created_at": "2024-09-20T04:34:35Z", + "number": 2576, + "title": "Log prob on Langfuse", + "href": "https://github.com/orgs/langfuse/discussions/2576", + "created_at": "2024-07-09T09:16:23Z", "upvotes": 1, - "comment_count": 3, + "comment_count": 1, "resolved": false, "labels": [ - "self-hosting" + "integration-openai" ], "author": { - "login": "elliottower", - "html_url": "https://github.com/elliottower" + "login": "yusuke-intern", + "html_url": "https://github.com/yusuke-intern" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3410, - "title": "Configuring Evaluation with \"Correctness\" Template & Python Code Invocation", - "href": "https://github.com/orgs/langfuse/discussions/3410", - "created_at": "2024-09-19T09:44:42Z", + "number": 2573, + "title": "Prompt Cataloguing and prompt github", + "href": "https://github.com/orgs/langfuse/discussions/2573", + "created_at": "2024-07-08T20:05:23Z", "upvotes": 1, - "comment_count": 3, - "resolved": true, + "comment_count": 1, + "resolved": false, "labels": [ - "feat-scores" + "feat-prompt-management" ], "author": { - "login": "zoulou00", - "html_url": "https://github.com/zoulou00" + "login": "kunal2002", + "html_url": "https://github.com/kunal2002" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3406, - "title": "Module not found: Can't resolve '@langfuse'", - "href": "https://github.com/orgs/langfuse/discussions/3406", - "created_at": "2024-09-19T05:57:04Z", + "number": 2571, + "title": "If Data/Metadata given to Langfuse SDK that exceeds Langfuse's limit, log/throw/emit Stack Trace", + "href": "https://github.com/orgs/langfuse/discussions/2571", + "created_at": "2024-07-08T15:17:52Z", "upvotes": 1, "comment_count": 1, - "resolved": true, - "labels": [ - "self-hosting" - ], + "resolved": false, + "labels": [], "author": { - "login": "christosuster", - "html_url": "https://github.com/christosuster" + "login": "josiahbryan", + "html_url": "https://github.com/josiahbryan" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3397, - "title": "tokens and usage cost", - "href": "https://github.com/orgs/langfuse/discussions/3397", - "created_at": "2024-09-18T13:05:07Z", - "upvotes": 1, - "comment_count": 2, - "resolved": true, + "number": 2539, + "title": "Include request's `tools` configuration in OpenAI LLM calls", + "href": "https://github.com/orgs/langfuse/discussions/2539", + "created_at": "2024-07-04T11:39:43Z", + "upvotes": 2, + "comment_count": 1, + "resolved": false, "labels": [ - "feat-cost-tracking" + "integration-openai" ], "author": { - "login": "Karanaiinfox", - "html_url": "https://github.com/Karanaiinfox" + "login": "ricwo", + "html_url": "https://github.com/ricwo" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3393, - "title": "Self-Host evaluation feature", - "href": "https://github.com/orgs/langfuse/discussions/3393", - "created_at": "2024-09-18T07:55:30Z", + "number": 2534, + "title": "Simple graphs and metrics for scores and evaluations", + "href": "https://github.com/orgs/langfuse/discussions/2534", + "created_at": "2024-07-03T17:14:42Z", "upvotes": 2, - "comment_count": 2, - "resolved": true, - "labels": [ - "feat-evals" - ], + "comment_count": 1, + "resolved": false, + "labels": [], "author": { - "login": "MayankBitcot", - "html_url": "https://github.com/MayankBitcot" + "login": "justinwiley", + "html_url": "https://github.com/justinwiley" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3392, - "title": "not able to track entire request end to end in langchain + langfuse", - "href": "https://github.com/orgs/langfuse/discussions/3392", - "created_at": "2024-09-18T07:08:49Z", + "number": 2529, + "title": "feat: Track Exceptions while using Decorators", + "href": "https://github.com/orgs/langfuse/discussions/2529", + "created_at": "2024-07-03T11:40:19Z", "upvotes": 1, - "comment_count": 2, + "comment_count": 1, "resolved": false, "labels": [ - "integration-langchain" + "integration-python-decorator" ], "author": { - "login": "jaiswalvineet", - "html_url": "https://github.com/jaiswalvineet" + "login": "Manonandan", + "html_url": "https://github.com/Manonandan" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3379, - "title": "Feedback for “Langfuse Documentation”", - "href": "https://github.com/orgs/langfuse/discussions/3379", - "created_at": "2024-09-17T07:44:56Z", + "number": 2523, + "title": "Feature Request: Sidebar Display for Trace Details in Dataset Runs", + "href": "https://github.com/orgs/langfuse/discussions/2523", + "created_at": "2024-07-02T15:00:47Z", "upvotes": 1, "comment_count": 3, "resolved": false, - "labels": [], + "labels": [ + "feat-datasets" + ], "author": { - "login": "Preet1234-ux", - "html_url": "https://github.com/Preet1234-ux" + "login": "tuan3w", + "html_url": "https://github.com/tuan3w" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3364, - "title": "Hey want to change the Eval Templates name, can we do it from UI", - "href": "https://github.com/orgs/langfuse/discussions/3364", - "created_at": "2024-09-16T08:07:30Z", - "upvotes": 1, - "comment_count": 3, - "resolved": true, + "number": 2511, + "title": "Scoring dataset runs, e.g. precision, recall, f-value", + "href": "https://github.com/orgs/langfuse/discussions/2511", + "created_at": "2024-07-02T08:10:21Z", + "upvotes": 8, + "comment_count": 1, + "resolved": false, "labels": [ - "feat-evals" + "feat-datasets", + "feat-scores" ], "author": { - "login": "divyanshubhuta", - "html_url": "https://github.com/divyanshubhuta" + "login": "yusuke-intern", + "html_url": "https://github.com/yusuke-intern" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3344, - "title": "How to use langfuse with LangGraph Studio", - "href": "https://github.com/orgs/langfuse/discussions/3344", - "created_at": "2024-09-13T11:35:53Z", - "upvotes": 1, - "comment_count": 2, + "number": 2510, + "title": "How can we see traces of MULTIMODAL llms over langfuse ?", + "href": "https://github.com/orgs/langfuse/discussions/2510", + "created_at": "2024-07-02T05:15:59Z", + "upvotes": 4, + "comment_count": 3, "resolved": false, "labels": [ - "integration-langchain" + "✅ Done", + "feat-multimodal" ], "author": { - "login": "debkanchan", - "html_url": "https://github.com/debkanchan" + "login": "Aaryaveerkrishna23", + "html_url": "https://github.com/Aaryaveerkrishna23" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3321, - "title": "Session ids for Langserve", - "href": "https://github.com/orgs/langfuse/discussions/3321", - "created_at": "2024-09-11T22:40:01Z", - "upvotes": 1, - "comment_count": 1, + "number": 2509, + "title": "Support OpenTelemetry-based instrumentation (traceloop openllmetry and others)", + "href": "https://github.com/orgs/langfuse/discussions/2509", + "created_at": "2024-07-02T02:29:14Z", + "upvotes": 8, + "comment_count": 7, "resolved": false, "labels": [ - "integration-langchain", - "feat-sessions" + "integrations" ], "author": { - "login": "YaphetKG", - "html_url": "https://github.com/YaphetKG" + "login": "gyliu513", + "html_url": "https://github.com/gyliu513" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3313, - "title": "how to pass custom user managed model name to calculate the cost via langchain", - "href": "https://github.com/orgs/langfuse/discussions/3313", - "created_at": "2024-09-11T13:25:48Z", - "upvotes": 1, - "comment_count": 3, - "resolved": true, + "number": 2508, + "title": "Enable Langfuse can expose metrics in Prometheus format", + "href": "https://github.com/orgs/langfuse/discussions/2508", + "created_at": "2024-07-02T02:25:24Z", + "upvotes": 7, + "comment_count": 1, + "resolved": false, + "labels": [], + "author": { + "login": "gyliu513", + "html_url": "https://github.com/gyliu513" + }, + "category": "Ideas" + }, + { + "number": 2501, + "title": "Use Langchain LCEL + Langserve + run time user_id/session_id", + "href": "https://github.com/orgs/langfuse/discussions/2501", + "created_at": "2024-07-01T15:51:47Z", + "upvotes": 4, + "comment_count": 1, + "resolved": false, "labels": [ "integration-langchain", - "feat-cost-tracking" + "feat-users", + "feat-sessions" ], "author": { - "login": "jaiswalvineet", - "html_url": "https://github.com/jaiswalvineet" + "login": "ravediamond", + "html_url": "https://github.com/ravediamond" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3308, - "title": "Automated Prompt Management across Environments", - "href": "https://github.com/orgs/langfuse/discussions/3308", - "created_at": "2024-09-11T09:31:26Z", + "number": 2493, + "title": "Easy token price estimates for 400+ LLMs", + "href": "https://github.com/orgs/langfuse/discussions/2493", + "created_at": "2024-07-01T06:55:56Z", "upvotes": 1, "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [ - "feat-prompt-management" + "feat-cost-tracking" ], "author": { - "login": "jonnyforsterMSG", - "html_url": "https://github.com/jonnyforsterMSG" + "login": "derevyan", + "html_url": "https://github.com/derevyan" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3307, - "title": "DataSet Scores are not being displayed", - "href": "https://github.com/orgs/langfuse/discussions/3307", - "created_at": "2024-09-11T08:46:31Z", - "upvotes": 1, - "comment_count": 3, - "resolved": true, + "number": 2488, + "title": "Add contextmanager support to python decorator", + "href": "https://github.com/orgs/langfuse/discussions/2488", + "created_at": "2024-06-29T20:43:50Z", + "upvotes": 6, + "comment_count": 2, + "resolved": false, "labels": [ - "feat-datasets" + "integration-python-decorator" ], "author": { - "login": "MaxYaz", - "html_url": "https://github.com/MaxYaz" + "login": "yaniv-aknin", + "html_url": "https://github.com/yaniv-aknin" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3305, - "title": "bug: cost usage are not getting captured automatically from llm response", - "href": "https://github.com/orgs/langfuse/discussions/3305", - "created_at": "2024-09-11T05:02:03Z", - "upvotes": 1, - "comment_count": 2, + "number": 2469, + "title": "Adding userId / author to score (custom metadata)", + "href": "https://github.com/orgs/langfuse/discussions/2469", + "created_at": "2024-06-27T19:02:17Z", + "upvotes": 4, + "comment_count": 3, "resolved": false, - "labels": [], + "labels": [ + "feat-scores", + "feat-users" + ], "author": { - "login": "ajeet6261", - "html_url": "https://github.com/ajeet6261" + "login": "ivanviragine", + "html_url": "https://github.com/ivanviragine" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3271, - "title": "Understanding pricing model (self-hosting vs cloud serving) from security perspective", - "href": "https://github.com/orgs/langfuse/discussions/3271", - "created_at": "2024-09-09T14:07:32Z", + "number": 2456, + "title": "Export to CSV feature in the Traces", + "href": "https://github.com/orgs/langfuse/discussions/2456", + "created_at": "2024-06-27T11:02:47Z", "upvotes": 1, - "comment_count": 2, + "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "uahmad235", - "html_url": "https://github.com/uahmad235" + "login": "Aniket3007", + "html_url": "https://github.com/Aniket3007" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3267, - "title": "python decorator grouping in trace when using FastAPI Server Sent Events and Langraph + custom function", - "href": "https://github.com/orgs/langfuse/discussions/3267", - "created_at": "2024-09-09T11:10:00Z", + "number": 2454, + "title": "Expand all json-views of Dataset items etc.", + "href": "https://github.com/orgs/langfuse/discussions/2454", + "created_at": "2024-06-27T08:18:23Z", "upvotes": 1, - "comment_count": 4, + "comment_count": 1, "resolved": false, "labels": [ - "integration-langchain", - "integration-python-decorator" + "✅ Done", + "feat-datasets" ], "author": { - "login": "lixxvsky", - "html_url": "https://github.com/lixxvsky" + "login": "tkreuder", + "html_url": "https://github.com/tkreuder" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3254, - "title": "Vercel AI SDK and Svelte. How to push traces intermittently back to langfuse", - "href": "https://github.com/orgs/langfuse/discussions/3254", - "created_at": "2024-09-06T13:37:17Z", + "number": 2438, + "title": "Bedrock provider when using llamaindex", + "href": "https://github.com/orgs/langfuse/discussions/2438", + "created_at": "2024-06-26T11:00:54Z", "upvotes": 1, "comment_count": 1, "resolved": false, "labels": [ - "integration-vercel-ai-sdk" + "integraton-llamaindex", + "integration-amazon-bedrock" ], "author": { - "login": "oghaAI", - "html_url": "https://github.com/oghaAI" + "login": "mdciri", + "html_url": "https://github.com/mdciri" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3210, - "title": "When using callbacks, the langfuse_context.update_current_trace method does not function properly.", - "href": "https://github.com/orgs/langfuse/discussions/3210", - "created_at": "2024-09-03T10:29:29Z", - "upvotes": 1, - "comment_count": 4, + "number": 2437, + "title": "Project members management via public API", + "href": "https://github.com/orgs/langfuse/discussions/2437", + "created_at": "2024-06-26T10:03:50Z", + "upvotes": 3, + "comment_count": 1, "resolved": false, - "labels": [], + "labels": [ + "feat-rbac" + ], "author": { - "login": "hgliyuhao", - "html_url": "https://github.com/hgliyuhao" + "login": "tmarenko", + "html_url": "https://github.com/tmarenko" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3207, - "title": "change of data region", - "href": "https://github.com/orgs/langfuse/discussions/3207", - "created_at": "2024-09-03T06:06:48Z", + "number": 2402, + "title": "Add string data type in score config", + "href": "https://github.com/orgs/langfuse/discussions/2402", + "created_at": "2024-06-24T11:12:54Z", "upvotes": 1, "comment_count": 1, - "resolved": true, - "labels": [], + "resolved": false, + "labels": [ + "feat-scores" + ], "author": { - "login": "divyanshubhuta", - "html_url": "https://github.com/divyanshubhuta" + "login": "emfhal", + "html_url": "https://github.com/emfhal" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3191, - "title": "Evaluation config setup related query", - "href": "https://github.com/orgs/langfuse/discussions/3191", - "created_at": "2024-09-02T14:48:01Z", - "upvotes": 1, - "comment_count": 2, + "number": 2400, + "title": "Support for Custom Base URL Prefix in Langfuse (nextjs basepath)", + "href": "https://github.com/orgs/langfuse/discussions/2400", + "created_at": "2024-06-24T09:57:57Z", + "upvotes": 21, + "comment_count": 9, "resolved": false, - "labels": [], + "labels": [ + "✅ Done", + "self-hosting" + ], "author": { - "login": "divyanshubhuta", - "html_url": "https://github.com/divyanshubhuta" + "login": "databill86", + "html_url": "https://github.com/databill86" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3182, - "title": "What does `version` means when ingesting trace?", - "href": "https://github.com/orgs/langfuse/discussions/3182", - "created_at": "2024-08-31T20:44:26Z", + "number": 2397, + "title": "Add ARM64 docker image", + "href": "https://github.com/orgs/langfuse/discussions/2397", + "created_at": "2024-06-21T13:35:24Z", "upvotes": 1, "comment_count": 2, - "resolved": true, - "labels": [], + "resolved": false, + "labels": [ + "✅ Done", + "self-hosting" + ], "author": { - "login": "STRRL", - "html_url": "https://github.com/STRRL" + "login": "lucasiscovici", + "html_url": "https://github.com/lucasiscovici" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3176, - "title": "Get all the generations, events, etc. under Trace", - "href": "https://github.com/orgs/langfuse/discussions/3176", - "created_at": "2024-08-31T02:10:28Z", + "number": 2390, + "title": "Implement Duplication Check for Prompt Versions in Langfuse", + "href": "https://github.com/orgs/langfuse/discussions/2390", + "created_at": "2024-06-21T08:03:39Z", "upvotes": 1, "comment_count": 1, - "resolved": true, - "labels": [], - "author": { - "login": "bytecod3r", - "html_url": "https://github.com/bytecod3r" + "resolved": false, + "labels": [ + "feat-prompt-management" + ], + "author": { + "login": "sapipoZZZ", + "html_url": "https://github.com/sapipoZZZ" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3168, - "title": "usage pattern for new llamaindex integration", - "href": "https://github.com/orgs/langfuse/discussions/3168", - "created_at": "2024-08-30T20:23:17Z", - "upvotes": 1, - "comment_count": 2, - "resolved": true, + "number": 2378, + "title": "Number of times a prompt was fetched", + "href": "https://github.com/orgs/langfuse/discussions/2378", + "created_at": "2024-06-20T07:37:12Z", + "upvotes": 3, + "comment_count": 0, + "resolved": false, "labels": [ - "integraton-llamaindex" + "feat-prompt-management" ], "author": { - "login": "erik-squared", - "html_url": "https://github.com/erik-squared" + "login": "subhampasari", + "html_url": "https://github.com/subhampasari" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3132, - "title": "Tracing ChatGoogleGenerativeAI calls in langchain doesn't return usage metadata", - "href": "https://github.com/orgs/langfuse/discussions/3132", - "created_at": "2024-08-29T13:09:13Z", + "number": 2376, + "title": "Allow for custom OAuth scopes when self-hosing", + "href": "https://github.com/orgs/langfuse/discussions/2376", + "created_at": "2024-06-19T22:23:59Z", "upvotes": 1, "comment_count": 1, "resolved": false, "labels": [ - "integration-langchain" + "feat-auth" ], "author": { - "login": "NeerajG03", - "html_url": "https://github.com/NeerajG03" + "login": "0x77dev", + "html_url": "https://github.com/0x77dev" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3124, - "title": "Generation does not come under @observe trace", - "href": "https://github.com/orgs/langfuse/discussions/3124", - "created_at": "2024-08-29T00:28:14Z", + "number": 2371, + "title": "SBS Markdown mode for dataset runs", + "href": "https://github.com/orgs/langfuse/discussions/2371", + "created_at": "2024-06-19T14:57:32Z", "upvotes": 1, - "comment_count": 2, - "resolved": true, - "labels": [], + "comment_count": 1, + "resolved": false, + "labels": [ + "feat-datasets" + ], "author": { - "login": "SatheeshJM", - "html_url": "https://github.com/SatheeshJM" + "login": "pfurovYnP", + "html_url": "https://github.com/pfurovYnP" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3120, - "title": "Langfuse 2.74.0 integration with Flowise 2.0.5", - "href": "https://github.com/orgs/langfuse/discussions/3120", - "created_at": "2024-08-28T20:18:19Z", + "number": 2358, + "title": "Add view mode to Settings", + "href": "https://github.com/orgs/langfuse/discussions/2358", + "created_at": "2024-06-17T12:48:04Z", "upvotes": 1, - "comment_count": 2, + "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "harshad-c1", - "html_url": "https://github.com/harshad-c1" + "login": "emfhal", + "html_url": "https://github.com/emfhal" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3110, - "title": "How to set SMTP_CONNECTION_URL and reset password?", - "href": "https://github.com/orgs/langfuse/discussions/3110", - "created_at": "2024-08-28T10:05:06Z", - "upvotes": 1, - "comment_count": 2, - "resolved": true, - "labels": [], + "number": 2352, + "title": "Support SAML login protocol", + "href": "https://github.com/orgs/langfuse/discussions/2352", + "created_at": "2024-06-17T07:14:14Z", + "upvotes": 4, + "comment_count": 1, + "resolved": false, + "labels": [ + "self-hosting" + ], "author": { - "login": "zs856", - "html_url": "https://github.com/zs856" + "login": "emfhal", + "html_url": "https://github.com/emfhal" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3105, - "title": "Dockerfile of langfuse/langfuse:2 image", - "href": "https://github.com/orgs/langfuse/discussions/3105", - "created_at": "2024-08-28T00:13:57Z", - "upvotes": 1, + "number": 2343, + "title": "Bring Langfuse to Cloud Marketplaces", + "href": "https://github.com/orgs/langfuse/discussions/2343", + "created_at": "2024-06-14T06:41:18Z", + "upvotes": 2, "comment_count": 2, - "resolved": true, + "resolved": false, "labels": [ "self-hosting" ], "author": { - "login": "pparreira", - "html_url": "https://github.com/pparreira" + "login": "aiakubovich", + "html_url": "https://github.com/aiakubovich" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3100, - "title": "Time to first token is not populating in trace detail or generations view", - "href": "https://github.com/orgs/langfuse/discussions/3100", - "created_at": "2024-08-27T20:12:14Z", + "number": 2336, + "title": "Saving a filter", + "href": "https://github.com/orgs/langfuse/discussions/2336", + "created_at": "2024-06-13T09:15:59Z", "upvotes": 1, - "comment_count": 2, - "resolved": true, + "comment_count": 0, + "resolved": false, "labels": [], "author": { - "login": "databloom", - "html_url": "https://github.com/databloom" + "login": "avinash361-devrev", + "html_url": "https://github.com/avinash361-devrev" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3099, - "title": "Pulling prompts by tag?", - "href": "https://github.com/orgs/langfuse/discussions/3099", - "created_at": "2024-08-27T20:01:45Z", + "number": 2331, + "title": "Pendo integration", + "href": "https://github.com/orgs/langfuse/discussions/2331", + "created_at": "2024-06-12T18:22:32Z", "upvotes": 1, "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "mayajosifo", - "html_url": "https://github.com/mayajosifo" + "login": "mrunaaaaaal", + "html_url": "https://github.com/mrunaaaaaal" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3092, - "title": "Deployment into Azure", - "href": "https://github.com/orgs/langfuse/discussions/3092", - "created_at": "2024-08-27T10:05:32Z", + "number": 2282, + "title": "[Dashboard] Update Scores Chart to include number of scores on secondary y axis", + "href": "https://github.com/orgs/langfuse/discussions/2282", + "created_at": "2024-06-10T08:41:41Z", "upvotes": 1, - "comment_count": 2, - "resolved": true, + "comment_count": 1, + "resolved": false, "labels": [ - "self-hosting" + "feat-dashboard" ], "author": { - "login": "GaryFail", - "html_url": "https://github.com/GaryFail" + "login": "charlieviettq", + "html_url": "https://github.com/charlieviettq" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3079, - "title": "How to change the Level to ERROR when there is an error in SPAN?", - "href": "https://github.com/orgs/langfuse/discussions/3079", - "created_at": "2024-08-26T15:46:23Z", + "number": 2278, + "title": "Type of input and output of each span visible in the UI", + "href": "https://github.com/orgs/langfuse/discussions/2278", + "created_at": "2024-06-08T21:17:48Z", "upvotes": 3, - "comment_count": 2, - "resolved": true, - "labels": [ - "feat-log-levels" - ], - "author": { - "login": "kftam1994", - "html_url": "https://github.com/kftam1994" - }, - "category": "Support" - }, - { - "number": 3056, - "title": "Support for configuring SMTP email at project level", - "href": "https://github.com/orgs/langfuse/discussions/3056", - "created_at": "2024-08-23T14:41:45Z", - "upvotes": 1, "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [ - "self-hosting" + "ui" ], "author": { - "login": "rvndbalaji", - "html_url": "https://github.com/rvndbalaji" + "login": "arthurGrigo", + "html_url": "https://github.com/arthurGrigo" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3003, - "title": "Example GenAI bot with guardrails", - "href": "https://github.com/orgs/langfuse/discussions/3003", - "created_at": "2024-08-22T06:37:29Z", - "upvotes": 1, - "comment_count": 1, + "number": 2268, + "title": "Langfuse retention settings", + "href": "https://github.com/orgs/langfuse/discussions/2268", + "created_at": "2024-06-07T12:27:32Z", + "upvotes": 8, + "comment_count": 6, "resolved": false, "labels": [], "author": { - "login": "wangxj03", - "html_url": "https://github.com/wangxj03" + "login": "sudhanshu746", + "html_url": "https://github.com/sudhanshu746" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2990, - "title": "[Question] using langfuse with llama_index", - "href": "https://github.com/orgs/langfuse/discussions/2990", - "created_at": "2024-08-21T08:00:59Z", - "upvotes": 1, - "comment_count": 2, - "resolved": true, + "number": 2241, + "title": "Tracing integration with unify.ai", + "href": "https://github.com/orgs/langfuse/discussions/2241", + "created_at": "2024-06-05T15:17:00Z", + "upvotes": 5, + "comment_count": 3, + "resolved": false, "labels": [ - "integraton-llamaindex" + "integrations" ], "author": { - "login": "nightosong", - "html_url": "https://github.com/nightosong" + "login": "marcklingen", + "html_url": "https://github.com/marcklingen" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2988, - "title": "Non-langchain generation nested within LangGraph execution", - "href": "https://github.com/orgs/langfuse/discussions/2988", - "created_at": "2024-08-21T05:13:51Z", - "upvotes": 1, - "comment_count": 2, - "resolved": true, + "number": 2237, + "title": "Add Langchain Support to Prompt Management", + "href": "https://github.com/orgs/langfuse/discussions/2237", + "created_at": "2024-06-05T10:05:13Z", + "upvotes": 34, + "comment_count": 5, + "resolved": false, "labels": [ - "integration-langchain" + "feat-prompt-management", + "integration-langchain", + "✅ Done" ], "author": { - "login": "mrdrprofuroboros", - "html_url": "https://github.com/mrdrprofuroboros" + "login": "guidev", + "html_url": "https://github.com/guidev" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2983, - "title": "Tracing directly to queue instead of http api", - "href": "https://github.com/orgs/langfuse/discussions/2983", - "created_at": "2024-08-20T14:33:17Z", - "upvotes": 0, + "number": 2226, + "title": "Monitoring Costs and Traces generated by RAGAS", + "href": "https://github.com/orgs/langfuse/discussions/2226", + "created_at": "2024-06-04T09:35:25Z", + "upvotes": 4, "comment_count": 1, - "resolved": true, + "resolved": false, + "labels": [], + "author": { + "login": "paolotamag", + "html_url": "https://github.com/paolotamag" + }, + "category": "Ideas" + }, + { + "number": 2215, + "title": "new chart in dashboard for booleans metrics", + "href": "https://github.com/orgs/langfuse/discussions/2215", + "created_at": "2024-06-03T12:48:37Z", + "upvotes": 1, + "comment_count": 1, + "resolved": false, + "labels": [], + "author": { + "login": "paolotamag", + "html_url": "https://github.com/paolotamag" + }, + "category": "Ideas" + }, + { + "number": 2210, + "title": "MessagesPlaceholder in \"Create New Prompt\" panel", + "href": "https://github.com/orgs/langfuse/discussions/2210", + "created_at": "2024-06-03T06:58:45Z", + "upvotes": 6, + "comment_count": 2, + "resolved": false, "labels": [ - "self-hosting" + "feat-prompt-management" ], "author": { - "login": "exotikh3", - "html_url": "https://github.com/exotikh3" + "login": "NIKsun", + "html_url": "https://github.com/NIKsun" }, - "category": "Support" + "category": "Ideas" }, { - "number": 3901, - "title": "How to resolve memory leak when integrating Langfuse with LangChain", - "href": "https://github.com/orgs/langfuse/discussions/3901", - "created_at": "2024-08-20T03:14:45Z", + "number": 2209, + "title": "Enhance data in daily metrics api endpoint", + "href": "https://github.com/orgs/langfuse/discussions/2209", + "created_at": "2024-06-02T14:38:15Z", "upvotes": 1, - "comment_count": 6, - "resolved": true, + "comment_count": 1, + "resolved": false, "labels": [ - "integration-langchain" + "✅ Done", + "feat-api" ], "author": { - "login": "ivan-94", - "html_url": "https://github.com/ivan-94" + "login": "matthiaslau", + "html_url": "https://github.com/matthiaslau" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2959, - "title": "Duplicate usage data in observation api endpoint response", - "href": "https://github.com/orgs/langfuse/discussions/2959", - "created_at": "2024-08-16T10:57:00Z", - "upvotes": 1, - "comment_count": 2, - "resolved": true, - "labels": [], + "number": 2203, + "title": "Ability to add comments to versions of prompts (\"commit message\")", + "href": "https://github.com/orgs/langfuse/discussions/2203", + "created_at": "2024-06-01T13:13:27Z", + "upvotes": 4, + "comment_count": 4, + "resolved": false, + "labels": [ + "feat-prompt-management" + ], "author": { - "login": "jonnyforsterMSG", - "html_url": "https://github.com/jonnyforsterMSG" + "login": "ajram23", + "html_url": "https://github.com/ajram23" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2958, - "title": "Time to first token query", - "href": "https://github.com/orgs/langfuse/discussions/2958", - "created_at": "2024-08-16T10:08:42Z", - "upvotes": 1, - "comment_count": 2, + "number": 2195, + "title": "Timeline/graph visualization for traces", + "href": "https://github.com/orgs/langfuse/discussions/2195", + "created_at": "2024-05-31T08:18:11Z", + "upvotes": 7, + "comment_count": 4, "resolved": false, - "labels": [], + "labels": [ + "✅ Done" + ], "author": { - "login": "GaryFail", - "html_url": "https://github.com/GaryFail" + "login": "david1542", + "html_url": "https://github.com/david1542" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2952, - "title": "Locally hosted PrivateGPT + pgpt_python + Langfuse", - "href": "https://github.com/orgs/langfuse/discussions/2952", - "created_at": "2024-08-15T15:12:16Z", - "upvotes": 1, + "number": 2194, + "title": "Terraform Provider for internal Langfuse configuration", + "href": "https://github.com/orgs/langfuse/discussions/2194", + "created_at": "2024-05-31T06:23:11Z", + "upvotes": 2, "comment_count": 1, "resolved": false, - "labels": [], + "labels": [ + "self-hosting" + ], "author": { - "login": "qdingle404", - "html_url": "https://github.com/qdingle404" + "login": "mroedder-d7", + "html_url": "https://github.com/mroedder-d7" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2945, - "title": "Unit of token count for cost analysis", - "href": "https://github.com/orgs/langfuse/discussions/2945", - "created_at": "2024-08-15T09:33:59Z", + "number": 2184, + "title": "support query prompt via prompt id", + "href": "https://github.com/orgs/langfuse/discussions/2184", + "created_at": "2024-05-30T02:55:59Z", "upvotes": 1, "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [], "author": { - "login": "thomasjv799", - "html_url": "https://github.com/thomasjv799" + "login": "hu9029", + "html_url": "https://github.com/hu9029" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2933, - "title": "how to return trace_id in openai completion response when using langfuse as a proxy in litellm?", - "href": "https://github.com/orgs/langfuse/discussions/2933", - "created_at": "2024-08-14T07:52:30Z", + "number": 2181, + "title": "Support for SDK entry-point wrapper around async REST API client", + "href": "https://github.com/orgs/langfuse/discussions/2181", + "created_at": "2024-05-29T17:50:22Z", "upvotes": 1, - "comment_count": 2, - "resolved": true, - "labels": [ - "integration-litellm" - ], + "comment_count": 0, + "resolved": false, + "labels": [], "author": { - "login": "octadion", - "html_url": "https://github.com/octadion" + "login": "blazing-gig", + "html_url": "https://github.com/blazing-gig" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2927, - "title": "Span created with Langchain not showing up in traces.", - "href": "https://github.com/orgs/langfuse/discussions/2927", - "created_at": "2024-08-13T20:32:35Z", - "upvotes": 1, - "comment_count": 2, - "resolved": true, + "number": 2176, + "title": "Support querying Users (GET) to support analytics pipeline solutions", + "href": "https://github.com/orgs/langfuse/discussions/2176", + "created_at": "2024-05-29T02:42:13Z", + "upvotes": 2, + "comment_count": 1, + "resolved": false, "labels": [ - "integration-langchain" + "feat-users" ], "author": { - "login": "HardKothari", - "html_url": "https://github.com/HardKothari" + "login": "Tjmstudios", + "html_url": "https://github.com/Tjmstudios" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2909, - "title": "Change port database in file docker-compose.yml", - "href": "https://github.com/orgs/langfuse/discussions/2909", - "created_at": "2024-08-13T08:05:37Z", - "upvotes": 1, + "number": 2161, + "title": "Prompt version only create when different", + "href": "https://github.com/orgs/langfuse/discussions/2161", + "created_at": "2024-05-27T23:47:21Z", + "upvotes": 4, "comment_count": 2, - "resolved": true, + "resolved": false, "labels": [ - "self-hosting" + "feat-prompt-management" ], "author": { - "login": "hungvipqt15", - "html_url": "https://github.com/hungvipqt15" + "login": "brightsparc", + "html_url": "https://github.com/brightsparc" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2907, - "title": "Change port connection in docker compose", - "href": "https://github.com/orgs/langfuse/discussions/2907", - "created_at": "2024-08-13T06:40:30Z", - "upvotes": 1, + "number": 2140, + "title": "clickhouse support", + "href": "https://github.com/orgs/langfuse/discussions/2140", + "created_at": "2024-05-24T15:21:14Z", + "upvotes": 2, "comment_count": 1, "resolved": false, "labels": [ - "self-hosting" + "work-in-progress", + "performance" ], "author": { - "login": "hungvipqt15", - "html_url": "https://github.com/hungvipqt15" - }, - "category": "Support" - }, - { - "number": 2904, - "title": "How to append current trace when calling function second time?", - "href": "https://github.com/orgs/langfuse/discussions/2904", - "created_at": "2024-08-12T15:12:22Z", - "upvotes": 2, - "comment_count": 2, - "resolved": true, - "labels": [ - "integration-python-decorator" - ], - "author": { - "login": "nathan-vo810", - "html_url": "https://github.com/nathan-vo810" + "login": "newcworld", + "html_url": "https://github.com/newcworld" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2895, - "title": "How to update an event", - "href": "https://github.com/orgs/langfuse/discussions/2895", - "created_at": "2024-08-11T16:51:18Z", - "upvotes": 1, + "number": 2131, + "title": "Export to data warehouses (BigQuery etc)", + "href": "https://github.com/orgs/langfuse/discussions/2131", + "created_at": "2024-05-23T15:52:18Z", + "upvotes": 18, "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [], "author": { - "login": "bytecod3r", - "html_url": "https://github.com/bytecod3r" + "login": "rohan-mehta", + "html_url": "https://github.com/rohan-mehta" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2888, - "title": "How to change the level of a trace?", - "href": "https://github.com/orgs/langfuse/discussions/2888", - "created_at": "2024-08-09T14:35:34Z", - "upvotes": 3, - "comment_count": 2, - "resolved": true, + "number": 2124, + "title": "Proposal: Add Support for Uploading Dataset Items via UI", + "href": "https://github.com/orgs/langfuse/discussions/2124", + "created_at": "2024-05-22T10:58:04Z", + "upvotes": 5, + "comment_count": 1, + "resolved": false, "labels": [ - "feat-log-levels" + "feat-datasets" ], "author": { - "login": "ldbolanos", - "html_url": "https://github.com/ldbolanos" + "login": "vaddenz", + "html_url": "https://github.com/vaddenz" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2879, - "title": "ERROR:langfuse:status_code: 404, body: {'message': 'Trace not found within authorized project', 'error': 'LangfuseNotFoundError'}", - "href": "https://github.com/orgs/langfuse/discussions/2879", - "created_at": "2024-08-09T09:31:33Z", + "number": 2119, + "title": "Phidata support", + "href": "https://github.com/orgs/langfuse/discussions/2119", + "created_at": "2024-05-21T14:20:09Z", "upvotes": 1, - "comment_count": 3, + "comment_count": 1, "resolved": false, - "labels": [], + "labels": [ + "integrations" + ], "author": { - "login": "nithin1995", - "html_url": "https://github.com/nithin1995" + "login": "michaelpoluektov", + "html_url": "https://github.com/michaelpoluektov" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2874, - "title": "Does langfuse trace parallel api calls? I tried a sample with parallel call but it didn't traced.", - "href": "https://github.com/orgs/langfuse/discussions/2874", - "created_at": "2024-08-09T05:09:26Z", - "upvotes": 1, - "comment_count": 4, + "number": 2104, + "title": "Feature Request: Tracing Sampling Rate Configuration for Langfuse", + "href": "https://github.com/orgs/langfuse/discussions/2104", + "created_at": "2024-05-20T16:23:05Z", + "upvotes": 2, + "comment_count": 1, "resolved": false, - "labels": [], + "labels": [ + "✅ Done" + ], "author": { - "login": "ksundarraj-c-rpx", - "html_url": "https://github.com/ksundarraj-c-rpx" + "login": "himansrivastava", + "html_url": "https://github.com/himansrivastava" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2871, - "title": "Self-hosted Langfuse running as a Google cloud service not showing traces", - "href": "https://github.com/orgs/langfuse/discussions/2871", - "created_at": "2024-08-08T13:40:34Z", + "number": 2101, + "title": "feat: Adding AWS Cognito Authentication", + "href": "https://github.com/orgs/langfuse/discussions/2101", + "created_at": "2024-05-20T14:30:32Z", "upvotes": 1, "comment_count": 2, - "resolved": true, + "resolved": false, "labels": [ - "🐞❔ unconfirmed bug" + "✅ Done", + "feat-auth" ], "author": { - "login": "SectumPsempra", - "html_url": "https://github.com/SectumPsempra" + "login": "Shekswess", + "html_url": "https://github.com/Shekswess" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2867, - "title": "Using the API to record traces from multiple platforms?", - "href": "https://github.com/orgs/langfuse/discussions/2867", - "created_at": "2024-08-08T13:15:49Z", - "upvotes": 1, - "comment_count": 1, + "number": 2097, + "title": "Markdown Rendering Option", + "href": "https://github.com/orgs/langfuse/discussions/2097", + "created_at": "2024-05-18T16:58:37Z", + "upvotes": 4, + "comment_count": 4, "resolved": false, - "labels": [], + "labels": [ + "✅ Done" + ], "author": { - "login": "appliraz", - "html_url": "https://github.com/appliraz" + "login": "hburrichter", + "html_url": "https://github.com/hburrichter" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2858, - "title": "Langfuse observeOpenAI not logging generations using new zodResponseFormat.", - "href": "https://github.com/orgs/langfuse/discussions/2858", - "created_at": "2024-08-07T21:45:41Z", + "number": 2081, + "title": "feat: inject langfuse info into langchain metadata", + "href": "https://github.com/orgs/langfuse/discussions/2081", + "created_at": "2024-05-16T20:43:41Z", "upvotes": 1, - "comment_count": 3, - "resolved": true, - "labels": [], + "comment_count": 0, + "resolved": false, + "labels": [ + "integration-langchain" + ], "author": { - "login": "fabstu", - "html_url": "https://github.com/fabstu" + "login": "benobytes", + "html_url": "https://github.com/benobytes" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2852, - "title": "How run Langfuse evaluations over specifics spans?", - "href": "https://github.com/orgs/langfuse/discussions/2852", - "created_at": "2024-08-07T13:40:02Z", - "upvotes": 1, + "number": 2072, + "title": "Adding prompt tags via Python SDK (or other code based interactions)", + "href": "https://github.com/orgs/langfuse/discussions/2072", + "created_at": "2024-05-16T09:46:20Z", + "upvotes": 5, "comment_count": 2, - "resolved": true, - "labels": [ - "integration-langchain", - "feat-evals" - ], + "resolved": false, + "labels": [], "author": { - "login": "joaoCrulhas", - "html_url": "https://github.com/joaoCrulhas" + "login": "simon-hiel", + "html_url": "https://github.com/simon-hiel" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2844, - "title": "LangFuse not logging LlamaIndex events", - "href": "https://github.com/orgs/langfuse/discussions/2844", - "created_at": "2024-08-07T10:46:19Z", - "upvotes": 2, - "comment_count": 3, + "number": 2071, + "title": "Save playground conversation to a dataset", + "href": "https://github.com/orgs/langfuse/discussions/2071", + "created_at": "2024-05-16T09:24:29Z", + "upvotes": 3, + "comment_count": 0, "resolved": false, "labels": [ - "integraton-llamaindex" + "feat-datasets", + "feat-playground" ], "author": { - "login": "adieyal", - "html_url": "https://github.com/adieyal" + "login": "bderenzi", + "html_url": "https://github.com/bderenzi" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2830, - "title": "UpdateRoot in the callback handler seems not work", - "href": "https://github.com/orgs/langfuse/discussions/2830", - "created_at": "2024-08-06T08:58:25Z", - "upvotes": 1, + "number": 2065, + "title": "Support multiple prompts attached to a generation.", + "href": "https://github.com/orgs/langfuse/discussions/2065", + "created_at": "2024-05-15T22:16:35Z", + "upvotes": 3, "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [], "author": { - "login": "joaoCrulhas", - "html_url": "https://github.com/joaoCrulhas" + "login": "jansenderr", + "html_url": "https://github.com/jansenderr" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2828, - "title": "Issue: Integration of Langfuse with DSPy Framework - Zero Values for Cost and Token Usage", - "href": "https://github.com/orgs/langfuse/discussions/2828", - "created_at": "2024-08-06T05:55:30Z", + "number": 2064, + "title": "Show explicit error when viewing a project that doesn't exist", + "href": "https://github.com/orgs/langfuse/discussions/2064", + "created_at": "2024-05-15T16:49:32Z", "upvotes": 1, - "comment_count": 3, - "resolved": true, - "labels": [ - "integration-dspy" - ], + "comment_count": 0, + "resolved": false, + "labels": [], "author": { - "login": "mahitha-29", - "html_url": "https://github.com/mahitha-29" + "login": "backmask", + "html_url": "https://github.com/backmask" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2817, - "title": "Praise for the Langfuse library! 🚀", - "href": "https://github.com/orgs/langfuse/discussions/2817", - "created_at": "2024-08-03T10:53:41Z", - "upvotes": 2, - "comment_count": 1, - "resolved": true, + "number": 2045, + "title": "Requesting official support OpenAI's new gpt-4o model", + "href": "https://github.com/orgs/langfuse/discussions/2045", + "created_at": "2024-05-13T21:37:38Z", + "upvotes": 3, + "comment_count": 5, + "resolved": false, + "labels": [ + "integration-openai", + "✅ Done", + "feat-cost-tracking" + ], + "author": { + "login": "varenc", + "html_url": "https://github.com/varenc" + }, + "category": "Ideas" + }, + { + "number": 2043, + "title": "Support instrumentation through openllmetry", + "href": "https://github.com/orgs/langfuse/discussions/2043", + "created_at": "2024-05-13T19:27:59Z", + "upvotes": 8, + "comment_count": 1, + "resolved": false, "labels": [], "author": { - "login": "ttamg", - "html_url": "https://github.com/ttamg" + "login": "baggiponte", + "html_url": "https://github.com/baggiponte" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2809, - "title": "No space left on device db error", - "href": "https://github.com/orgs/langfuse/discussions/2809", - "created_at": "2024-08-01T15:10:52Z", - "upvotes": 1, - "comment_count": 2, - "resolved": true, - "labels": [ - "self-hosting" - ], + "number": 2039, + "title": "Introduce the concept of \"sub-prompt\" to improve prompt reusability", + "href": "https://github.com/orgs/langfuse/discussions/2039", + "created_at": "2024-05-13T10:14:44Z", + "upvotes": 3, + "comment_count": 1, + "resolved": false, + "labels": [], "author": { - "login": "nithin1995", - "html_url": "https://github.com/nithin1995" + "login": "khaelys", + "html_url": "https://github.com/khaelys" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2808, - "title": "Dynamic prompt generation", - "href": "https://github.com/orgs/langfuse/discussions/2808", - "created_at": "2024-08-01T14:41:48Z", + "number": 2030, + "title": "Add number of 'successful request' to traces list view", + "href": "https://github.com/orgs/langfuse/discussions/2030", + "created_at": "2024-05-09T23:25:27Z", "upvotes": 1, - "comment_count": 2, - "resolved": true, - "labels": [ - "feat-prompt-management" - ], + "comment_count": 1, + "resolved": false, + "labels": [], "author": { - "login": "LLazzar", - "html_url": "https://github.com/LLazzar" + "login": "arthurGrigo", + "html_url": "https://github.com/arthurGrigo" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2801, - "title": "Unable to update generation span after LLM invocation", - "href": "https://github.com/orgs/langfuse/discussions/2801", - "created_at": "2024-08-01T03:23:15Z", + "number": 2021, + "title": "Ask for a import/export on prompt management page", + "href": "https://github.com/orgs/langfuse/discussions/2021", + "created_at": "2024-05-09T03:17:50Z", "upvotes": 1, "comment_count": 2, - "resolved": true, - "labels": [ - "integration-langchain" - ], + "resolved": false, + "labels": [], "author": { - "login": "Heucles", - "html_url": "https://github.com/Heucles" + "login": "ShaunDeng", + "html_url": "https://github.com/ShaunDeng" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2787, - "title": "Self-hosted (Railway) Authorization error (401) while connecting to host", - "href": "https://github.com/orgs/langfuse/discussions/2787", - "created_at": "2024-07-30T19:23:59Z", + "number": 2006, + "title": "Gitlab Auth Provider", + "href": "https://github.com/orgs/langfuse/discussions/2006", + "created_at": "2024-05-08T10:12:51Z", "upvotes": 1, - "comment_count": 3, + "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "vishnumallela", - "html_url": "https://github.com/vishnumallela" + "login": "jsirex", + "html_url": "https://github.com/jsirex" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2769, - "title": "Continue trace on Celery worker with observe decorator", - "href": "https://github.com/orgs/langfuse/discussions/2769", - "created_at": "2024-07-27T18:23:13Z", - "upvotes": 1, - "comment_count": 2, - "resolved": true, + "number": 1990, + "title": "Add batch actions to traces", + "href": "https://github.com/orgs/langfuse/discussions/1990", + "created_at": "2024-05-07T09:37:42Z", + "upvotes": 3, + "comment_count": 0, + "resolved": false, + "labels": [], + "author": { + "login": "nimbusaeta", + "html_url": "https://github.com/nimbusaeta" + }, + "category": "Ideas" + }, + { + "number": 1988, + "title": "Upload datasets via UI", + "href": "https://github.com/orgs/langfuse/discussions/1988", + "created_at": "2024-05-06T20:25:20Z", + "upvotes": 9, + "comment_count": 1, + "resolved": false, "labels": [ - "integration-python-decorator" + "feat-datasets" ], "author": { - "login": "artefactop", - "html_url": "https://github.com/artefactop" + "login": "assafweinberg", + "html_url": "https://github.com/assafweinberg" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2768, - "title": "How do i register the token count and cost for observe decorator", - "href": "https://github.com/orgs/langfuse/discussions/2768", - "created_at": "2024-07-27T14:47:58Z", - "upvotes": 1, + "number": 1987, + "title": "API/UI to delete dataset items and runs", + "href": "https://github.com/orgs/langfuse/discussions/1987", + "created_at": "2024-05-06T17:13:16Z", + "upvotes": 24, "comment_count": 2, - "resolved": true, + "resolved": false, "labels": [ - "integration-python-decorator", - "feat-cost-tracking" + "feat-datasets" ], "author": { - "login": "yevkim", - "html_url": "https://github.com/yevkim" + "login": "tomek82", + "html_url": "https://github.com/tomek82" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2767, - "title": "Missing evaluation metrics", - "href": "https://github.com/orgs/langfuse/discussions/2767", - "created_at": "2024-07-27T05:07:56Z", + "number": 1963, + "title": "Is it possible integrate Langfuse with Microsoft Copilot Studio?", + "href": "https://github.com/orgs/langfuse/discussions/1963", + "created_at": "2024-05-03T03:33:22Z", "upvotes": 1, - "comment_count": 2, - "resolved": true, + "comment_count": 0, + "resolved": false, "labels": [], "author": { - "login": "MayankBitcot", - "html_url": "https://github.com/MayankBitcot" + "login": "aiakubovich", + "html_url": "https://github.com/aiakubovich" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2736, - "title": "Ability to upload Cost and Usage metrics in Langfuse for Gemini Models from LlamaIndex", - "href": "https://github.com/orgs/langfuse/discussions/2736", - "created_at": "2024-07-25T06:17:14Z", - "upvotes": 2, - "comment_count": 1, + "number": 2055, + "title": "Openai: Support IO capture when streaming function / tool call", + "href": "https://github.com/orgs/langfuse/discussions/2055", + "created_at": "2024-05-01T15:25:15Z", + "upvotes": 16, + "comment_count": 7, "resolved": false, "labels": [ - "integraton-llamaindex", - "feat-cost-tracking" + "sdk-python", + "integration-openai", + "✅ Done" ], "author": { - "login": "ansu86d", - "html_url": "https://github.com/ansu86d" + "login": "DanrForetellix", + "html_url": "https://github.com/DanrForetellix" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2735, - "title": "Deployment on K8s", - "href": "https://github.com/orgs/langfuse/discussions/2735", - "created_at": "2024-07-25T04:38:19Z", + "number": 1941, + "title": "Looking into allowing more customization of the table", + "href": "https://github.com/orgs/langfuse/discussions/1941", + "created_at": "2024-05-01T14:47:32Z", "upvotes": 1, - "comment_count": 2, - "resolved": true, + "comment_count": 1, + "resolved": false, "labels": [], "author": { - "login": "nithin1995", - "html_url": "https://github.com/nithin1995" + "login": "Mohamed-Ayaan358", + "html_url": "https://github.com/Mohamed-Ayaan358" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2718, - "title": "How to ignore inputs when using LangChain?", - "href": "https://github.com/orgs/langfuse/discussions/2718", - "created_at": "2024-07-23T10:58:07Z", + "number": 1916, + "title": "Langchain integration Improvements", + "href": "https://github.com/orgs/langfuse/discussions/1916", + "created_at": "2024-04-30T13:23:19Z", "upvotes": 2, - "comment_count": 3, + "comment_count": 2, "resolved": false, "labels": [ - "integration-langchain" + "integration-langchain", + "✅ Done" ], "author": { - "login": "justingodden", - "html_url": "https://github.com/justingodden" + "login": "ajram23", + "html_url": "https://github.com/ajram23" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2716, - "title": "Langgraph with langfuse", - "href": "https://github.com/orgs/langfuse/discussions/2716", - "created_at": "2024-07-23T09:12:20Z", - "upvotes": 1, - "comment_count": 4, - "resolved": true, + "number": 1904, + "title": "Retrieve prompts based on versioning rather than times for caching", + "href": "https://github.com/orgs/langfuse/discussions/1904", + "created_at": "2024-04-29T14:04:27Z", + "upvotes": 1, + "comment_count": 2, + "resolved": false, "labels": [ - "integration-langchain" + "feat-prompt-management" ], "author": { - "login": "MayankBitcot", - "html_url": "https://github.com/MayankBitcot" + "login": "ajram23", + "html_url": "https://github.com/ajram23" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2714, - "title": "Using langfuse without saving promps", - "href": "https://github.com/orgs/langfuse/discussions/2714", - "created_at": "2024-07-23T08:44:44Z", - "upvotes": 1, - "comment_count": 2, - "resolved": true, - "labels": [], + "number": 1896, + "title": "Delete Session", + "href": "https://github.com/orgs/langfuse/discussions/1896", + "created_at": "2024-04-29T08:01:05Z", + "upvotes": 15, + "comment_count": 0, + "resolved": false, + "labels": [ + "feat-sessions" + ], "author": { - "login": "molntamas", - "html_url": "https://github.com/molntamas" + "login": "rohan-gt", + "html_url": "https://github.com/rohan-gt" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2712, - "title": "cannot execute INSERT in a read-only transaction", - "href": "https://github.com/orgs/langfuse/discussions/2712", - "created_at": "2024-07-23T07:49:30Z", - "upvotes": 1, - "comment_count": 2, + "number": 1895, + "title": "linking prompts with tracing in langchain integration", + "href": "https://github.com/orgs/langfuse/discussions/1895", + "created_at": "2024-04-28T13:13:08Z", + "upvotes": 10, + "comment_count": 3, "resolved": false, "labels": [ - "self-hosting" + "feat-prompt-management", + "integration-langchain", + "✅ Done" ], "author": { - "login": "damianradowiecki", - "html_url": "https://github.com/damianradowiecki" + "login": "SatheeshJM", + "html_url": "https://github.com/SatheeshJM" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2706, - "title": "Disable tracing of input and output for nested elements with in a chain.", - "href": "https://github.com/orgs/langfuse/discussions/2706", - "created_at": "2024-07-22T16:17:53Z", - "upvotes": 2, + "number": 1867, + "title": "Add integration with evaluation frameworks", + "href": "https://github.com/orgs/langfuse/discussions/1867", + "created_at": "2024-04-25T23:09:03Z", + "upvotes": 1, "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "jaitd", - "html_url": "https://github.com/jaitd" + "login": "johnnydevriese", + "html_url": "https://github.com/johnnydevriese" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2705, - "title": "Support for adding traces/observations/sessions/events/spans/generations related logging to LF via API", - "href": "https://github.com/orgs/langfuse/discussions/2705", - "created_at": "2024-07-22T12:57:05Z", + "number": 1862, + "title": "Support Linking Execution Trace to DatasetItem without Fetching Entire Dataset", + "href": "https://github.com/orgs/langfuse/discussions/1862", + "created_at": "2024-04-25T18:57:08Z", "upvotes": 1, "comment_count": 1, - "resolved": true, - "labels": [], + "resolved": false, + "labels": [ + "feat-datasets" + ], "author": { - "login": "ashutoshsaboo", - "html_url": "https://github.com/ashutoshsaboo" + "login": "sfarthin", + "html_url": "https://github.com/sfarthin" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2671, - "title": "Cannot connect prompt to trace when using Langchain AzureChatOpenai", - "href": "https://github.com/orgs/langfuse/discussions/2671", - "created_at": "2024-07-18T13:30:14Z", + "number": 1858, + "title": "Platform User roles to allow or disable project creation", + "href": "https://github.com/orgs/langfuse/discussions/1858", + "created_at": "2024-04-25T16:00:12Z", "upvotes": 1, "comment_count": 2, "resolved": false, - "labels": [], - "author": { - "login": "nihadazimli", - "html_url": "https://github.com/nihadazimli" - }, - "category": "Support" - }, - { - "number": 2658, - "title": "how to customize trace id when using callback handler in langchain integration", - "href": "https://github.com/orgs/langfuse/discussions/2658", - "created_at": "2024-07-17T13:38:18Z", - "upvotes": 3, - "comment_count": 2, - "resolved": true, "labels": [ - "integration-langchain" + "✅ Done", + "feat-rbac" ], "author": { - "login": "shawnzhu", - "html_url": "https://github.com/shawnzhu" + "login": "JMcGenn", + "html_url": "https://github.com/JMcGenn" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2640, - "title": "Adding Scores to langfuse with dify", - "href": "https://github.com/orgs/langfuse/discussions/2640", - "created_at": "2024-07-16T16:00:11Z", - "upvotes": 2, + "number": 1851, + "title": "[oauth] Keycloak provider support", + "href": "https://github.com/orgs/langfuse/discussions/1851", + "created_at": "2024-04-25T12:39:26Z", + "upvotes": 7, "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [ - "integration-dify" + "self-hosting" ], "author": { - "login": "shaquelsamir", - "html_url": "https://github.com/shaquelsamir" + "login": "9teen90nine", + "html_url": "https://github.com/9teen90nine" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2619, - "title": "How to add a function to current trace instead of seperate since it's outside lcel chain?", - "href": "https://github.com/orgs/langfuse/discussions/2619", - "created_at": "2024-07-12T07:08:47Z", + "number": 1843, + "title": "Support GigaChat model from LangChain", + "href": "https://github.com/orgs/langfuse/discussions/1843", + "created_at": "2024-04-25T09:24:07Z", "upvotes": 1, - "comment_count": 1, - "resolved": true, + "comment_count": 0, + "resolved": false, "labels": [ "integration-langchain" ], "author": { - "login": "sarim2000", - "html_url": "https://github.com/sarim2000" + "login": "Rai220", + "html_url": "https://github.com/Rai220" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2616, - "title": "Weird Output for scores when using fetch_traces()", - "href": "https://github.com/orgs/langfuse/discussions/2616", - "created_at": "2024-07-11T12:46:23Z", + "number": 1830, + "title": "Decorator should also be able to return JSON or Dictionary object", + "href": "https://github.com/orgs/langfuse/discussions/1830", + "created_at": "2024-04-24T09:41:39Z", "upvotes": 1, "comment_count": 2, "resolved": false, "labels": [], "author": { - "login": "kevinpkaria", - "html_url": "https://github.com/kevinpkaria" + "login": "nathan-vo810", + "html_url": "https://github.com/nathan-vo810" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2600, - "title": "Add input Price and Output price for gemini-1.5-pro and gemini-1.5-flash in Models", - "href": "https://github.com/orgs/langfuse/discussions/2600", - "created_at": "2024-07-10T09:52:23Z", - "upvotes": 4, - "comment_count": 1, + "number": 1826, + "title": "Having a session_with_user client", + "href": "https://github.com/orgs/langfuse/discussions/1826", + "created_at": "2024-04-24T08:31:05Z", + "upvotes": 1, + "comment_count": 0, "resolved": false, "labels": [], "author": { - "login": "fjeanchar", - "html_url": "https://github.com/fjeanchar" + "login": "rtzy7", + "html_url": "https://github.com/rtzy7" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2599, - "title": "Overall projects dashboard?", - "href": "https://github.com/orgs/langfuse/discussions/2599", - "created_at": "2024-07-10T09:09:02Z", + "number": 1823, + "title": "Change `/api/chatCompletion` to be a standard OpenAI proxy on `/api/v1/chat/completions`?", + "href": "https://github.com/orgs/langfuse/discussions/1823", + "created_at": "2024-04-23T19:48:34Z", "upvotes": 1, "comment_count": 1, - "resolved": true, - "labels": [ - "feat-dashboard" - ], + "resolved": false, + "labels": [], "author": { - "login": "justingodden", - "html_url": "https://github.com/justingodden" + "login": "Manouchehri", + "html_url": "https://github.com/Manouchehri" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2597, - "title": "[Errno 111] Connection refused when connecting to langfuse within docker compose", - "href": "https://github.com/orgs/langfuse/discussions/2597", - "created_at": "2024-07-10T09:00:34Z", + "number": 1820, + "title": "Auth using Microsoft Entra ID", + "href": "https://github.com/orgs/langfuse/discussions/1820", + "created_at": "2024-04-23T18:32:42Z", "upvotes": 1, - "comment_count": 1, - "resolved": true, + "comment_count": 2, + "resolved": false, "labels": [ + "✅ Done", "self-hosting" ], "author": { - "login": "bspetrov", - "html_url": "https://github.com/bspetrov" + "login": "Stadly", + "html_url": "https://github.com/Stadly" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2595, - "title": "Migrate a local deployment of langfuse from one computer to another", - "href": "https://github.com/orgs/langfuse/discussions/2595", - "created_at": "2024-07-10T07:46:04Z", - "upvotes": 1, + "number": 1816, + "title": "Add a metrics endpoint for Prometheus", + "href": "https://github.com/orgs/langfuse/discussions/1816", + "created_at": "2024-04-23T14:33:38Z", + "upvotes": 5, "comment_count": 2, - "resolved": true, - "labels": [ - "self-hosting" - ], + "resolved": false, + "labels": [], "author": { - "login": "nithin1995", - "html_url": "https://github.com/nithin1995" + "login": "nolwennz", + "html_url": "https://github.com/nolwennz" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2590, - "title": "Experiments running but inputs and outputs of LLM are not linked to dashboard", - "href": "https://github.com/orgs/langfuse/discussions/2590", - "created_at": "2024-07-09T18:29:22Z", - "upvotes": 1, - "comment_count": 1, + "number": 1813, + "title": "Provide an integration with Matomo Analytics so as for Posthog", + "href": "https://github.com/orgs/langfuse/discussions/1813", + "created_at": "2024-04-23T12:24:41Z", + "upvotes": 12, + "comment_count": 4, "resolved": false, - "labels": [], - "author": { - "login": "IbrahimAhmed03", - "html_url": "https://github.com/IbrahimAhmed03" - }, - "category": "Support" - }, - { - "number": 2574, - "title": "how to embed langfuse dashboard in other tool", - "href": "https://github.com/orgs/langfuse/discussions/2574", - "created_at": "2024-07-08T21:24:13Z", - "upvotes": 1, - "comment_count": 1, - "resolved": true, "labels": [ - "feat-dashboard" + "integrations" ], "author": { - "login": "deepakdeore2004", - "html_url": "https://github.com/deepakdeore2004" + "login": "Chardonneaur", + "html_url": "https://github.com/Chardonneaur" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2567, - "title": "How to use prompt management with openai JS?", - "href": "https://github.com/orgs/langfuse/discussions/2567", - "created_at": "2024-07-08T08:22:49Z", - "upvotes": 1, + "number": 1800, + "title": "Add command r/command r plus via Azure Marketplace", + "href": "https://github.com/orgs/langfuse/discussions/1800", + "created_at": "2024-04-22T16:11:38Z", + "upvotes": 2, "comment_count": 2, "resolved": false, "labels": [ - "feat-prompt-management" + "bug", + "integration-langchain" ], "author": { - "login": "oscarmorrison", - "html_url": "https://github.com/oscarmorrison" + "login": "jayfk", + "html_url": "https://github.com/jayfk" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2564, - "title": "Update metadata when using OpenAI JS Integration", - "href": "https://github.com/orgs/langfuse/discussions/2564", - "created_at": "2024-07-08T07:37:38Z", + "number": 1794, + "title": "User-level dashboard", + "href": "https://github.com/orgs/langfuse/discussions/1794", + "created_at": "2024-04-22T01:56:15Z", "upvotes": 1, - "comment_count": 3, - "resolved": false, - "labels": [], - "author": { - "login": "oscarmorrison", - "html_url": "https://github.com/oscarmorrison" - }, - "category": "Support" - }, - { - "number": 2527, - "title": "Can't set trace params e.g session_id when using with llhama_index", - "href": "https://github.com/orgs/langfuse/discussions/2527", - "created_at": "2024-07-02T20:41:53Z", - "upvotes": 2, - "comment_count": 2, + "comment_count": 1, "resolved": false, "labels": [ - "integraton-llamaindex" + "feat-users" ], "author": { - "login": "famoraes", - "html_url": "https://github.com/famoraes" + "login": "secsilm", + "html_url": "https://github.com/secsilm" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2498, - "title": "Method to update prompt template for Langserve use case", - "href": "https://github.com/orgs/langfuse/discussions/2498", - "created_at": "2024-07-01T11:20:08Z", + "number": 1793, + "title": "Request chart of min/avg/max input/output tokens", + "href": "https://github.com/orgs/langfuse/discussions/1793", + "created_at": "2024-04-21T13:33:39Z", "upvotes": 2, "comment_count": 1, - "resolved": true, - "labels": [ - "integration-langchain" - ], - "author": { - "login": "quadcube", - "html_url": "https://github.com/quadcube" - }, - "category": "Support" - }, - { - "number": 2486, - "title": "Cost of embedding in langfuse", - "href": "https://github.com/orgs/langfuse/discussions/2486", - "created_at": "2024-06-29T07:50:06Z", - "upvotes": 1, - "comment_count": 2, - "resolved": true, + "resolved": false, "labels": [], "author": { - "login": "Amitt1412", - "html_url": "https://github.com/Amitt1412" + "login": "secsilm", + "html_url": "https://github.com/secsilm" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2481, - "title": "Getting all traces logged in a timerange for custom scoring", - "href": "https://github.com/orgs/langfuse/discussions/2481", - "created_at": "2024-06-28T12:09:14Z", + "number": 1783, + "title": "Limit new user registration", + "href": "https://github.com/orgs/langfuse/discussions/1783", + "created_at": "2024-04-19T09:34:55Z", "upvotes": 1, "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [ - "feat-scores" + "self-hosting" ], "author": { - "login": "sanandnarayan", - "html_url": "https://github.com/sanandnarayan" + "login": "secsilm", + "html_url": "https://github.com/secsilm" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2479, - "title": "Cost of embedding", - "href": "https://github.com/orgs/langfuse/discussions/2479", - "created_at": "2024-06-28T06:58:16Z", + "number": 1781, + "title": "feature for python client:get traces by score", + "href": "https://github.com/orgs/langfuse/discussions/1781", + "created_at": "2024-04-19T09:12:48Z", "upvotes": 1, - "comment_count": 3, - "resolved": true, + "comment_count": 1, + "resolved": false, "labels": [], "author": { - "login": "Amitt1412", - "html_url": "https://github.com/Amitt1412" + "login": "StarsSparkle", + "html_url": "https://github.com/StarsSparkle" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2455, - "title": "Getting issue with local setup", - "href": "https://github.com/orgs/langfuse/discussions/2455", - "created_at": "2024-06-27T10:23:02Z", - "upvotes": 1, + "number": 1780, + "title": "Log for Function Calling", + "href": "https://github.com/orgs/langfuse/discussions/1780", + "created_at": "2024-04-19T06:40:55Z", + "upvotes": 6, "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [ - "self-hosting" + "integration-openai" ], "author": { - "login": "kiranraut7709", - "html_url": "https://github.com/kiranraut7709" + "login": "jaindees", + "html_url": "https://github.com/jaindees" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2447, - "title": "Access observation id in langchain runnable", - "href": "https://github.com/orgs/langfuse/discussions/2447", - "created_at": "2024-06-26T21:03:07Z", - "upvotes": 4, - "comment_count": 1, + "number": 1776, + "title": "SSO: Cognito", + "href": "https://github.com/orgs/langfuse/discussions/1776", + "created_at": "2024-04-18T20:40:43Z", + "upvotes": 1, + "comment_count": 2, "resolved": false, "labels": [ - "integration-langchain" + "✅ Done", + "self-hosting" ], "author": { - "login": "snikch", - "html_url": "https://github.com/snikch" + "login": "theluk", + "html_url": "https://github.com/theluk" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2431, - "title": "Trying to work with llama3 in Azure using AzureMLChatOnlineEndpoint but no cost showing up", - "href": "https://github.com/orgs/langfuse/discussions/2431", - "created_at": "2024-06-25T21:20:25Z", + "number": 1774, + "title": "PromptClient: Support mustache type export to langchain", + "href": "https://github.com/orgs/langfuse/discussions/1774", + "created_at": "2024-04-18T18:52:40Z", "upvotes": 1, - "comment_count": 2, + "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "spacepirate0001", - "html_url": "https://github.com/spacepirate0001" + "login": "maxjacu", + "html_url": "https://github.com/maxjacu" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2416, - "title": "some tests failed for langfuse-js", - "href": "https://github.com/orgs/langfuse/discussions/2416", - "created_at": "2024-06-25T04:31:35Z", + "number": 1770, + "title": "New REST API endpoint to get all prompts", + "href": "https://github.com/orgs/langfuse/discussions/1770", + "created_at": "2024-04-18T02:40:14Z", "upvotes": 1, - "comment_count": 3, + "comment_count": 2, "resolved": false, "labels": [], "author": { - "login": "4t8dd", - "html_url": "https://github.com/4t8dd" + "login": "zoltan-fedor", + "html_url": "https://github.com/zoltan-fedor" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2415, - "title": "AUTH AZURE AD returns AADSTS9002325: Proof Key for Code Exchange is required for cross-origin authorization code redemption.", - "href": "https://github.com/orgs/langfuse/discussions/2415", - "created_at": "2024-06-24T18:00:45Z", + "number": 1769, + "title": "Request chart of the generation speed of tokens (tokens/s)", + "href": "https://github.com/orgs/langfuse/discussions/1769", + "created_at": "2024-04-18T02:14:37Z", "upvotes": 1, "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [], "author": { - "login": "spacepirate0001", - "html_url": "https://github.com/spacepirate0001" + "login": "secsilm", + "html_url": "https://github.com/secsilm" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2401, - "title": "Trying to understand why in Langfuse Trace under Stream Completion I get this output:", - "href": "https://github.com/orgs/langfuse/discussions/2401", - "created_at": "2024-06-21T12:22:38Z", - "upvotes": 1, - "comment_count": 1, + "number": 1760, + "title": "annotation of traces in langfuse console?", + "href": "https://github.com/orgs/langfuse/discussions/1760", + "created_at": "2024-04-17T17:51:47Z", + "upvotes": 3, + "comment_count": 2, "resolved": false, - "labels": [], + "labels": [ + "✅ Done", + "feat-annotation" + ], "author": { - "login": "howtodoml", - "html_url": "https://github.com/howtodoml" + "login": "erik-squared", + "html_url": "https://github.com/erik-squared" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2385, - "title": "Modify trace after getting response from OpenAI", - "href": "https://github.com/orgs/langfuse/discussions/2385", - "created_at": "2024-06-20T18:00:09Z", + "number": 1755, + "title": "feat: Prompt API Search (by tags)", + "href": "https://github.com/orgs/langfuse/discussions/1755", + "created_at": "2024-04-17T09:37:50Z", "upvotes": 2, - "comment_count": 3, + "comment_count": 2, "resolved": false, - "labels": [], + "labels": [ + "✅ Done" + ], "author": { - "login": "tylerlittlefield", - "html_url": "https://github.com/tylerlittlefield" + "login": "bryan-agicap", + "html_url": "https://github.com/bryan-agicap" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2381, - "title": "LangFuse UI doesn't show all traces despite debug logging saying that all are sent to the server", - "href": "https://github.com/orgs/langfuse/discussions/2381", - "created_at": "2024-06-20T14:02:12Z", - "upvotes": 3, - "comment_count": 1, + "number": 1744, + "title": "Is it possible to support Dify?", + "href": "https://github.com/orgs/langfuse/discussions/1744", + "created_at": "2024-04-16T20:55:11Z", + "upvotes": 2, + "comment_count": 2, "resolved": false, - "labels": [], + "labels": [ + "integrations", + "✅ Done", + "integration-dify" + ], "author": { - "login": "stokedout", - "html_url": "https://github.com/stokedout" + "login": "jtsang4", + "html_url": "https://github.com/jtsang4" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2379, - "title": "Langfuse was not able to parse the LLM model", - "href": "https://github.com/orgs/langfuse/discussions/2379", - "created_at": "2024-06-20T08:56:57Z", + "number": 1716, + "title": "feat: Add `TRACE_EVENTS` flag", + "href": "https://github.com/orgs/langfuse/discussions/1716", + "created_at": "2024-04-15T12:29:30Z", "upvotes": 1, "comment_count": 2, - "resolved": true, + "resolved": false, "labels": [ - "integration-langchain", - "integration-amazon-bedrock" + "✅ Done" ], "author": { - "login": "fdbvega", - "html_url": "https://github.com/fdbvega" + "login": "JorisAndrade", + "html_url": "https://github.com/JorisAndrade" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2377, - "title": "Can't see any traces or logs when running Langfuse locally.", - "href": "https://github.com/orgs/langfuse/discussions/2377", - "created_at": "2024-06-19T23:51:46Z", + "number": 1715, + "title": "Add support for ZITADEL OIDC", + "href": "https://github.com/orgs/langfuse/discussions/1715", + "created_at": "2024-04-15T12:27:54Z", "upvotes": 1, - "comment_count": 6, - "resolved": true, + "comment_count": 1, + "resolved": false, "labels": [ "self-hosting" ], "author": { - "login": "ibdafna", - "html_url": "https://github.com/ibdafna" + "login": "bitfactory-sem-denbroeder", + "html_url": "https://github.com/bitfactory-sem-denbroeder" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2373, - "title": "Not recording llamaindex response. Please help", - "href": "https://github.com/orgs/langfuse/discussions/2373", - "created_at": "2024-06-19T19:26:30Z", - "upvotes": 1, + "number": 1711, + "title": "Webhook to trigger CI/CD pipeline when new prompt version is created", + "href": "https://github.com/orgs/langfuse/discussions/1711", + "created_at": "2024-04-14T13:46:30Z", + "upvotes": 5, "comment_count": 1, "resolved": false, "labels": [ - "integraton-llamaindex" + "feat-prompt-management", + "feat-api" ], "author": { - "login": "mraguth", - "html_url": "https://github.com/mraguth" + "login": "tamdoEH", + "html_url": "https://github.com/tamdoEH" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2366, - "title": "Add label to prompt from Langfuse UI", - "href": "https://github.com/orgs/langfuse/discussions/2366", - "created_at": "2024-06-18T14:26:14Z", - "upvotes": 1, - "comment_count": 1, - "resolved": true, + "number": 1710, + "title": "Review feature for prompt deployment", + "href": "https://github.com/orgs/langfuse/discussions/1710", + "created_at": "2024-04-14T13:39:50Z", + "upvotes": 3, + "comment_count": 3, + "resolved": false, "labels": [ "feat-prompt-management" ], "author": { - "login": "charlieviettq", - "html_url": "https://github.com/charlieviettq" + "login": "tamdoEH", + "html_url": "https://github.com/tamdoEH" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2354, - "title": "Link Prompt & Trace with langchain CallbackHandler", - "href": "https://github.com/orgs/langfuse/discussions/2354", - "created_at": "2024-06-17T08:21:56Z", - "upvotes": 2, + "number": 1707, + "title": "API for custom model <> token usage pricing", + "href": "https://github.com/orgs/langfuse/discussions/1707", + "created_at": "2024-04-13T22:37:38Z", + "upvotes": 3, "comment_count": 2, - "resolved": true, - "labels": [], - "author": { - "login": "derevyan", - "html_url": "https://github.com/derevyan" - }, - "category": "Support" - }, - { - "number": 2353, - "title": "[Migration] Auto-migration DB error when upgrade langfuse version", - "href": "https://github.com/orgs/langfuse/discussions/2353", - "created_at": "2024-06-17T08:02:03Z", - "upvotes": 1, - "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [ - "self-hosting" + "✅ Done", + "feat-api" ], "author": { - "login": "charlieviettq", - "html_url": "https://github.com/charlieviettq" + "login": "rydamckinney", + "html_url": "https://github.com/rydamckinney" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2351, - "title": "Customize Langchain callback handler to add spans to existing traces created by separate thread/process", - "href": "https://github.com/orgs/langfuse/discussions/2351", - "created_at": "2024-06-17T03:41:57Z", - "upvotes": 1, - "comment_count": 2, + "number": 1696, + "title": "Export & import for prompts, copy between projects", + "href": "https://github.com/orgs/langfuse/discussions/1696", + "created_at": "2024-04-12T20:28:47Z", + "upvotes": 16, + "comment_count": 7, "resolved": false, "labels": [ - "integration-langchain" + "feat-prompt-management" ], "author": { - "login": "Chengdyc", - "html_url": "https://github.com/Chengdyc" + "login": "zoltan-fedor", + "html_url": "https://github.com/zoltan-fedor" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2348, - "title": "not serializable object of type: LangfuseResponseGeneratorSync", - "href": "https://github.com/orgs/langfuse/discussions/2348", - "created_at": "2024-06-14T22:33:09Z", - "upvotes": 1, - "comment_count": 1, + "number": 1692, + "title": "Read-only prompt keys?", + "href": "https://github.com/orgs/langfuse/discussions/1692", + "created_at": "2024-04-12T00:57:44Z", + "upvotes": 2, + "comment_count": 2, "resolved": false, "labels": [], "author": { - "login": "howtodoml", - "html_url": "https://github.com/howtodoml" + "login": "Manouchehri", + "html_url": "https://github.com/Manouchehri" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2346, - "title": "Chain two prompts", - "href": "https://github.com/orgs/langfuse/discussions/2346", - "created_at": "2024-06-14T08:20:48Z", + "number": 1671, + "title": "Ability to run langfuse in tests automatically without manual involvement", + "href": "https://github.com/orgs/langfuse/discussions/1671", + "created_at": "2024-04-11T05:29:44Z", "upvotes": 1, - "comment_count": 1, + "comment_count": 2, "resolved": false, "labels": [ - "feat-prompt-management", - "integration-langchain" + "✅ Done", + "self-hosting" ], "author": { - "login": "darkostanimirovic", - "html_url": "https://github.com/darkostanimirovic" + "login": "SinghCoder", + "html_url": "https://github.com/SinghCoder" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2344, - "title": "Can you use internal Kubernetes DNS to receive traffic from other Kubernetes workloads?", - "href": "https://github.com/orgs/langfuse/discussions/2344", - "created_at": "2024-06-14T08:15:36Z", - "upvotes": 1, + "number": 1664, + "title": "\"Task\" and \"Bot\" core abstractions", + "href": "https://github.com/orgs/langfuse/discussions/1664", + "created_at": "2024-04-10T20:24:53Z", + "upvotes": 2, "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [], "author": { - "login": "smeasures", - "html_url": "https://github.com/smeasures" + "login": "sfarthin", + "html_url": "https://github.com/sfarthin" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2342, - "title": "Getting trace id out of a langchain runnable", - "href": "https://github.com/orgs/langfuse/discussions/2342", - "created_at": "2024-06-14T01:15:26Z", - "upvotes": 1, - "comment_count": 1, - "resolved": true, - "labels": [], - "author": { - "login": "salmanmashayekh", - "html_url": "https://github.com/salmanmashayekh" - }, - "category": "Support" - }, - { - "number": 2338, - "title": "Can RBAC Role Assignment be done using Azure AD SSO token?", - "href": "https://github.com/orgs/langfuse/discussions/2338", - "created_at": "2024-06-13T11:29:59Z", - "upvotes": 4, - "comment_count": 2, + "number": 1660, + "title": "Prompt Composability", + "href": "https://github.com/orgs/langfuse/discussions/1660", + "created_at": "2024-04-10T15:25:05Z", + "upvotes": 10, + "comment_count": 5, "resolved": false, "labels": [ - "feat-rbac", - "self-hosting" + "feat-prompt-management" ], "author": { - "login": "joshwright10", - "html_url": "https://github.com/joshwright10" + "login": "meissnereric", + "html_url": "https://github.com/meissnereric" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2298, - "title": "llamaindex: function_call does not generate subspans for a custom AsyncBaseTool class", - "href": "https://github.com/orgs/langfuse/discussions/2298", - "created_at": "2024-06-11T09:28:33Z", - "upvotes": 1, - "comment_count": 3, + "number": 1633, + "title": "feat: Function Calling Under OpenAI Format", + "href": "https://github.com/orgs/langfuse/discussions/1633", + "created_at": "2024-04-09T08:49:58Z", + "upvotes": 2, + "comment_count": 1, "resolved": false, "labels": [ - "integraton-llamaindex" + "feat-playground" ], "author": { - "login": "ootkin", - "html_url": "https://github.com/ootkin" + "login": "anhphong22", + "html_url": "https://github.com/anhphong22" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2290, - "title": "There are no evaluation component in the 2.50 version", - "href": "https://github.com/orgs/langfuse/discussions/2290", - "created_at": "2024-06-10T19:36:30Z", + "number": 1630, + "title": "Groq - Mixtral", + "href": "https://github.com/orgs/langfuse/discussions/1630", + "created_at": "2024-04-09T05:11:12Z", "upvotes": 1, "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [], "author": { - "login": "yanlinchn", - "html_url": "https://github.com/yanlinchn" + "login": "mike4lyf", + "html_url": "https://github.com/mike4lyf" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2254, - "title": "Unable to get hello world program working due to incorrect public key / host", - "href": "https://github.com/orgs/langfuse/discussions/2254", - "created_at": "2024-06-06T09:13:53Z", + "number": 1627, + "title": "VertexAI support", + "href": "https://github.com/orgs/langfuse/discussions/1627", + "created_at": "2024-04-08T22:43:38Z", "upvotes": 3, "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [ - "self-hosting" + "integration-langchain" ], "author": { - "login": "mr-nano", - "html_url": "https://github.com/mr-nano" + "login": "eles13", + "html_url": "https://github.com/eles13" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2244, - "title": "2 traces generated instead of 1", - "href": "https://github.com/orgs/langfuse/discussions/2244", - "created_at": "2024-06-05T17:06:52Z", + "number": 1613, + "title": "[Feature] Add a score value filter", + "href": "https://github.com/orgs/langfuse/discussions/1613", + "created_at": "2024-04-08T07:58:58Z", "upvotes": 1, - "comment_count": 1, - "resolved": true, - "labels": [ - "integration-langchain", - "feat-datasets" - ], + "comment_count": 0, + "resolved": false, + "labels": [], "author": { - "login": "nithin1995", - "html_url": "https://github.com/nithin1995" + "login": "Hacky-DH", + "html_url": "https://github.com/Hacky-DH" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2211, - "title": "How to clean the langfuse cache data periodically?", - "href": "https://github.com/orgs/langfuse/discussions/2211", - "created_at": "2024-06-03T07:40:22Z", + "number": 1612, + "title": "DSPY integration", + "href": "https://github.com/orgs/langfuse/discussions/1612", + "created_at": "2024-04-07T18:54:32Z", "upvotes": 1, "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [], "author": { - "login": "He-Huang", - "html_url": "https://github.com/He-Huang" + "login": "wdhitchc", + "html_url": "https://github.com/wdhitchc" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2207, - "title": "Model Cost does not show up", - "href": "https://github.com/orgs/langfuse/discussions/2207", - "created_at": "2024-06-02T11:08:58Z", - "upvotes": 1, + "number": 1566, + "title": "LangchainCallbackHandler httpx_client not accessible", + "href": "https://github.com/orgs/langfuse/discussions/1566", + "created_at": "2024-04-03T09:18:12Z", + "upvotes": 2, "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [ - "feat-cost-tracking" + "integration-langchain" ], "author": { - "login": "jannikstdl", - "html_url": "https://github.com/jannikstdl" + "login": "dlmatt", + "html_url": "https://github.com/dlmatt" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2206, - "title": "Possibilities for auth", - "href": "https://github.com/orgs/langfuse/discussions/2206", - "created_at": "2024-06-01T23:38:39Z", - "upvotes": 1, - "comment_count": 1, - "resolved": true, + "number": 1541, + "title": "Disable events logging", + "href": "https://github.com/orgs/langfuse/discussions/1541", + "created_at": "2024-03-29T18:08:13Z", + "upvotes": 8, + "comment_count": 3, + "resolved": false, "labels": [ - "self-hosting" + "✅ Done" ], "author": { - "login": "Getty", - "html_url": "https://github.com/Getty" + "login": "omgovich", + "html_url": "https://github.com/omgovich" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2200, - "title": "How does one replace values for a ChatPromptTemplate for Langchain", - "href": "https://github.com/orgs/langfuse/discussions/2200", - "created_at": "2024-05-31T19:39:14Z", - "upvotes": 0, + "number": 1535, + "title": "Request for Integration of Mistral Models into Langfuse", + "href": "https://github.com/orgs/langfuse/discussions/1535", + "created_at": "2024-03-28T16:10:25Z", + "upvotes": 5, "comment_count": 2, "resolved": false, - "labels": [], + "labels": [ + "integrations", + "✅ Done" + ], "author": { - "login": "ajram23", - "html_url": "https://github.com/ajram23" + "login": "Zherdev1996", + "html_url": "https://github.com/Zherdev1996" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2188, - "title": "Time to first token?", - "href": "https://github.com/orgs/langfuse/discussions/2188", - "created_at": "2024-05-30T12:45:37Z", + "number": 1533, + "title": "Managing Embeddings", + "href": "https://github.com/orgs/langfuse/discussions/1533", + "created_at": "2024-03-28T15:36:21Z", "upvotes": 1, - "comment_count": 1, + "comment_count": 0, "resolved": false, "labels": [], "author": { - "login": "jrcapicua", - "html_url": "https://github.com/jrcapicua" + "login": "Botman-Hotman", + "html_url": "https://github.com/Botman-Hotman" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2172, - "title": "How to reuse callback handler in langchain integration?", - "href": "https://github.com/orgs/langfuse/discussions/2172", - "created_at": "2024-05-28T15:25:39Z", - "upvotes": 1, - "comment_count": 2, + "number": 1513, + "title": "Langfuse Trace with OpenAI Assistants", + "href": "https://github.com/orgs/langfuse/discussions/1513", + "created_at": "2024-03-27T11:47:19Z", + "upvotes": 10, + "comment_count": 5, "resolved": false, "labels": [ - "integration-langchain" + "integration-openai" ], "author": { - "login": "SebastianStehle", - "html_url": "https://github.com/SebastianStehle" + "login": "marco-introvigne", + "html_url": "https://github.com/marco-introvigne" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2165, - "title": "Auth0 not working", - "href": "https://github.com/orgs/langfuse/discussions/2165", - "created_at": "2024-05-28T11:38:43Z", - "upvotes": 2, - "comment_count": 3, + "number": 1500, + "title": "Comment column can have any name the user chooses, there could be multiple comment columns per metric", + "href": "https://github.com/orgs/langfuse/discussions/1500", + "created_at": "2024-03-26T08:42:45Z", + "upvotes": 1, + "comment_count": 1, "resolved": false, - "labels": [ - "self-hosting" - ], + "labels": [], "author": { - "login": "mforell", - "html_url": "https://github.com/mforell" + "login": "emailic", + "html_url": "https://github.com/emailic" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2162, - "title": "Connect Prompt ID to GENERATIONS when integrate Langfuse in LangChain.", - "href": "https://github.com/orgs/langfuse/discussions/2162", - "created_at": "2024-05-28T00:56:34Z", - "upvotes": 8, + "number": 1488, + "title": "Make Langfuse switchable", + "href": "https://github.com/orgs/langfuse/discussions/1488", + "created_at": "2024-03-25T21:05:17Z", + "upvotes": 2, "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [], "author": { - "login": "hdp173", - "html_url": "https://github.com/hdp173" + "login": "MrMojoR", + "html_url": "https://github.com/MrMojoR" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2154, - "title": "__root__ -> items -> 0 -> datasetName field required (type=value_error.missing)", - "href": "https://github.com/orgs/langfuse/discussions/2154", - "created_at": "2024-05-27T11:26:24Z", + "number": 1479, + "title": "Add total filtered Generations to UI", + "href": "https://github.com/orgs/langfuse/discussions/1479", + "created_at": "2024-03-24T17:19:51Z", "upvotes": 1, - "comment_count": 2, + "comment_count": 0, "resolved": false, "labels": [], "author": { - "login": "emailic", - "html_url": "https://github.com/emailic" + "login": "PhiBrandon", + "html_url": "https://github.com/PhiBrandon" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2152, - "title": "get_langchain_handler() alwasy start from trace root.", - "href": "https://github.com/orgs/langfuse/discussions/2152", - "created_at": "2024-05-27T10:47:42Z", + "number": 1461, + "title": "Loose prisma datasource db provider.", + "href": "https://github.com/orgs/langfuse/discussions/1461", + "created_at": "2024-03-21T13:09:15Z", "upvotes": 1, "comment_count": 1, "resolved": false, "labels": [ - "integration-langchain" + "self-hosting" ], "author": { - "login": "hdp173", - "html_url": "https://github.com/hdp173" + "login": "muazhari", + "html_url": "https://github.com/muazhari" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2146, - "title": "Customize LangChain Integration.", - "href": "https://github.com/orgs/langfuse/discussions/2146", - "created_at": "2024-05-27T06:12:41Z", + "number": 1460, + "title": "Langfuse images for arm64 (mac silicon, some cloud vms)", + "href": "https://github.com/orgs/langfuse/discussions/1460", + "created_at": "2024-03-21T05:48:56Z", "upvotes": 1, "comment_count": 1, - "resolved": true, - "labels": [ - "integration-langchain" - ], + "resolved": false, + "labels": [], "author": { - "login": "hdp173", - "html_url": "https://github.com/hdp173" + "login": "verdverm", + "html_url": "https://github.com/verdverm" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2145, - "title": "Need help on syntax for editing project roles", - "href": "https://github.com/orgs/langfuse/discussions/2145", - "created_at": "2024-05-26T18:50:59Z", - "upvotes": 1, + "number": 1454, + "title": "Add a time based filter option", + "href": "https://github.com/orgs/langfuse/discussions/1454", + "created_at": "2024-03-20T16:06:15Z", + "upvotes": 4, "comment_count": 2, "resolved": false, - "labels": [], + "labels": [ + "✅ Done" + ], "author": { - "login": "hrithik062", - "html_url": "https://github.com/hrithik062" + "login": "Kurumindla-Kranthivardhan", + "html_url": "https://github.com/Kurumindla-Kranthivardhan" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2142, - "title": "Unable to login with SSO", - "href": "https://github.com/orgs/langfuse/discussions/2142", - "created_at": "2024-05-24T18:40:35Z", + "number": 1431, + "title": "Integration with Langserve", + "href": "https://github.com/orgs/langfuse/discussions/1431", + "created_at": "2024-03-18T08:40:32Z", "upvotes": 1, - "comment_count": 1, - "resolved": true, + "comment_count": 2, + "resolved": false, "labels": [], "author": { - "login": "alecor191", - "html_url": "https://github.com/alecor191" + "login": "Haxeebraja", + "html_url": "https://github.com/Haxeebraja" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2137, - "title": "Latency (Avg) showing 0 for dataset runs", - "href": "https://github.com/orgs/langfuse/discussions/2137", - "created_at": "2024-05-24T07:33:51Z", + "number": 1428, + "title": "allow to delete sessions", + "href": "https://github.com/orgs/langfuse/discussions/1428", + "created_at": "2024-03-16T15:56:35Z", "upvotes": 4, - "comment_count": 1, - "resolved": true, - "labels": [], - "author": { - "login": "karthik-TLIT", - "html_url": "https://github.com/karthik-TLIT" - }, - "category": "Support" - }, - { - "number": 2130, - "title": "Evaluations Not Available in Self-Hosted Version?", - "href": "https://github.com/orgs/langfuse/discussions/2130", - "created_at": "2024-05-23T14:31:16Z", - "upvotes": 3, - "comment_count": 1, - "resolved": true, + "comment_count": 2, + "resolved": false, "labels": [ - "feat-evals" + "feat-sessions" ], "author": { - "login": "c0pper", - "html_url": "https://github.com/c0pper" + "login": "morganveyret", + "html_url": "https://github.com/morganveyret" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2114, - "title": "Careers link on HN is broken", - "href": "https://github.com/orgs/langfuse/discussions/2114", - "created_at": "2024-05-21T07:28:26Z", + "number": 1427, + "title": "Toggle collection of traces on a per-trace basis", + "href": "https://github.com/orgs/langfuse/discussions/1427", + "created_at": "2024-03-16T15:19:07Z", "upvotes": 1, "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [], "author": { - "login": "davherrmann", - "html_url": "https://github.com/davherrmann" + "login": "foragerr", + "html_url": "https://github.com/foragerr" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2111, - "title": "Token cost is counted even if langchains LLM cache is utilized", - "href": "https://github.com/orgs/langfuse/discussions/2111", - "created_at": "2024-05-20T23:23:44Z", - "upvotes": 5, - "comment_count": 1, - "resolved": true, - "labels": [ - "integration-langchain" - ], + "number": 1415, + "title": "Add a \"correction\" field on the user feedback info", + "href": "https://github.com/orgs/langfuse/discussions/1415", + "created_at": "2024-03-14T14:18:30Z", + "upvotes": 3, + "comment_count": 2, + "resolved": false, + "labels": [], "author": { - "login": "arthurGrigo", - "html_url": "https://github.com/arthurGrigo" + "login": "almirb", + "html_url": "https://github.com/almirb" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2106, - "title": "Hability to store pre defined initial message", - "href": "https://github.com/orgs/langfuse/discussions/2106", - "created_at": "2024-05-20T20:40:23Z", - "upvotes": 1, - "comment_count": 1, - "resolved": true, + "number": 1408, + "title": "Trace Latencies line chart please", + "href": "https://github.com/orgs/langfuse/discussions/1408", + "created_at": "2024-03-13T15:00:35Z", + "upvotes": 2, + "comment_count": 0, + "resolved": false, "labels": [], "author": { - "login": "Lunik", - "html_url": "https://github.com/Lunik" + "login": "Huarong", + "html_url": "https://github.com/Huarong" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2099, - "title": "Deleting Duplicate Items in a Dataset", - "href": "https://github.com/orgs/langfuse/discussions/2099", - "created_at": "2024-05-20T09:48:58Z", - "upvotes": 1, - "comment_count": 1, - "resolved": true, + "number": 1398, + "title": "What standardized dataset formats are people using?", + "href": "https://github.com/orgs/langfuse/discussions/1398", + "created_at": "2024-03-12T15:47:53Z", + "upvotes": 2, + "comment_count": 0, + "resolved": false, "labels": [ "feat-datasets" ], "author": { - "login": "emailic", - "html_url": "https://github.com/emailic" + "login": "norton120", + "html_url": "https://github.com/norton120" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2098, - "title": "Wrong model for billing", - "href": "https://github.com/orgs/langfuse/discussions/2098", - "created_at": "2024-05-20T09:29:33Z", - "upvotes": 2, - "comment_count": 1, - "resolved": true, - "labels": [], + "number": 1397, + "title": "Reorder columns in tables", + "href": "https://github.com/orgs/langfuse/discussions/1397", + "created_at": "2024-03-12T14:45:37Z", + "upvotes": 3, + "comment_count": 2, + "resolved": false, + "labels": [ + "✅ Done" + ], "author": { - "login": "wdxwj", - "html_url": "https://github.com/wdxwj" + "login": "marcklingen", + "html_url": "https://github.com/marcklingen" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2077, - "title": "Error Encountered During Migration for Applying Newly Supported Models to Existing Data", - "href": "https://github.com/orgs/langfuse/discussions/2077", - "created_at": "2024-05-16T15:30:33Z", - "upvotes": 1, + "number": 1394, + "title": "Adding a \"Select all\" button to tables", + "href": "https://github.com/orgs/langfuse/discussions/1394", + "created_at": "2024-03-12T10:37:23Z", + "upvotes": 2, "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "Zherdev1996", - "html_url": "https://github.com/Zherdev1996" + "login": "samyxdev", + "html_url": "https://github.com/samyxdev" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2073, - "title": "Will Playground be available for self-hosted?", - "href": "https://github.com/orgs/langfuse/discussions/2073", - "created_at": "2024-05-16T12:40:30Z", - "upvotes": 5, - "comment_count": 2, - "resolved": true, + "number": 1392, + "title": "Hide prompts/completions (privacy)", + "href": "https://github.com/orgs/langfuse/discussions/1392", + "created_at": "2024-03-12T07:48:22Z", + "upvotes": 10, + "comment_count": 1, + "resolved": false, + "labels": [], + "author": { + "login": "ziodave", + "html_url": "https://github.com/ziodave" + }, + "category": "Ideas" + }, + { + "number": 1391, + "title": "Enhancements for Langfuse User Sign-Up Control", + "href": "https://github.com/orgs/langfuse/discussions/1391", + "created_at": "2024-03-11T23:38:18Z", + "upvotes": 7, + "comment_count": 0, + "resolved": false, "labels": [ - "feat-playground" + "self-hosting" ], "author": { - "login": "sabatesduran", - "html_url": "https://github.com/sabatesduran" + "login": "udit-001", + "html_url": "https://github.com/udit-001" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2070, - "title": "Error on Local Deployment: \"Evals available in cloud only\" when Adding LLM API Key", - "href": "https://github.com/orgs/langfuse/discussions/2070", - "created_at": "2024-05-16T09:02:43Z", - "upvotes": 1, - "comment_count": 1, + "number": 1385, + "title": "bug: Not allowing to limit Azure AD authentication for selected users in same tenent", + "href": "https://github.com/orgs/langfuse/discussions/1385", + "created_at": "2024-03-11T17:42:05Z", + "upvotes": 2, + "comment_count": 2, "resolved": false, - "labels": [], + "labels": [ + "self-hosting" + ], "author": { - "login": "youngsj951104", - "html_url": "https://github.com/youngsj951104" + "login": "SathinduGA", + "html_url": "https://github.com/SathinduGA" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2069, - "title": "Does langfuse uses any Postgres-only features?", - "href": "https://github.com/orgs/langfuse/discussions/2069", - "created_at": "2024-05-16T06:36:16Z", + "number": 1378, + "title": "Aggregate cost per span", + "href": "https://github.com/orgs/langfuse/discussions/1378", + "created_at": "2024-03-08T16:06:04Z", "upvotes": 2, "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [], "author": { - "login": "rohts-patil", - "html_url": "https://github.com/rohts-patil" + "login": "ladislasdellinger", + "html_url": "https://github.com/ladislasdellinger" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2063, - "title": "Exception(\"parent run not found\")", - "href": "https://github.com/orgs/langfuse/discussions/2063", - "created_at": "2024-05-15T14:45:00Z", + "number": 1376, + "title": "Support parsing LLM model for ChatOllama", + "href": "https://github.com/orgs/langfuse/discussions/1376", + "created_at": "2024-03-08T14:13:58Z", "upvotes": 1, "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "emailic", - "html_url": "https://github.com/emailic" + "login": "kleebaum", + "html_url": "https://github.com/kleebaum" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2042, - "title": "Availability of evals when self-hosting", - "href": "https://github.com/orgs/langfuse/discussions/2042", - "created_at": "2024-05-13T14:06:11Z", - "upvotes": 2, + "number": 1374, + "title": "Add LLamaIndexTS example", + "href": "https://github.com/orgs/langfuse/discussions/1374", + "created_at": "2024-03-08T00:42:30Z", + "upvotes": 1, "comment_count": 1, - "resolved": true, - "labels": [ - "feat-evals" - ], + "resolved": false, + "labels": [], "author": { - "login": "derevyan", - "html_url": "https://github.com/derevyan" + "login": "luandro", + "html_url": "https://github.com/luandro" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2031, - "title": "Starting a demo from JS SDK and local running Langfuse, but cannot create init trace currently", - "href": "https://github.com/orgs/langfuse/discussions/2031", - "created_at": "2024-05-10T08:49:40Z", + "number": 1361, + "title": "Add a retention window for unnecessary data", + "href": "https://github.com/orgs/langfuse/discussions/1361", + "created_at": "2024-03-07T14:42:07Z", "upvotes": 1, "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "JamieLee0510", - "html_url": "https://github.com/JamieLee0510" + "login": "albertoforcato", + "html_url": "https://github.com/albertoforcato" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2009, - "title": "Custom name of Span when using Langchain handler instead of RunnableSequence", - "href": "https://github.com/orgs/langfuse/discussions/2009", - "created_at": "2024-05-08T12:23:08Z", - "upvotes": 1, + "number": 1337, + "title": "Support for Langchain ChatAnthropic", + "href": "https://github.com/orgs/langfuse/discussions/1337", + "created_at": "2024-03-06T10:42:36Z", + "upvotes": 2, "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [ "integration-langchain" ], "author": { - "login": "nathan-vo810", - "html_url": "https://github.com/nathan-vo810" + "login": "dotrunghieu96", + "html_url": "https://github.com/dotrunghieu96" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2008, - "title": "Not able to add dataset item", - "href": "https://github.com/orgs/langfuse/discussions/2008", - "created_at": "2024-05-08T12:11:04Z", + "number": 1331, + "title": "Adding cost to the datasets tables", + "href": "https://github.com/orgs/langfuse/discussions/1331", + "created_at": "2024-03-05T18:53:25Z", "upvotes": 1, "comment_count": 1, "resolved": false, - "labels": [], + "labels": [ + "✅ Done" + ], "author": { - "login": "nithin1995", - "html_url": "https://github.com/nithin1995" + "login": "ladislasdellinger", + "html_url": "https://github.com/ladislasdellinger" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2007, - "title": "Langfuse in PHP. Which are the minimum functions needed to implement?", - "href": "https://github.com/orgs/langfuse/discussions/2007", - "created_at": "2024-05-08T10:55:07Z", - "upvotes": 1, - "comment_count": 1, + "number": 1321, + "title": "More prompt environments/tags instead of just `active`", + "href": "https://github.com/orgs/langfuse/discussions/1321", + "created_at": "2024-03-05T11:05:17Z", + "upvotes": 3, + "comment_count": 2, "resolved": false, - "labels": [], + "labels": [ + "feat-prompt-management", + "✅ Done" + ], "author": { - "login": "phpia", - "html_url": "https://github.com/phpia" + "login": "ladislasdellinger", + "html_url": "https://github.com/ladislasdellinger" }, - "category": "Support" + "category": "Ideas" }, { - "number": 2005, - "title": "How to get trace data with langfuse-langchain in JS/TS?", - "href": "https://github.com/orgs/langfuse/discussions/2005", - "created_at": "2024-05-08T08:08:42Z", - "upvotes": 1, + "number": 1309, + "title": "Log used prompt on generations when using Langchain", + "href": "https://github.com/orgs/langfuse/discussions/1309", + "created_at": "2024-03-04T09:03:35Z", + "upvotes": 5, "comment_count": 2, - "resolved": true, + "resolved": false, "labels": [ - "integration-langchain" + "integration-langchain", + "✅ Done" ], "author": { - "login": "AdiletBekmuratov", - "html_url": "https://github.com/AdiletBekmuratov" + "login": "TobinShaw", + "html_url": "https://github.com/TobinShaw" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1982, - "title": "trace doesn't work with .batch handler on langserve", - "href": "https://github.com/orgs/langfuse/discussions/1982", - "created_at": "2024-05-06T02:32:30Z", - "upvotes": 2, - "comment_count": 0, + "number": 1306, + "title": "[TS] Generating through OpenAI SDK directly", + "href": "https://github.com/orgs/langfuse/discussions/1306", + "created_at": "2024-03-02T10:56:07Z", + "upvotes": 1, + "comment_count": 2, "resolved": false, - "labels": [], + "labels": [ + "integrations", + "integration-openai", + "✅ Done" + ], "author": { - "login": "restuprajna", - "html_url": "https://github.com/restuprajna" + "login": "louis030195", + "html_url": "https://github.com/louis030195" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1979, - "title": "get_prompt function failed in langfuse-python 2.28.3", - "href": "https://github.com/orgs/langfuse/discussions/1979", - "created_at": "2024-05-05T19:57:40Z", + "number": 1305, + "title": "Allow Project-Specific Default Time Ranges", + "href": "https://github.com/orgs/langfuse/discussions/1305", + "created_at": "2024-03-02T03:42:42Z", "upvotes": 1, "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [], "author": { - "login": "nathan-vo810", - "html_url": "https://github.com/nathan-vo810" + "login": "dkindlund", + "html_url": "https://github.com/dkindlund" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1969, - "title": "How to utilize a dataset w/ typescript and langchain integration", - "href": "https://github.com/orgs/langfuse/discussions/1969", - "created_at": "2024-05-03T15:22:21Z", + "number": 1300, + "title": "Consider adding support for DSPy", + "href": "https://github.com/orgs/langfuse/discussions/1300", + "created_at": "2024-03-01T15:42:23Z", "upvotes": 1, "comment_count": 2, "resolved": false, - "labels": [ - "✅ Done", - "feat-datasets" - ], + "labels": [], "author": { - "login": "sahellebusch", - "html_url": "https://github.com/sahellebusch" - }, - "category": "Support" + "login": "sutyum", + "html_url": "https://github.com/sutyum" + }, + "category": "Ideas" }, { - "number": 1957, - "title": "DevOps: What is the best way to create separate Langfuse instances in different environments: Dev, Test, QA, Prod?", - "href": "https://github.com/orgs/langfuse/discussions/1957", - "created_at": "2024-05-02T21:28:07Z", - "upvotes": 2, - "comment_count": 2, - "resolved": true, + "number": 1295, + "title": "Support DSPy", + "href": "https://github.com/orgs/langfuse/discussions/1295", + "created_at": "2024-03-01T11:34:05Z", + "upvotes": 19, + "comment_count": 9, + "resolved": false, "labels": [ - "self-hosting" + "integrations", + "✅ Done", + "integration-dspy" ], "author": { - "login": "aiakubovich", - "html_url": "https://github.com/aiakubovich" + "login": "sandangel", + "html_url": "https://github.com/sandangel" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1952, - "title": "How to communicate trace-id between backend and frontend ? (langchain+langserve integration)", - "href": "https://github.com/orgs/langfuse/discussions/1952", - "created_at": "2024-05-02T13:48:20Z", - "upvotes": 1, + "number": 1291, + "title": "Integration: LlamaIndex JS/TS", + "href": "https://github.com/orgs/langfuse/discussions/1291", + "created_at": "2024-02-29T11:56:42Z", + "upvotes": 33, "comment_count": 3, "resolved": false, "labels": [ - "integration-langchain" + "sdk-js", + "integrations", + "integraton-llamaindex" ], "author": { - "login": "Sinnaeve", - "html_url": "https://github.com/Sinnaeve" + "login": "marcklingen", + "html_url": "https://github.com/marcklingen" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1946, - "title": "Not able to build docker image from web/Dockerfile", - "href": "https://github.com/orgs/langfuse/discussions/1946", - "created_at": "2024-05-02T09:41:18Z", - "upvotes": 2, - "comment_count": 1, - "resolved": true, + "number": 1287, + "title": "Add filtering by errors", + "href": "https://github.com/orgs/langfuse/discussions/1287", + "created_at": "2024-02-28T22:52:59Z", + "upvotes": 3, + "comment_count": 2, + "resolved": false, "labels": [ - "self-hosting" + "ui" ], "author": { - "login": "Subham0793", - "html_url": "https://github.com/Subham0793" + "login": "ankerbachryhl", + "html_url": "https://github.com/ankerbachryhl" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1940, - "title": "Simple Prompt -> LLM error with Usage Object?", - "href": "https://github.com/orgs/langfuse/discussions/1940", - "created_at": "2024-05-01T13:47:14Z", - "upvotes": 2, - "comment_count": 1, - "resolved": true, + "number": 1277, + "title": "Add Audit Logging System to Worker Tasks", + "href": "https://github.com/orgs/langfuse/discussions/1277", + "created_at": "2024-02-28T11:53:15Z", + "upvotes": 1, + "comment_count": 3, + "resolved": false, "labels": [], "author": { - "login": "tzilkha", - "html_url": "https://github.com/tzilkha" + "login": "khareyash05", + "html_url": "https://github.com/khareyash05" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1864, - "title": "Can't see traces in the webUI if callback_handler passed to LLM init constructor", - "href": "https://github.com/orgs/langfuse/discussions/1864", - "created_at": "2024-04-25T21:01:54Z", - "upvotes": 2, + "number": 1268, + "title": "Possible with different units for input and output", + "href": "https://github.com/orgs/langfuse/discussions/1268", + "created_at": "2024-02-27T13:45:21Z", + "upvotes": 1, "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "gabrielfior", - "html_url": "https://github.com/gabrielfior" + "login": "Stadly", + "html_url": "https://github.com/Stadly" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1860, - "title": "Alter generation names with LangChain integration", - "href": "https://github.com/orgs/langfuse/discussions/1860", - "created_at": "2024-04-25T18:12:35Z", - "upvotes": 1, - "comment_count": 1, - "resolved": true, + "number": 1264, + "title": "ChatML/ChatMessage Prompt Templates", + "href": "https://github.com/orgs/langfuse/discussions/1264", + "created_at": "2024-02-27T01:59:05Z", + "upvotes": 4, + "comment_count": 3, + "resolved": false, "labels": [ - "integration-langchain" + "feat-prompt-management", + "✅ Done" ], "author": { - "login": "nic-asnes-klaviyo", - "html_url": "https://github.com/nic-asnes-klaviyo" - }, - "category": "Support" - }, - { - "number": 1831, - "title": "how to check only output tokens and models costs related to only output tokens?", - "href": "https://github.com/orgs/langfuse/discussions/1831", - "created_at": "2024-04-24T12:27:17Z", - "upvotes": 2, - "comment_count": 1, - "resolved": false, - "labels": [], - "author": { - "login": "manishiitg", - "html_url": "https://github.com/manishiitg" + "login": "tuan3w", + "html_url": "https://github.com/tuan3w" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1814, - "title": "Deploy to heroku", - "href": "https://github.com/orgs/langfuse/discussions/1814", - "created_at": "2024-04-23T13:56:27Z", - "upvotes": 1, + "number": 1258, + "title": "Dashboard for all projects of an organization", + "href": "https://github.com/orgs/langfuse/discussions/1258", + "created_at": "2024-02-26T20:12:22Z", + "upvotes": 11, "comment_count": 2, - "resolved": true, + "resolved": false, "labels": [ - "self-hosting" + "feat-dashboard" ], "author": { - "login": "MarcoSteinke", - "html_url": "https://github.com/MarcoSteinke" + "login": "aiakubovich", + "html_url": "https://github.com/aiakubovich" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1788, - "title": "Need help with resolving long runtimes when Langfuse tracing is enabled", - "href": "https://github.com/orgs/langfuse/discussions/1788", - "created_at": "2024-04-19T17:46:05Z", - "upvotes": 2, - "comment_count": 1, + "number": 1221, + "title": "Add Haystack integration", + "href": "https://github.com/orgs/langfuse/discussions/1221", + "created_at": "2024-02-21T13:06:06Z", + "upvotes": 9, + "comment_count": 2, "resolved": false, - "labels": [], + "labels": [ + "integrations", + "✅ Done", + "integration-haystack" + ], "author": { - "login": "pooja1423", - "html_url": "https://github.com/pooja1423" + "login": "marcklingen", + "html_url": "https://github.com/marcklingen" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1785, - "title": "How to limit the number of traces", - "href": "https://github.com/orgs/langfuse/discussions/1785", - "created_at": "2024-04-19T10:29:17Z", + "number": 1220, + "title": "Export to S3", + "href": "https://github.com/orgs/langfuse/discussions/1220", + "created_at": "2024-02-21T12:46:58Z", "upvotes": 1, - "comment_count": 1, + "comment_count": 0, "resolved": false, - "labels": [], + "labels": [ + "integrations" + ], "author": { - "login": "secsilm", - "html_url": "https://github.com/secsilm" + "login": "marcklingen", + "html_url": "https://github.com/marcklingen" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1773, - "title": "Flowise 1.6.5 can not Trace", - "href": "https://github.com/orgs/langfuse/discussions/1773", - "created_at": "2024-04-18T11:55:32Z", - "upvotes": 1, - "comment_count": 1, + "number": 1219, + "title": "Export to BigQuery", + "href": "https://github.com/orgs/langfuse/discussions/1219", + "created_at": "2024-02-21T12:46:26Z", + "upvotes": 4, + "comment_count": 0, "resolved": false, - "labels": [], + "labels": [ + "integrations" + ], "author": { - "login": "lknbv5", - "html_url": "https://github.com/lknbv5" + "login": "marcklingen", + "html_url": "https://github.com/marcklingen" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1759, - "title": "How to get generations and scores in the same trace when using OpenAI sdk or other tools", - "href": "https://github.com/orgs/langfuse/discussions/1759", - "created_at": "2024-04-17T15:56:51Z", - "upvotes": 1, - "comment_count": 1, + "number": 1212, + "title": "Adding support for async Langchain methods", + "href": "https://github.com/orgs/langfuse/discussions/1212", + "created_at": "2024-02-20T13:09:19Z", + "upvotes": 24, + "comment_count": 5, "resolved": false, - "labels": [], + "labels": [ + "integration-langchain", + "✅ Done" + ], "author": { - "login": "databill86", - "html_url": "https://github.com/databill86" + "login": "marcklingen", + "html_url": "https://github.com/marcklingen" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1712, - "title": "Invalid public key", - "href": "https://github.com/orgs/langfuse/discussions/1712", - "created_at": "2024-04-14T18:11:51Z", + "number": 1208, + "title": "Add Images in Tracing", + "href": "https://github.com/orgs/langfuse/discussions/1208", + "created_at": "2024-02-20T00:41:41Z", + "upvotes": 11, + "comment_count": 2, + "resolved": false, + "labels": [ + "✅ Done", + "feat-multimodal" + ], + "author": { + "login": "aiakubovich", + "html_url": "https://github.com/aiakubovich" + }, + "category": "Ideas" + }, + { + "number": 1190, + "title": "Request to add 75 percentile under Model latency section as shown in image below", + "href": "https://github.com/orgs/langfuse/discussions/1190", + "created_at": "2024-02-16T21:41:29Z", "upvotes": 1, "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "taaha3244", - "html_url": "https://github.com/taaha3244" + "login": "ssubburaj85", + "html_url": "https://github.com/ssubburaj85" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1672, - "title": "Cookies not allowed", - "href": "https://github.com/orgs/langfuse/discussions/1672", - "created_at": "2024-04-11T07:43:53Z", - "upvotes": 1, - "comment_count": 3, + "number": 1170, + "title": "LLM Playground", + "href": "https://github.com/orgs/langfuse/discussions/1170", + "created_at": "2024-02-15T17:44:42Z", + "upvotes": 7, + "comment_count": 6, "resolved": false, - "labels": [], + "labels": [ + "feat-prompt-management", + "✅ Done", + "feat-playground" + ], "author": { - "login": "danielpirs", - "html_url": "https://github.com/danielpirs" + "login": "reza-mohideen", + "html_url": "https://github.com/reza-mohideen" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1649, - "title": "Run Langchain Evaluations on data in Langfuse , Why is the prompt not considered, and could this lead to evaluation flaws?", - "href": "https://github.com/orgs/langfuse/discussions/1649", - "created_at": "2024-04-10T05:25:28Z", - "upvotes": 1, + "number": 1159, + "title": "Looking for users (that are migrating off of something) to co-build Langfuse integration with", + "href": "https://github.com/orgs/langfuse/discussions/1159", + "created_at": "2024-02-14T19:05:27Z", + "upvotes": 2, "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "pengpengIlove", - "html_url": "https://github.com/pengpengIlove" + "login": "skrawcz", + "html_url": "https://github.com/skrawcz" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1610, - "title": "Scoring a trace after the LLM chain returns", - "href": "https://github.com/orgs/langfuse/discussions/1610", - "created_at": "2024-04-07T15:12:34Z", + "number": 1156, + "title": "Possible to set timestamp when creating trace", + "href": "https://github.com/orgs/langfuse/discussions/1156", + "created_at": "2024-02-14T14:26:22Z", "upvotes": 1, "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [ - "feat-scores" + "sdk-js" ], "author": { - "login": "pooja1423", - "html_url": "https://github.com/pooja1423" + "login": "Stadly", + "html_url": "https://github.com/Stadly" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1601, - "title": "Okta auth got `read ECONNRESET`", - "href": "https://github.com/orgs/langfuse/discussions/1601", - "created_at": "2024-04-04T03:46:08Z", - "upvotes": 1, - "comment_count": 2, + "number": 1154, + "title": "Dedicated user object which can include groups/teams and other attributes", + "href": "https://github.com/orgs/langfuse/discussions/1154", + "created_at": "2024-02-14T09:45:40Z", + "upvotes": 6, + "comment_count": 5, "resolved": false, - "labels": [], + "labels": [ + "feat-users" + ], "author": { - "login": "tmwatchanan", - "html_url": "https://github.com/tmwatchanan" + "login": "bryan-agicap", + "html_url": "https://github.com/bryan-agicap" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1538, - "title": "Trace input is null when passing in nodes, or Documents with transformations to VectorStoreIndex constructor", - "href": "https://github.com/orgs/langfuse/discussions/1538", - "created_at": "2024-03-29T00:30:49Z", - "upvotes": 1, + "number": 1133, + "title": "API to delete scores", + "href": "https://github.com/orgs/langfuse/discussions/1133", + "created_at": "2024-02-12T11:19:59Z", + "upvotes": 2, "comment_count": 1, "resolved": false, - "labels": [], + "labels": [ + "feat-api", + "feat-scores" + ], "author": { - "login": "mwertheim-zco", - "html_url": "https://github.com/mwertheim-zco" + "login": "Jason-CKY", + "html_url": "https://github.com/Jason-CKY" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1536, - "title": "Tracing and Session support on Integrations like LiteLLM Proxy and others and Is LangFuse logging a background process?", - "href": "https://github.com/orgs/langfuse/discussions/1536", - "created_at": "2024-03-28T20:22:49Z", - "upvotes": 1, + "number": 1128, + "title": "Display all traces within a session", + "href": "https://github.com/orgs/langfuse/discussions/1128", + "created_at": "2024-02-10T17:36:48Z", + "upvotes": 2, "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [ - "integration-litellm", + "ui", "feat-sessions" ], "author": { - "login": "Harryalways317", - "html_url": "https://github.com/Harryalways317" + "login": "benm5678", + "html_url": "https://github.com/benm5678" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1528, - "title": "Aggregated project from multiple langfuse servers", - "href": "https://github.com/orgs/langfuse/discussions/1528", - "created_at": "2024-03-28T09:01:37Z", + "number": 1118, + "title": "[Simple Feature/WebUI] Adding a button to hide the sidebar", + "href": "https://github.com/orgs/langfuse/discussions/1118", + "created_at": "2024-02-09T09:43:34Z", "upvotes": 3, "comment_count": 1, "resolved": false, - "labels": [], + "labels": [ + "ui" + ], "author": { - "login": "juan-abia", - "html_url": "https://github.com/juan-abia" + "login": "samyxdev", + "html_url": "https://github.com/samyxdev" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1524, - "title": "How to add default user and project to self-hosted docker?", - "href": "https://github.com/orgs/langfuse/discussions/1524", - "created_at": "2024-03-28T08:00:07Z", - "upvotes": 1, - "comment_count": 2, - "resolved": true, + "number": 1115, + "title": "Prioritize traces captured from LangGraph by relevance", + "href": "https://github.com/orgs/langfuse/discussions/1115", + "created_at": "2024-02-08T06:44:34Z", + "upvotes": 8, + "comment_count": 3, + "resolved": false, "labels": [ - "self-hosting" + "ui", + "integration-langchain" ], "author": { - "login": "tzsombor95", - "html_url": "https://github.com/tzsombor95" + "login": "litagent", + "html_url": "https://github.com/litagent" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1512, - "title": "[Alerts] Connect to Slack", - "href": "https://github.com/orgs/langfuse/discussions/1512", - "created_at": "2024-03-27T08:04:49Z", - "upvotes": 4, + "number": 1114, + "title": "Pulling prompt/completions via API", + "href": "https://github.com/orgs/langfuse/discussions/1114", + "created_at": "2024-02-08T00:52:10Z", + "upvotes": 1, "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [], "author": { - "login": "hypernovas", - "html_url": "https://github.com/hypernovas" + "login": "mukundt", + "html_url": "https://github.com/mukundt" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1486, - "title": "Update/delete score using python sdk", - "href": "https://github.com/orgs/langfuse/discussions/1486", - "created_at": "2024-03-25T20:13:55Z", + "number": 1106, + "title": "Prompt version comments", + "href": "https://github.com/orgs/langfuse/discussions/1106", + "created_at": "2024-02-07T15:38:07Z", "upvotes": 5, - "comment_count": 1, - "resolved": true, + "comment_count": 2, + "resolved": false, "labels": [ - "feat-scores" + "ui", + "feat-prompt-management", + "✅ Done" ], "author": { - "login": "msanand", - "html_url": "https://github.com/msanand" + "login": "mukundt", + "html_url": "https://github.com/mukundt" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1481, - "title": "502-Bad Request", - "href": "https://github.com/orgs/langfuse/discussions/1481", - "created_at": "2024-03-22T13:06:18Z", - "upvotes": 1, - "comment_count": 3, - "resolved": true, + "number": 1105, + "title": "\"Git diff\" view between two prompt versions", + "href": "https://github.com/orgs/langfuse/discussions/1105", + "created_at": "2024-02-07T15:37:18Z", + "upvotes": 13, + "comment_count": 1, + "resolved": false, "labels": [ - "self-hosting" + "ui", + "feat-prompt-management" ], "author": { - "login": "tbarbito", - "html_url": "https://github.com/tbarbito" + "login": "mukundt", + "html_url": "https://github.com/mukundt" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1466, - "title": "bug: Potential bug with AzureAD auth setup", - "href": "https://github.com/orgs/langfuse/discussions/1466", - "created_at": "2024-03-22T07:12:43Z", - "upvotes": 1, + "number": 1097, + "title": "Ability to post-process generation data", + "href": "https://github.com/orgs/langfuse/discussions/1097", + "created_at": "2024-02-06T17:45:58Z", + "upvotes": 2, "comment_count": 1, "resolved": false, + "labels": [], + "author": { + "login": "denisergashbaev", + "html_url": "https://github.com/denisergashbaev" + }, + "category": "Ideas" + }, + { + "number": 1096, + "title": "[Python SDK] Link prompt to OpenAI Chat Completion directly", + "href": "https://github.com/orgs/langfuse/discussions/1096", + "created_at": "2024-02-06T17:19:29Z", + "upvotes": 2, + "comment_count": 2, + "resolved": false, "labels": [ - "self-hosting" + "sdk-python", + "feat-prompt-management", + "integration-openai" ], "author": { - "login": "mprudra", - "html_url": "https://github.com/mprudra" + "login": "fancyweb", + "html_url": "https://github.com/fancyweb" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1449, - "title": "Langfuse session ID when using Chainlit", - "href": "https://github.com/orgs/langfuse/discussions/1449", - "created_at": "2024-03-20T00:57:09Z", + "number": 1089, + "title": "Use JWTs for API private key", + "href": "https://github.com/orgs/langfuse/discussions/1089", + "created_at": "2024-02-06T02:11:39Z", "upvotes": 1, "comment_count": 2, "resolved": false, "labels": [], "author": { - "login": "tituslhy", - "html_url": "https://github.com/tituslhy" + "login": "Manouchehri", + "html_url": "https://github.com/Manouchehri" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1445, - "title": "Linking dataset run items with existing callback handler", - "href": "https://github.com/orgs/langfuse/discussions/1445", - "created_at": "2024-03-19T16:54:54Z", + "number": 1082, + "title": "Add LLM call duration on session and trace table", + "href": "https://github.com/orgs/langfuse/discussions/1082", + "created_at": "2024-02-05T20:52:23Z", "upvotes": 1, "comment_count": 1, "resolved": false, "labels": [ - "feat-datasets" + "ui" ], "author": { - "login": "subandwho", - "html_url": "https://github.com/subandwho" + "login": "Manouchehri", + "html_url": "https://github.com/Manouchehri" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1434, - "title": "Add UserID and Feedback when using LlamaIndex Integration", - "href": "https://github.com/orgs/langfuse/discussions/1434", - "created_at": "2024-03-18T20:24:29Z", - "upvotes": 1, - "comment_count": 1, - "resolved": true, + "number": 1077, + "title": "Flowise: Allow adding metadata in API call to populate Langfuse trace metadata", + "href": "https://github.com/orgs/langfuse/discussions/1077", + "created_at": "2024-02-05T15:55:07Z", + "upvotes": 2, + "comment_count": 0, + "resolved": false, "labels": [ - "integraton-llamaindex" + "integration-flowise" ], "author": { - "login": "skelleex", - "html_url": "https://github.com/skelleex" + "login": "jpmin7", + "html_url": "https://github.com/jpmin7" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1432, - "title": "langfuse.api.resources.commons.errors.not_found_error.NotFoundError: status_code: 404, body: {'message': 'Observation not found'}", - "href": "https://github.com/orgs/langfuse/discussions/1432", - "created_at": "2024-03-18T13:29:05Z", + "number": 1076, + "title": "Flowise: Allow Langfuse traceId to be set or passed on with API response", + "href": "https://github.com/orgs/langfuse/discussions/1076", + "created_at": "2024-02-05T14:58:23Z", "upvotes": 1, "comment_count": 1, "resolved": false, - "labels": [], + "labels": [ + "sdk-js", + "integration-flowise" + ], "author": { - "login": "emailic", - "html_url": "https://github.com/emailic" + "login": "jpmin7", + "html_url": "https://github.com/jpmin7" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1429, - "title": "Hybrid usage Langfuse among OpenAI calls as well Langchain", - "href": "https://github.com/orgs/langfuse/discussions/1429", - "created_at": "2024-03-17T14:09:57Z", + "number": 1074, + "title": "Model costs in terms of energy for self hosted models (or cloud hosted)", + "href": "https://github.com/orgs/langfuse/discussions/1074", + "created_at": "2024-02-05T10:15:27Z", "upvotes": 1, "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [], "author": { - "login": "mikeon", - "html_url": "https://github.com/mikeon" + "login": "vquilon", + "html_url": "https://github.com/vquilon" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1420, - "title": "Datasets list / by id", - "href": "https://github.com/orgs/langfuse/discussions/1420", - "created_at": "2024-03-15T02:22:27Z", - "upvotes": 2, - "comment_count": 2, - "resolved": true, + "number": 1073, + "title": "Use proper logger for backend API to make it configurable", + "href": "https://github.com/orgs/langfuse/discussions/1073", + "created_at": "2024-02-05T09:19:01Z", + "upvotes": 3, + "comment_count": 5, + "resolved": false, "labels": [ - "feat-datasets" + "✅ Done", + "self-hosting" ], "author": { - "login": "norton120", - "html_url": "https://github.com/norton120" + "login": "code-haven", + "html_url": "https://github.com/code-haven" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1417, - "title": "Running Langfuse in Kubernetes", - "href": "https://github.com/orgs/langfuse/discussions/1417", - "created_at": "2024-03-14T19:59:42Z", - "upvotes": 1, - "comment_count": 2, - "resolved": true, + "number": 1049, + "title": "API Examples for Generations", + "href": "https://github.com/orgs/langfuse/discussions/1049", + "created_at": "2024-02-02T07:02:08Z", + "upvotes": 2, + "comment_count": 1, + "resolved": false, "labels": [], "author": { - "login": "mikeon", - "html_url": "https://github.com/mikeon" + "login": "Manouchehri", + "html_url": "https://github.com/Manouchehri" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1382, - "title": "Match LLMs from AWS Bedrock to added model definition", - "href": "https://github.com/orgs/langfuse/discussions/1382", - "created_at": "2024-03-09T08:28:53Z", + "number": 1048, + "title": "Allow sharing traces as a self contained HTML file via presigned S3 URL", + "href": "https://github.com/orgs/langfuse/discussions/1048", + "created_at": "2024-02-02T06:05:47Z", "upvotes": 2, "comment_count": 0, "resolved": false, "labels": [], "author": { - "login": "DominikNeumaier", - "html_url": "https://github.com/DominikNeumaier" + "login": "Manouchehri", + "html_url": "https://github.com/Manouchehri" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1380, - "title": "Langfuse flush() taking a long time and hangs", - "href": "https://github.com/orgs/langfuse/discussions/1380", - "created_at": "2024-03-09T00:09:55Z", - "upvotes": 1, + "number": 1043, + "title": "Ability to query entities from SDK", + "href": "https://github.com/orgs/langfuse/discussions/1043", + "created_at": "2024-02-01T23:51:00Z", + "upvotes": 4, "comment_count": 2, - "resolved": true, - "labels": [], + "resolved": false, + "labels": [ + "feat-api" + ], "author": { - "login": "venu-shapley", - "html_url": "https://github.com/venu-shapley" + "login": "Pranov1", + "html_url": "https://github.com/Pranov1" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1373, - "title": "How to fix error when running docs app demo chat", - "href": "https://github.com/orgs/langfuse/discussions/1373", - "created_at": "2024-03-08T00:08:46Z", - "upvotes": 1, - "comment_count": 1, - "resolved": true, + "number": 1033, + "title": "Subscribe to Langfuse Events via Webhooks", + "href": "https://github.com/orgs/langfuse/discussions/1033", + "created_at": "2024-02-01T18:59:56Z", + "upvotes": 34, + "comment_count": 6, + "resolved": false, "labels": [], "author": { - "login": "luandro", - "html_url": "https://github.com/luandro" - }, - "category": "Support" - }, - { - "number": 1357, - "title": "Run items not appearing when linking to a trace and not a span or a generation", - "href": "https://github.com/orgs/langfuse/discussions/1357", - "created_at": "2024-03-07T10:17:34Z", - "upvotes": 1, - "comment_count": 2, - "resolved": true, - "labels": [ - "feat-datasets" - ], - "author": { - "login": "ladislasdellinger", - "html_url": "https://github.com/ladislasdellinger" + "login": "marcklingen", + "html_url": "https://github.com/marcklingen" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1353, - "title": "How do I add custom LLM APIs to the Langfuse UI?", - "href": "https://github.com/orgs/langfuse/discussions/1353", - "created_at": "2024-03-07T06:33:23Z", - "upvotes": 0, + "number": 1032, + "title": "Periodic reports (email or slack)", + "href": "https://github.com/orgs/langfuse/discussions/1032", + "created_at": "2024-02-01T18:57:42Z", + "upvotes": 12, "comment_count": 1, "resolved": false, "labels": [], "author": { - "login": "yudhiesh", - "html_url": "https://github.com/yudhiesh" + "login": "marcklingen", + "html_url": "https://github.com/marcklingen" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1336, - "title": "Applying database migrations failed. This is mostly caused by the database being unavailable.", - "href": "https://github.com/orgs/langfuse/discussions/1336", - "created_at": "2024-03-06T09:10:19Z", - "upvotes": 1, + "number": 1021, + "title": "Add `Embedding` observation type", + "href": "https://github.com/orgs/langfuse/discussions/1021", + "created_at": "2024-02-01T03:15:17Z", + "upvotes": 55, "comment_count": 2, "resolved": false, "labels": [], "author": { - "login": "everyfin-in", - "html_url": "https://github.com/everyfin-in" + "login": "marcklingen", + "html_url": "https://github.com/marcklingen" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1335, - "title": "Openai and null traces for input/output/metadata", - "href": "https://github.com/orgs/langfuse/discussions/1335", - "created_at": "2024-03-06T02:02:46Z", - "upvotes": 2, + "number": 1020, + "title": "Leveraging Azure OpenAI Diagnostic Settings?", + "href": "https://github.com/orgs/langfuse/discussions/1020", + "created_at": "2024-02-01T02:58:54Z", + "upvotes": 1, "comment_count": 0, "resolved": false, - "labels": [], + "labels": [ + "integration-openai", + "integration-litellm" + ], "author": { - "login": "aiakubovich", - "html_url": "https://github.com/aiakubovich" + "login": "Manouchehri", + "html_url": "https://github.com/Manouchehri" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1328, - "title": "Incompatibility between openllmetry and langfuse OpenAI wrapper", - "href": "https://github.com/orgs/langfuse/discussions/1328", - "created_at": "2024-03-05T17:03:34Z", - "upvotes": 1, - "comment_count": 1, + "number": 1011, + "title": "Configurable dashboards", + "href": "https://github.com/orgs/langfuse/discussions/1011", + "created_at": "2024-01-31T13:40:59Z", + "upvotes": 17, + "comment_count": 2, "resolved": false, - "labels": [], + "labels": [ + "ui", + "feat-dashboard" + ], "author": { - "login": "pamelafox", - "html_url": "https://github.com/pamelafox" + "login": "marcklingen", + "html_url": "https://github.com/marcklingen" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1326, - "title": "Does Langfuse integrate with LiteLLM Proxy Server?", - "href": "https://github.com/orgs/langfuse/discussions/1326", - "created_at": "2024-03-05T15:25:37Z", - "upvotes": 1, + "number": 1010, + "title": "Add new integration: LLM Proxy", + "href": "https://github.com/orgs/langfuse/discussions/1010", + "created_at": "2024-01-31T12:40:35Z", + "upvotes": 2, "comment_count": 1, - "resolved": true, - "labels": [], + "resolved": false, + "labels": [ + "integrations" + ], "author": { - "login": "alphanome", - "html_url": "https://github.com/alphanome" + "login": "marcklingen", + "html_url": "https://github.com/marcklingen" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1325, - "title": "Do you need a helm chart of langfuse?", - "href": "https://github.com/orgs/langfuse/discussions/1325", - "created_at": "2024-03-05T15:02:42Z", - "upvotes": 1, - "comment_count": 1, + "number": 1009, + "title": "Decorator-based integration with Langfuse", + "href": "https://github.com/orgs/langfuse/discussions/1009", + "created_at": "2024-01-31T12:19:26Z", + "upvotes": 7, + "comment_count": 3, "resolved": false, - "labels": [], + "labels": [ + "sdk-python", + "integrations", + "✅ Done", + "integration-python-decorator" + ], "author": { - "login": "artemus717", - "html_url": "https://github.com/artemus717" + "login": "marcklingen", + "html_url": "https://github.com/marcklingen" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1323, - "title": "When referencing the local langfuse in the langserve code, an error occurs:“ImportError: cannot import name 'ChatDeepInfra' from 'langchain_community.chat_models...”", - "href": "https://github.com/orgs/langfuse/discussions/1323", - "created_at": "2024-03-05T13:03:49Z", + "number": 1004, + "title": "should work with OpenAI-compatible self-hosted endpoints", + "href": "https://github.com/orgs/langfuse/discussions/1004", + "created_at": "2024-01-31T09:04:28Z", "upvotes": 2, "comment_count": 2, - "resolved": true, - "labels": [], + "resolved": false, + "labels": [ + "sdk-python", + "integration-openai" + ], "author": { - "login": "zhenlong-zhu", - "html_url": "https://github.com/zhenlong-zhu" + "login": "7flash", + "html_url": "https://github.com/7flash" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1225, - "title": "Can Langfuse be used to record the records of ConversationChain in LangChain?", - "href": "https://github.com/orgs/langfuse/discussions/1225", - "created_at": "2024-02-22T09:24:34Z", - "upvotes": 1, + "number": 999, + "title": "Users should be able to pass metadata and tags via `overrideConfig` when using the Flowise integration", + "href": "https://github.com/orgs/langfuse/discussions/999", + "created_at": "2024-01-30T19:52:41Z", + "upvotes": 2, "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [ - "integration-langchain" + "sdk-js", + "integration-flowise", + "✅ Done" ], "author": { - "login": "lyzltysgithub", - "html_url": "https://github.com/lyzltysgithub" + "login": "giorgosera", + "html_url": "https://github.com/giorgosera" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1193, - "title": "What is the shadow database needed for?", - "href": "https://github.com/orgs/langfuse/discussions/1193", - "created_at": "2024-02-17T08:23:33Z", + "number": 991, + "title": "Inferring cost of trace from metadata field if optionally provided", + "href": "https://github.com/orgs/langfuse/discussions/991", + "created_at": "2024-01-30T07:38:56Z", "upvotes": 1, "comment_count": 2, - "resolved": true, + "resolved": false, "labels": [], "author": { - "login": "Stadly", - "html_url": "https://github.com/Stadly" + "login": "sumba101", + "html_url": "https://github.com/sumba101" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1184, - "title": "Unable to set session id or other CallbackHandler parameters when passing trace client in langchain sdk", - "href": "https://github.com/orgs/langfuse/discussions/1184", - "created_at": "2024-02-16T08:01:51Z", - "upvotes": 1, - "comment_count": 1, - "resolved": true, + "number": 990, + "title": "filtering sessions with metadata", + "href": "https://github.com/orgs/langfuse/discussions/990", + "created_at": "2024-01-30T06:21:42Z", + "upvotes": 7, + "comment_count": 2, + "resolved": false, "labels": [ - "integration-langchain" + "ui", + "feat-sessions", + "feat-metadata" ], "author": { - "login": "sasidevtool", - "html_url": "https://github.com/sasidevtool" + "login": "litagent", + "html_url": "https://github.com/litagent" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1186, - "title": "How to set tags when using the Langchain Callback handler", - "href": "https://github.com/orgs/langfuse/discussions/1186", - "created_at": "2024-02-16T05:47:31Z", - "upvotes": 2, - "comment_count": 2, - "resolved": true, - "labels": [ - "sdk-python", - "integration-langchain", - "feat-tags" - ], + "number": 989, + "title": "Enable Collaboration Platforms for Project Members", + "href": "https://github.com/orgs/langfuse/discussions/989", + "created_at": "2024-01-30T04:00:26Z", + "upvotes": 1, + "comment_count": 1, + "resolved": false, + "labels": [], "author": { - "login": "reza-mohideen", - "html_url": "https://github.com/reza-mohideen" + "login": "khareyash05", + "html_url": "https://github.com/khareyash05" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1179, - "title": "Ollama token counts", - "href": "https://github.com/orgs/langfuse/discussions/1179", - "created_at": "2024-02-15T23:38:39Z", - "upvotes": 2, + "number": 982, + "title": "Supporting OpenAI Vision", + "href": "https://github.com/orgs/langfuse/discussions/982", + "created_at": "2024-01-29T19:06:44Z", + "upvotes": 7, "comment_count": 2, - "resolved": true, + "resolved": false, "labels": [ - "feat-cost-tracking" + "integration-openai", + "✅ Done", + "feat-multimodal" ], "author": { - "login": "aiseei", - "html_url": "https://github.com/aiseei" + "login": "pj747", + "html_url": "https://github.com/pj747" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1310, - "title": "Trace of custom classes gives nondescriptive info", - "href": "https://github.com/orgs/langfuse/discussions/1310", - "created_at": "2024-02-06T14:13:26Z", - "upvotes": 1, - "comment_count": 0, + "number": 980, + "title": "Comments on objects across the Langfuse UI", + "href": "https://github.com/orgs/langfuse/discussions/980", + "created_at": "2024-01-29T18:21:03Z", + "upvotes": 3, + "comment_count": 3, "resolved": false, - "labels": [], + "labels": [ + "ui", + "✅ Done" + ], "author": { - "login": "mjungiewicz-exadel", - "html_url": "https://github.com/mjungiewicz-exadel" + "login": "marcklingen", + "html_url": "https://github.com/marcklingen" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1091, - "title": "How to pass span id to OpenAI `chat.completions.create`", - "href": "https://github.com/orgs/langfuse/discussions/1091", - "created_at": "2024-02-06T09:33:30Z", - "upvotes": 1, - "comment_count": 1, - "resolved": true, + "number": 976, + "title": "Support alternative databases next to Postgres, e.g. MySQL", + "href": "https://github.com/orgs/langfuse/discussions/976", + "created_at": "2024-01-28T21:44:11Z", + "upvotes": 3, + "comment_count": 6, + "resolved": false, "labels": [ - "integration-openai" + "self-hosting" ], "author": { - "login": "techytushar", - "html_url": "https://github.com/techytushar" + "login": "zoltan-fedor", + "html_url": "https://github.com/zoltan-fedor" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1081, - "title": "Sessions vs Traces?", - "href": "https://github.com/orgs/langfuse/discussions/1081", - "created_at": "2024-02-05T21:06:03Z", - "upvotes": 1, - "comment_count": 2, - "resolved": true, + "number": 969, + "title": "Flowise - OpenAI Assistant cost tracking", + "href": "https://github.com/orgs/langfuse/discussions/969", + "created_at": "2024-01-26T18:04:07Z", + "upvotes": 2, + "comment_count": 0, + "resolved": false, "labels": [ - "feat-sessions" + "integration-flowise" ], "author": { - "login": "Manouchehri", - "html_url": "https://github.com/Manouchehri" + "login": "jozsef-gereby", + "html_url": "https://github.com/jozsef-gereby" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1071, - "title": "feat: support for custom httpx.client", - "href": "https://github.com/orgs/langfuse/discussions/1071", - "created_at": "2024-02-05T06:35:23Z", - "upvotes": 1, + "number": 964, + "title": "Latency metrics - Time to first token, Tokens per second", + "href": "https://github.com/orgs/langfuse/discussions/964", + "created_at": "2024-01-26T15:37:01Z", + "upvotes": 8, + "comment_count": 3, + "resolved": false, + "labels": [ + "✅ Done" + ], + "author": { + "login": "nikcaryo-super", + "html_url": "https://github.com/nikcaryo-super" + }, + "category": "Ideas" + }, + { + "number": 958, + "title": "LLM calls captured via Langchain integration should match what’s sent to the LLM", + "href": "https://github.com/orgs/langfuse/discussions/958", + "created_at": "2024-01-25T16:45:38Z", + "upvotes": 3, "comment_count": 2, "resolved": false, "labels": [], "author": { - "login": "brandonkzw", - "html_url": "https://github.com/brandonkzw" + "login": "benm5678", + "html_url": "https://github.com/benm5678" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1070, - "title": "Where to log request and response headers of generations? (litellm)", - "href": "https://github.com/orgs/langfuse/discussions/1070", - "created_at": "2024-02-05T02:40:38Z", + "number": 953, + "title": "Improve integration with flowise", + "href": "https://github.com/orgs/langfuse/discussions/953", + "created_at": "2024-01-24T19:57:06Z", "upvotes": 1, "comment_count": 2, - "resolved": true, + "resolved": false, "labels": [ - "integration-litellm" + "sdk-js", + "integration-flowise" ], "author": { - "login": "Manouchehri", - "html_url": "https://github.com/Manouchehri" + "login": "tsiougkosn", + "html_url": "https://github.com/tsiougkosn" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1055, - "title": "Best way to flush LF in Next.js?", - "href": "https://github.com/orgs/langfuse/discussions/1055", - "created_at": "2024-02-02T17:50:58Z", - "upvotes": 1, - "comment_count": 1, - "resolved": true, + "number": 941, + "title": "Dark mode", + "href": "https://github.com/orgs/langfuse/discussions/941", + "created_at": "2024-01-24T05:52:30Z", + "upvotes": 9, + "comment_count": 5, + "resolved": false, + "labels": [ + "✅ Done" + ], + "author": { + "login": "archywillhe", + "html_url": "https://github.com/archywillhe" + }, + "category": "Ideas" + }, + { + "number": 939, + "title": "Full-text search on trace/observation/generation input/output", + "href": "https://github.com/orgs/langfuse/discussions/939", + "created_at": "2024-01-23T23:47:11Z", + "upvotes": 28, + "comment_count": 10, + "resolved": false, + "labels": [ + "ui" + ], + "author": { + "login": "marcklingen", + "html_url": "https://github.com/marcklingen" + }, + "category": "Ideas" + }, + { + "number": 917, + "title": "Download dashboard details", + "href": "https://github.com/orgs/langfuse/discussions/917", + "created_at": "2024-01-21T16:35:24Z", + "upvotes": 8, + "comment_count": 3, + "resolved": false, "labels": [], "author": { - "login": "gullerg", - "html_url": "https://github.com/gullerg" + "login": "kerenaba", + "html_url": "https://github.com/kerenaba" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1054, - "title": "Sentry for self-hosted?", - "href": "https://github.com/orgs/langfuse/discussions/1054", - "created_at": "2024-02-02T17:21:06Z", - "upvotes": 1, + "number": 902, + "title": "Support secret in docker compose", + "href": "https://github.com/orgs/langfuse/discussions/902", + "created_at": "2024-01-17T14:03:26Z", + "upvotes": 2, "comment_count": 1, - "resolved": true, + "resolved": false, "labels": [], "author": { - "login": "Manouchehri", - "html_url": "https://github.com/Manouchehri" + "login": "shuther", + "html_url": "https://github.com/shuther" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1051, - "title": "How can I get the trace_id in langfuse.openai.OpenAI?", - "href": "https://github.com/orgs/langfuse/discussions/1051", - "created_at": "2024-02-02T09:39:55Z", + "number": 896, + "title": "generation usage should accept a list of dict for async generation", + "href": "https://github.com/orgs/langfuse/discussions/896", + "created_at": "2024-01-17T05:59:24Z", "upvotes": 1, "comment_count": 1, - "resolved": true, - "labels": [ - "integration-openai" - ], + "resolved": false, + "labels": [], "author": { - "login": "yangge2333", - "html_url": "https://github.com/yangge2333" + "login": "dove-young", + "html_url": "https://github.com/dove-young" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1044, - "title": "AWS SES IAM Policy", - "href": "https://github.com/orgs/langfuse/discussions/1044", - "created_at": "2024-02-02T01:58:26Z", - "upvotes": 2, - "comment_count": 1, + "number": 874, + "title": "Improve exception handling and type safety in python SDK", + "href": "https://github.com/orgs/langfuse/discussions/874", + "created_at": "2024-01-12T17:01:58Z", + "upvotes": 5, + "comment_count": 3, "resolved": false, "labels": [], "author": { - "login": "Manouchehri", - "html_url": "https://github.com/Manouchehri" + "login": "hubert-springbok", + "html_url": "https://github.com/hubert-springbok" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1019, - "title": "WAF Rules for self-hosted", - "href": "https://github.com/orgs/langfuse/discussions/1019", - "created_at": "2024-02-01T01:41:51Z", - "upvotes": 3, + "number": 854, + "title": "Feature: API should give User-Tokens", + "href": "https://github.com/orgs/langfuse/discussions/854", + "created_at": "2024-01-09T14:26:47Z", + "upvotes": 6, "comment_count": 0, "resolved": false, "labels": [], "author": { - "login": "Manouchehri", - "html_url": "https://github.com/Manouchehri" + "login": "droggta", + "html_url": "https://github.com/droggta" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1016, - "title": "Scaling / Parallelism / Concurrency safe?", - "href": "https://github.com/orgs/langfuse/discussions/1016", - "created_at": "2024-01-31T22:33:36Z", - "upvotes": 1, + "number": 852, + "title": "Add prompt.to_langchain() to get a Langchain Prompt Template", + "href": "https://github.com/orgs/langfuse/discussions/852", + "created_at": "2024-01-09T13:20:55Z", + "upvotes": 7, + "comment_count": 2, + "resolved": false, + "labels": [ + "integrations", + "feat-prompt-management", + "✅ Done" + ], + "author": { + "login": "marcklingen", + "html_url": "https://github.com/marcklingen" + }, + "category": "Ideas" + }, + { + "number": 853, + "title": "feat(ui): Dashboard filter and highlight", + "href": "https://github.com/orgs/langfuse/discussions/853", + "created_at": "2024-01-09T05:37:34Z", + "upvotes": 2, "comment_count": 1, - "resolved": true, - "labels": [], + "resolved": false, + "labels": [ + "ui", + "Dashboard" + ], "author": { - "login": "Manouchehri", - "html_url": "https://github.com/Manouchehri" + "login": "lkNGAT", + "html_url": "https://github.com/lkNGAT" }, - "category": "Support" + "category": "Ideas" }, { - "number": 1013, - "title": "Building Docker container without database connection?", - "href": "https://github.com/orgs/langfuse/discussions/1013", - "created_at": "2024-01-31T19:32:47Z", - "upvotes": 1, + "number": 844, + "title": "Integration: Node.js/Typescript OpenAI SDK", + "href": "https://github.com/orgs/langfuse/discussions/844", + "created_at": "2024-01-08T22:39:27Z", + "upvotes": 8, "comment_count": 2, - "resolved": true, - "labels": [], + "resolved": false, + "labels": [ + "sdk-js", + "integrations", + "✅ Done" + ], "author": { - "login": "Manouchehri", - "html_url": "https://github.com/Manouchehri" + "login": "marcklingen", + "html_url": "https://github.com/marcklingen" }, - "category": "Support" + "category": "Ideas" }, { - "number": 973, - "title": "If we use cloud services, when we migrate to our own host later, do all the above data support export?", - "href": "https://github.com/orgs/langfuse/discussions/973", - "created_at": "2024-01-27T09:55:41Z", + "number": 828, + "title": "LlamaIndex integration (Python)", + "href": "https://github.com/orgs/langfuse/discussions/828", + "created_at": "2024-01-06T18:21:02Z", + "upvotes": 20, + "comment_count": 7, + "resolved": false, + "labels": [ + "sdk-python", + "integrations", + "✅ Done", + "integraton-llamaindex" + ], + "author": { + "login": "marcklingen", + "html_url": "https://github.com/marcklingen" + }, + "category": "Ideas" + }, + { + "number": 1007, + "title": "Admin API: projects, api keys, user management", + "href": "https://github.com/orgs/langfuse/discussions/1007", + "created_at": "2023-12-21T13:22:28Z", + "upvotes": 24, + "comment_count": 13, + "resolved": false, + "labels": [ + "feat-api", + "self-hosting" + ], + "author": { + "login": "maxxte", + "html_url": "https://github.com/maxxte" + }, + "category": "Ideas" + }, + { + "number": 1006, + "title": "Versioning of docs", + "href": "https://github.com/orgs/langfuse/discussions/1006", + "created_at": "2023-12-18T01:27:09Z", "upvotes": 1, "comment_count": 1, - "resolved": true, - "labels": [], + "resolved": false, + "labels": [ + "docs" + ], "author": { - "login": "wsdo", - "html_url": "https://github.com/wsdo" + "login": "flxwu", + "html_url": "https://github.com/flxwu" }, - "category": "Support" + "category": "Ideas" }, { - "number": 866, - "title": "Cannot see Add to Dataset button in the UI", - "href": "https://github.com/orgs/langfuse/discussions/866", - "created_at": "2024-01-11T09:12:16Z", - "upvotes": 1, - "comment_count": 2, - "resolved": true, + "number": 1008, + "title": "Datasets: Diff of output and expected output", + "href": "https://github.com/orgs/langfuse/discussions/1008", + "created_at": "2023-11-29T00:35:13Z", + "upvotes": 6, + "comment_count": 3, + "resolved": false, "labels": [ + "ui", "feat-datasets" ], "author": { - "login": "SinghCoder", - "html_url": "https://github.com/SinghCoder" + "login": "marcklingen", + "html_url": "https://github.com/marcklingen" }, - "category": "Support" + "category": "Ideas" + }, + { + "number": 1066, + "title": "feat: Publish arm64 compatible docker images", + "href": "https://github.com/orgs/langfuse/discussions/1066", + "created_at": "2023-11-08T16:06:08Z", + "upvotes": 1, + "comment_count": 10, + "resolved": false, + "labels": [ + "✅ Done", + "self-hosting" + ], + "author": { + "login": "code-haven", + "html_url": "https://github.com/code-haven" + }, + "category": "Ideas" + }, + { + "number": 1065, + "title": "OpenAI SDK wrapper for JS", + "href": "https://github.com/orgs/langfuse/discussions/1065", + "created_at": "2023-09-15T10:55:35Z", + "upvotes": 1, + "comment_count": 3, + "resolved": false, + "labels": [ + "sdk-js", + "integrations", + "integration-openai", + "✅ Done" + ], + "author": { + "login": "marcklingen", + "html_url": "https://github.com/marcklingen" + }, + "category": "Ideas" } ] }, From 36a8431dabd18f20f39ca0761d7b64a73834e178 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jannik=20Maierh=C3=B6fer?= <48529566+jannikmaierhoefer@users.noreply.github.com> Date: Wed, 27 Nov 2024 16:17:22 +0100 Subject: [PATCH 19/21] docs: add sticker link to asian pages (#1019) --- pages/cn.mdx | 3 ++- pages/jp.mdx | 3 ++- pages/kr.mdx | 3 ++- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/pages/cn.mdx b/pages/cn.mdx index 057b09680..1726a8c83 100644 --- a/pages/cn.mdx +++ b/pages/cn.mdx @@ -106,4 +106,5 @@ Langfuse 提供一系列功能,可在人工智能产品的整个周期中为 * 🤷‍♂️ 保持联系:在社交媒体上关注我们,了解最新动态。 * [推特](https://x.com/langfuse) * [纪和声](https://discord.langfuse.com/) - * [LinkedIn](https://www.linkedin.com/company/langfuse) \ No newline at end of file + * [LinkedIn](https://www.linkedin.com/company/langfuse) +* 🖼️ [接收朗富斯贴纸](https://langfuse.com/stickers) \ No newline at end of file diff --git a/pages/jp.mdx b/pages/jp.mdx index 1161f7a2e..dcc141054 100644 --- a/pages/jp.mdx +++ b/pages/jp.mdx @@ -114,4 +114,5 @@ Langfuseは[インテグレーションやSDKを通して](/docs/integrations/ov * 🤷‍♂️ 連絡を取り合う:ソーシャルメディアで最新情報をご覧ください。 * [Twitter](https://x.com/langfuse) * [Discord](https://discord.langfuse.com/) - * [LinkedIn](https://www.linkedin.com/company/langfuse) \ No newline at end of file + * [LinkedIn](https://www.linkedin.com/company/langfuse) +* 🖼️ [ラングフューズのステッカーを受け取る](https://langfuse.com/stickers) \ No newline at end of file diff --git a/pages/kr.mdx b/pages/kr.mdx index dcaec3c5a..c558d6602 100644 --- a/pages/kr.mdx +++ b/pages/kr.mdx @@ -112,4 +112,5 @@ Langfuse와 함께 여정을 시작하는 방법은 간단합니다: * 🤷‍♂️ 연결 상태 유지: 소셜 미디어를 팔로우하여 최신 소식을 받아보세요. * [트위터](https://x.com/langfuse) * [디스코드](https://discord.langfuse.com/) - * [LinkedIn](https://www.linkedin.com/company/langfuse) \ No newline at end of file + * [LinkedIn](https://www.linkedin.com/company/langfuse) +* 🖼️ [랑퓨즈 스티커 받기](https://langfuse.com/stickers) \ No newline at end of file From 0ecec7bcf8a6ec8ac53926866b40003f3e870ec0 Mon Sep 17 00:00:00 2001 From: Marc Klingen Date: Wed, 27 Nov 2024 18:50:54 +0100 Subject: [PATCH 20/21] feat: add ci pipeline (#1020) --- .github/workflows/ci.yml | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 .github/workflows/ci.yml diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 000000000..7c8eef53f --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,29 @@ +name: "CI" + +on: + pull_request: + merge_group: + +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + with: + fetch-depth: 0 + + - uses: pnpm/action-setup@v4 + id: pnpm-install + with: + version: 9.5.0 + run_install: false + + - uses: actions/setup-node@v4 + with: + node-version: 20 + + - run: pnpm install + + - name: Build next.js app + # change this if your site requires a custom build command + run: pnpm build From 96c67779cc3a5426a731943ee040c0fa007a66ac Mon Sep 17 00:00:00 2001 From: GitHub Action Date: Wed, 27 Nov 2024 18:05:32 +0000 Subject: [PATCH 21/21] chore: update langfuse_github_discussions.json --- src/langfuse_github_discussions.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/langfuse_github_discussions.json b/src/langfuse_github_discussions.json index 04502893f..751c7b9c3 100644 --- a/src/langfuse_github_discussions.json +++ b/src/langfuse_github_discussions.json @@ -1,5 +1,5 @@ { - "updated_at": "2024-11-27T12:07:09.992673+00:00", + "updated_at": "2024-11-27T18:05:32.728562+00:00", "categories": [ { "category": "Support", @@ -43,7 +43,7 @@ "created_at": "2024-11-26T19:57:21Z", "upvotes": 1, "comment_count": 2, - "resolved": false, + "resolved": true, "labels": [ "self-hosting" ], @@ -125,7 +125,7 @@ "href": "https://github.com/orgs/langfuse/discussions/4413", "created_at": "2024-11-25T15:30:23Z", "upvotes": 1, - "comment_count": 3, + "comment_count": 4, "resolved": false, "labels": [ "feat-auth", @@ -12301,7 +12301,7 @@ "title": "Add `Embedding` observation type", "href": "https://github.com/orgs/langfuse/discussions/1021", "created_at": "2024-02-01T03:15:17Z", - "upvotes": 55, + "upvotes": 57, "comment_count": 2, "resolved": false, "labels": [],

=#?VIkwqPQR7GvCX&AO`l|p1SN?8r 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 vivV0Y!^q}5?CjA$4PT^|=6 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 literal 0 HcmV?d00001 diff --git a/public/images/docs/lobechat-example-trace.png b/public/images/docs/lobechat-example-trace.png new file mode 100644 index 0000000000000000000000000000000000000000..786ed3970753efbf64922329ec9bc168f0438456 GIT binary patch literal 203536 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