什么是 W&B Weave

Weights & Biases (W&B) Weave 是一个用于跟踪、实验、评估、部署和改进基于 LLM 的应用程序的框架。Weave 专为灵活性和可扩展性而设计,支持 LLM 应用程序开发工作流的每个阶段。

更多详情,请参考 Weave


如何配置 Weave

1. 注册/登录

前往 W&B Weave 注册/登录。创建一个 Weights & Biases (W&B) 账户,并在此处复制 API 密钥。

2. 将 W&B Weave 与 Dify 集成

在 Dify 应用程序中配置 Weave。打开需要监控的应用程序,在侧边菜单中打开监控,在页面上选择跟踪应用性能

点击配置后,粘贴 API 密钥项目名称,指定 W&B 实体(可选,默认为您的用户名)到配置中并保存。

成功保存后,您可以在当前页面查看监控状态。

在 Weave 中查看监控数据

配置完成后,Dify 内应用的调试或生产数据可以在 Weave 中进行监控。

当您切换到 Weave 时,可以在仪表板中查看 Dify 应用程序的详细操作日志。

通过 Weave 获取的详细 LLM 操作日志将帮助您优化 Dify 应用程序的性能。

监控数据列表

工作流/对话流追踪信息

用于追踪工作流和对话流

工作流Weave 追踪
workflow_app_log_id/workflow_run_idid
user_session_id放置在元数据中
workflow_name
start_timestart_time
end_timeend_time
inputsinputs
outputsoutputs
模型令牌消耗usage_metadata
metadataextra
errorerror
workflowtags
”conversation_id/none for workflow”元数据中的 conversation_id
conversion_idparent_run_id

工作流追踪信息

  • workflow_id - 工作流的唯一标识符
  • conversation_id - 对话 ID
  • workflow_run_id - 当前运行的 ID
  • tenant_id - 租户 ID
  • elapsed_time - 当前运行所花费的时间
  • status - 运行状态
  • version - 工作流版本
  • total_tokens - 当前运行中使用的总令牌数
  • file_list - 处理的文件列表
  • triggered_from - 触发当前运行的来源
  • workflow_run_inputs - 当前运行的输入数据
  • workflow_run_outputs - 当前运行的输出数据
  • error - 当前运行期间遇到的错误
  • query - 运行期间使用的查询
  • workflow_app_log_id - 工作流应用程序日志 ID
  • message_id - 关联的消息 ID
  • start_time - 运行的开始时间
  • end_time - 运行的结束时间
  • workflow node executions - 工作流节点执行的信息
  • 元数据
    • workflow_id - 工作流的唯一标识符
    • conversation_id - 对话 ID
    • workflow_run_id - 当前运行的 ID
    • tenant_id - 租户 ID
    • elapsed_time - 当前运行所花费的时间
    • status - 运行状态
    • version - 工作流版本
    • total_tokens - 当前运行中使用的总令牌数
    • file_list - 处理的文件列表
    • triggered_from - 触发当前运行的来源

消息追踪信息

用于追踪与 LLM 相关的对话

聊天Weave 追踪
message_idid
user_session_id放置在元数据中
”message_name
start_timestart_time
end_timeend_time
inputsinputs
outputsoutputs
模型令牌消耗usage_metadata
metadataextra
errorerror
”message”, conversation_modetags
conversation_id元数据中的 conversation_id
conversion_idparent_run_id

消息追踪信息

  • message_id - 消息 ID
  • message_data - 消息数据
  • user_session_id - 用户会话 ID
  • conversation_model - 对话模式
  • message_tokens - 消息中的令牌数
  • answer_tokens - 回答中的令牌数
  • total_tokens - 消息和回答中的总令牌数
  • error - 错误信息
  • inputs - 输入数据
  • outputs - 输出数据
  • file_list - 处理的文件列表
  • start_time - 开始时间
  • end_time - 结束时间
  • message_file_data - 与消息关联的文件数据
  • conversation_mode - 对话模式
  • 元数据
    • 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 - 消息来源

审核追踪信息

用于追踪对话审核

审核Weave 追踪
user_id放置在元数据中
”moderation”name
start_timestart_time
end_timeend_time
inputsinputs
outputsoutputs
metadataextra
[moderation]tags
message_idparent_run_id

审核追踪信息

  • message_id - 消息 ID
  • user_id: 用户 ID
  • workflow_app_log_id - 工作流应用程序日志 ID
  • inputs - 审核输入数据
  • message_data - 消息数据
  • flagged - 内容是否被标记为需要注意
  • action - 采取的特定操作
  • preset_response - 预设响应
  • start_time - 审核开始时间
  • end_time - 审核结束时间
  • 元数据
    • message_id - 消息 ID
    • action - 采取的特定操作
    • preset_response - 预设响应

建议问题追踪信息

用于追踪建议的问题

建议问题Weave 追踪
user_id放置在元数据中
suggested_questionname
start_timestart_time
end_timeend_time
inputsinputs
outputsoutputs
metadataextra
suggested_questiontags
message_idparent_run_id

消息追踪信息

  • 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 - 状态消息
  • 元数据
    • 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 - 消息来源

数据集检索追踪信息

用于追踪知识库检索

数据集检索Weave 追踪
user_id放置在元数据中
dataset_retrievalname
start_timestart_time
end_timeend_time
inputsinputs
outputsoutputs
metadataextra
dataset_retrievaltags
message_idparent_run_id

数据集检索追踪信息

  • message_id - 消息 ID
  • inputs - 输入内容
  • documents - 文档数据
  • start_time - 开始时间
  • end_time - 结束时间
  • message_data - 消息数据
  • 元数据
    • 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 - 消息来源

工具追踪信息

用于追踪工具调用

工具Weave 追踪
user_id放置在元数据中
tool_namename
start_timestart_time
end_timeend_time
inputsinputs
outputsoutputs
metadataextra
[“tool”, tool_name]tags
message_idparent_run_id

工具追踪信息

  • 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
  • 元数据
    • 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

生成名称追踪信息

用于追踪对话标题生成

生成名称Weave 追踪
user_id放置在元数据中
generate_namename
start_timestart_time
end_timeend_time
inputsinputs
outputsoutputs
metadataextra
generate_nametags

生成名称追踪信息

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