什么是 Langfuse

Langfuse 是一个开源的 LLM 工程平台,可以帮助团队协作调试、分析和迭代他们的应用程序。

Langfuse 官网介绍:https://langfuse.com/


如何配置 Langfuse

  1. 官网注册 并登录 Langfuse
  2. 在 Langfuse 内创建项目,登录后在主页点击 New ,创建一个自己的项目,项目 将用于与 Dify 内的 应用 关联进行数据监测。

在 Langfuse 内创建项目

为项目编辑一个名称。

在 Langfuse 内创建项目

  1. 创建项目 API 凭据,在项目内左侧边栏中点击 Settings 打开设置

创建一个项目 API 凭据

在 Settings 内点击 Create API Keys 创建一个项目 API 凭据。

创建一个项目 API 凭据

复制并保存 Secret KeyPublic Key,Host

获取 API Key 配置

  1. 在 Dify 内配置 Langfuse,打开需要监测的应用,在侧边菜单打开 **监测 **,在页面中选择 配置。

配置 Langfuse

点击配置后,将在 Langfuse 内创建的 Secret Key, Public Key, Host 粘贴到配置内并保存。

配置 Langfuse

成功保存后可以在当前页面查看到状态,显示已启动即正在监测。

查看配置状态


在 Langfuse 内查看监测数据

配置完成后, Dify 内应用的调试或生产数据可以在 Langfuse 查看监测数据。

在 Dify 内调试应用

在 Langfuse 内查看应用数据

在 Langfuse 内查看应用数据

监测数据清单

Workflow /Chatflow Trace 信息

** 用于追踪 workflow 以及 chatflow**

WorkflowLangFuse Trace
workflow_app_log_id/workflow_run_idid
user_session_iduser_id
workflow_name
start_timestart_time
end_timeend_time
inputsinput
outputsoutput
模型 token 消耗相关usage
metadatametadata
errorlevel
errorstatus_message
[workflow]tags
conversation_id/workflow 时无session_id
conversion_idparent_observation_id

Workflow Trace Info

  • workflow_id - Workflow 的唯一标识
  • conversation_id - 对话 ID
  • workflow_run_id - 此次运行的 ID
  • tenant_id - 租户 ID
  • elapsed_time - 此次运行耗时
  • status - 运行状态
  • version - Workflow 版本
  • total_tokens - 此次运行使用的 token 总数
  • file_list - 处理的文件列表
  • triggered_from - 触发此次运行的来源
  • workflow_run_inputs - 此次运行的输入数据
  • workflow_run_outputs - 此次运行的输出数据
  • error - 此次运行中发生的错误
  • query - 运行时使用的查询
  • workflow_app_log_id - Workflow 应用日志 ID
  • message_id - 关联的消息 ID
  • start_time - 运行开始时间
  • end_time - 运行结束时间
  • workflow node executions - workflow 节点运行信息
  • Metadata
    • workflow_id - Workflow 的唯一标识
    • conversation_id - 对话 ID
    • workflow_run_id - 此次运行的 ID
    • tenant_id - 租户 ID
    • elapsed_time - 此次运行耗时
    • status - 运行状态
    • version - Workflow 版本
    • total_tokens - 此次运行使用的 token 总数
    • file_list - 处理的文件列表
    • triggered_from - 触发来源

Message Trace 信息

** 用于追踪 llm 对话相关 **

MessageLangFuse Generation/Trace
message_idid
user_session_iduser_id
message_name
start_timestart_time
end_timeend_time
inputsinput
outputsoutput
模型 token 消耗相关usage
metadatametadata
errorlevel
errorstatus_message
[“message”, conversation_mode]tags
conversation_idsession_id
conversion_idparent_observation_id

Message Trace Info

  • message_id - 消息 ID
  • message_data - 消息数据
  • user_session_id - 用户的 session_id
  • conversation_model - 对话模式
  • message_tokens - 消息中的令牌数
  • answer_tokens - 回答中的令牌数
  • total_tokens - 消息和回答中的总令牌数
  • error - 错误信息
  • inputs - 输入数据
  • outputs - 输出数据
  • file_list - 处理的文件列表
  • start_time - 开始时间
  • end_time - 结束时间
  • message_file_data - 消息关联的文件数据
  • conversation_mode - 对话模式
  • Metadata
    • conversation_id - 消息所属对话的 ID
    • ls_provider - 模型提供者
    • ls_model_name - 模型 ID
    • status - 消息状态
    • from_end_user_id - 发送用户的 ID
    • from_account_id - 发送账户的 ID
    • agent_based - 是否基于代理
    • workflow_run_id - 工作流运行 ID
    • from_source - 消息来源
    • message_id - 消息 ID

