描述您希望的功能
在使用langfuse时,trace ID是随机生成的,这是langfuse SDK的默认行为。在创建trace后,无法将langfuse trace与Flowise消息进行匹配。
这个限制的一个问题是,我们无法使用langfuse score API来存储用户反馈,因为我们没有每条消息的trace id。
不同的解决方案可以是:
- 在运行预测时通过输入参数设置trace ID。这目前用于向langfuse注入值,如用户ID。
- 在langfuse中始终将消息ID设置为trace ID。
- 在预测响应中也返回trace ID。
我检查了代码,发现Flowise同时使用了langfuse和langfuse-langchain SDK来处理不同的用例。我不确定哪个用例使用哪个SDK。我正在测试一个基本的链式流程,它使用的是langfuse-langchain SDK。
此外,langfuse方面还在进行一场讨论:https://github.com/orgs/langfuse/discussions/953
2条答案
按热度按时间ljo96ir51#
我认为在这次PR(https://github.com/FlowiseAI/Flowise/pull/2195/files)中,我们使用correlationId来跟踪父消息,这在某种程度上是相似的。
2jcobegt2#
我不确定
correlationId
如何在Langchain中存储,但无论如何我们需要traceId来通过Langfuse的API执行操作。与此同时,我们正在使用traces的
metadata
字段来存储一个自定义的responseId
,然后在为该trace设置分数之前,我们遍历会话中的所有traces并获取与responseId
匹配的trace以获取traceId
。这种方法虽然有效,但非常hacky。