什么是 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_id | id |
| user_session_id | 放置在元数据中 |
| workflow_ | name |
| start_time | start_time |
| end_time | end_time |
| inputs | inputs |
| outputs | outputs |
| 模型令牌消耗 | usage_metadata |
| metadata | extra |
| error | error |
| workflow | tags |
| ”conversation_id/none for workflow” | 元数据中的 conversation_id |
| conversion_id | parent_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_id | id |
| user_session_id | 放置在元数据中 |
| ”message_“ | name |
| start_time | start_time |
| end_time | end_time |
| inputs | inputs |
| outputs | outputs |
| 模型令牌消耗 | usage_metadata |
| metadata | extra |
| error | error |
| ”message”, conversation_mode | tags |
| conversation_id | 元数据中的 conversation_id |
| conversion_id | parent_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_time | start_time |
| end_time | end_time |
| inputs | inputs |
| outputs | outputs |
| metadata | extra |
| [moderation] | tags |
| message_id | parent_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_question | name |
| start_time | start_time |
| end_time | end_time |
| inputs | inputs |
| outputs | outputs |
| metadata | extra |
| suggested_question | tags |
| message_id | parent_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_retrieval | name |
| start_time | start_time |
| end_time | end_time |
| inputs | inputs |
| outputs | outputs |
| metadata | extra |
| dataset_retrieval | tags |
| message_id | parent_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_name | name |
| start_time | start_time |
| end_time | end_time |
| inputs | inputs |
| outputs | outputs |
| metadata | extra |
| [“tool”, tool_name] | tags |
| message_id | parent_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_name | name |
| start_time | start_time |
| end_time | end_time |
| inputs | inputs |
| outputs | outputs |
| metadata | extra |
| generate_name | tags |
- conversation_id - 对话 ID
- inputs - 输入数据
- outputs - 生成的对话名称
- start_time - 开始时间
- end_time - 结束时间
- tenant_id - 租户 ID
- 元数据
- conversation_id - 对话 ID
- tenant_id - 租户 ID