LangSmith 简介

LangSmith 是一个用于构建生产级 LLM 应用程序的平台,它用于开发、协作、测试、部署和监控 LLM 应用程序。

配置 LangSmith

本章节将指引你注册 LangSmith 并将其集成至 Dify 平台内。

1. 注册/登录 LangSmith

2. 创建项目

在 LangSmith 内创建项目,登录后在主页点击 New Project 创建一个自己的项目,项目将用于与 Dify 内的应用关联进行数据监测。
LangSmith 创建项目界面

在 LangSmith 内创建项目

创建完成之后在 Projects 内可以查看该项目。
LangSmith 项目列表界面

在 LangSmith 内查看已创建项目

3. 创建项目凭据

创建项目凭据,在左侧边栏内找到项目设置 Settings
LangSmith 项目设置界面

项目设置

点击 Create API Key,创建一个项目凭据。
LangSmith 创建 API Key 界面

创建一个项目 API Key

选择 Personal Access Token ,用于后续的 API 身份校验。
LangSmith 选择 API Key 类型界面

创建一个 API Key

将创建的 API key 复制保存。
LangSmith API Key 复制界面

复制 API Key

4. 将 LangSmith 集成至 Dify 平台

在 Dify 应用内配置 LangSmith。打开需要监测的应用,在左侧边菜单内打开监测,点击页面内的配置。
Dify 配置 LangSmith 入口界面

配置 LangSmith

点击配置后,将在 LangSmith 内创建的 API Key项目名粘贴到配置内并保存。
Dify 配置 LangSmith 详情界面

配置 LangSmith

成功保存后可以在当前页面查看监测状态。
Dify LangSmith 配置状态界面

查看配置状态

在 LangSmith 内查看监测数据

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

在 Dify 内调试应用

LangSmith 应用数据监测界面1

在 LangSmith 内查看应用数据

LangSmith 应用数据监测界面2

在 LangSmith 内查看应用数据

监测数据清单

Workflow /Chatflow Trace信息

用于追踪workflow以及chatflow
WorkflowLangSmith Chain
workflow_app_log_id/workflow_run_idid
user_session_id-放入metadata
workflow_name
start_timestart_time
end_timeend_time
inputsinputs
outputsoutputs
模型token消耗相关usage_metadata
metadataextra
errorerror
[workflow]tags
”conversation_id/workflow时无”metadata中的conversation_id
conversion_idparent_run_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对话相关
ChatLangSmith LLM
message_idid
user_session_id-放入metadata
“message_name
start_timestart_time
end_timeend_time
inputsinputs
outputsoutputs
模型token消耗相关usage_metadata
metadataextra
errorerror
[“message”, conversation_mode]tags
conversation_idmetadata中的conversation_id
conversion_idparent_run_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信息

用于追踪对话审查
ModerationLangSmith Tool
user_id-放入metadata
“moderation”name
start_timestart_time
end_timeend_time
inputsinputs
outputsoutputs
metadataextra
[moderation]tags
message_idparent_run_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 QuestionLangSmith LLM
user_id-放入metadata
suggested_questionname
start_timestart_time
end_timeend_time
inputsinputs
outputsoutputs
metadataextra
[suggested_question]tags
message_idparent_run_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 RetrievalLangSmith Retriever
user_id-放入metadata
dataset_retrievalname
start_timestart_time
end_timeend_time
inputsinputs
outputsoutputs
metadataextra
[dataset_retrieval]tags
message_idparent_run_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信息

用于追踪工具调用
ToolLangSmith Tool
user_id-放入metadata
tool_namename
start_timestart_time
end_timeend_time
inputsinputs
outputsoutputs
metadataextra
[“tool”, tool_name]tags
message_idparent_run_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 NameLangSmith Tool
user_id-放入metadata
generate_namename
start_timestart_time
end_timeend_time
inputsinputs
outputsoutputs
metadataextra
[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

编辑此页面 | 提交问题