Moderation Trace 信息

** 用于追踪对话审查 **

ModerationLangFuse Generation/Trace
user_iduser_id
moderationname
start_timestart_time
end_timeend_time
inputsinput
outputsoutput
metadatametadata
[moderation]tags
message_idparent_observation_id

Message Trace Info

  • message_id - 消息 ID
  • user_id: 用户 id
  • workflow_app_log_id workflow_app_log_id
  • inputs - 审查的输入数据
  • message_data - 消息数据
  • flagged - 是否被标记为需要注意的内容
  • action - 执行的具体行动
  • preset_response - 预设响应
  • start_time - 审查开始时间
  • end_time - 审查结束时间
  • Metadata
    • message_id - 消息 ID
    • action - 执行的具体行动
    • preset_response - 预设响应

Suggested Question Trace 信息

** 用于追踪建议问题 **

Suggested QuestionLangFuse Generation/Trace
user_iduser_id
suggested_questionname
start_timestart_time
end_timeend_time
inputsinput
outputsoutput
metadatametadata
[suggested_question]tags
message_idparent_observation_id

Message Trace Info

  • message_id - 消息 ID
  • message_data - 消息数据
  • inputs - 输入的内容
  • outputs - 输出的内容
  • start_time - 开始时间
  • end_time - 结束时间
  • total_tokens - 令牌数量
  • status - 消息状态
  • error - 错误信息
  • from_account_id - 发送账户的 ID
  • agent_based - 是否基于代理
  • from_source - 消息来源
  • model_provider - 模型提供者
  • model_id - 模型 ID
  • suggested_question - 建议的问题
  • level - 状态级别
  • status_message - 状态信息
  • Metadata
    • message_id - 消息 ID
    • ls_provider - 模型提供者
    • ls_model_name - 模型 ID
    • status - 消息状态
    • from_end_user_id - 发送用户的 ID
    • from_account_id - 发送账户的 ID
    • workflow_run_id - 工作流运行 ID
    • from_source - 消息来源

Dataset Retrieval Trace 信息

** 用于追踪知识库检索 **

Dataset RetrievalLangFuse Generation/Trace
user_iduser_id
dataset_retrievalname
start_timestart_time
end_timeend_time
inputsinput
outputsoutput
metadatametadata
[dataset_retrieval]tags
message_idparent_observation_id

Dataset Retrieval Trace Info

  • message_id - 消息 ID
  • inputs - 输入内容
  • documents - 文档数据
  • start_time - 开始时间
  • end_time - 结束时间
  • message_data - 消息数据
  • Metadata
    • message_id 消息 ID
    • ls_provider 模型提供者
    • ls_model_name 模型 ID
    • status 消息状态
    • from_end_user_id 发送用户的 ID
    • from_account_id 发送账户的 ID
    • agent_based 是否基于代理
    • workflow_run_id 工作流运行 ID
    • from_source 消息来源

Tool Trace 信息

** 用于追踪工具调用 **

ToolLangFuse Generation/Trace
user_iduser_id
tool_namename
start_timestart_time
end_timeend_time
inputsinput
outputsoutput
metadatametadata
[“tool”, tool_name]tags
message_idparent_observation_id

Tool Trace Info

  • message_id 消息 ID
  • tool_name 工具名称
  • start_time 开始时间
  • end_time 结束时间
  • tool_inputs 工具输入
  • tool_outputs 工具输出
  • message_data 消息数据
  • error 错误信息,如果存在
  • inputs 消息的输入内容
  • outputs 消息的回答内容
  • tool_config 工具配置
  • time_cost 时间成本
  • tool_parameters 工具参数
  • file_url 关联文件的 URL
  • Metadata
    • message_id 消息 ID
    • tool_name 工具名称
    • tool_inputs 工具输入
    • tool_outputs 工具输出
    • tool_config 工具配置
    • time_cost 时间成本
    • error 错误信息
    • tool_parameters 工具参数
    • message_file_id 消息文件 ID
    • created_by_role 创建者角色
    • created_user_id 创建者用户 ID

Generate Name Trace 信息

** 用于追踪会话标题生成 **

Generate NameLangFuse Generation/Trace
user_iduser_id
generate_namename
start_timestart_time
end_timeend_time
inputsinput
outputsoutput
metadatametadata
[generate_name]tags

Generate Name Trace Info

  • conversation_id 对话 ID
  • inputs 输入数据
  • outputs 生成的会话名称
  • start_time 开始时间
  • end_time 结束时间
  • tenant_id 租户 ID
  • Metadata
    • conversation_id 对话 ID
    • tenant_id 租户 ID