多彩编程 多彩编程MZPH · CODE BLOG
ARTICLE DETAIL

文章详情

深耕前端与后端开发技术的一线实战笔记与踩坑复盘。

用 Opik Dashboards 把 LLM 项目的质量、成本和性能看清楚

用 Opik Dashboards 把 LLM 项目的质量、成本和性能看清楚 LLM 应用一旦上线团队很快会面临一个很现实的问题效果到底怎么样成本有没有失控延迟是不是在可接受范围内用户反馈是变好了还是变差了如果只靠翻日志、看单条 trace很难形成整体判断。Opik 提供的 Dashboards 功能就是用来解决这个问题的。它允许你创建可定制的视图监控 LLM 项目的质量、成本和性能同时也能把不同实验的结果放在一起对比。简单来说Opik 把数据可视化分成了两种方式。一种是Insights它是内置或自定义的视图直接嵌在项目和实验页面里适合快速、就地监控。另一种是Workspace dashboards也就是独立的工作区仪表盘可以从侧边栏进入适合跨项目分析。两者各有各的用处下面会逐一展开。Dashboard 的类型先搞清楚你要看什么数据每一个 dashboard 都有一个明确的类型这个类型决定了它能处理什么数据、能用哪些 widget。目前有两种类型用途可用 widgetMulti-project跨一个或多个项目跟踪指标比如 traces、threads、成本、延迟Time series、Single metric、MarkdownExperiments对比不同实验运行的反馈分数和结果Metrics、Leaderboard、Markdown这个区分很重要。如果你想看的是生产环境里 trace 的数量、成本走势、延迟分布那应该选 Multi-project。如果你关心的是 A/B 测试、提示词迭代之后哪个版本更好那 Experiments 类型更合适。选错了类型后面配置 widget 时会发现很多选项对不上。从哪里进入 DashboardsOpik 提供了几个入口分别对应不同的使用场景。Dashboards 页面从侧边栏导航可以直接进入独立的Dashboards页面。这里用来创建和管理工作区级别的 dashboard。列表里有一列Type会标明每个 dashboard 是 Multi-project 还是 Experiments方便你快速辨认。项目页面的 Insights 标签打开任意一个项目你会看到Insights标签。这个标签提供了内置和自定义的视图用来监控当前项目的 traces、threads 以及质量指标。它和项目是强绑定的当前项目会自动成为所有 widget 的数据源不需要你手动选。Compare Experiments 的 Insights 标签当你对比实验时Insights标签会显示一个内置的只读视图里面是实验对比图表。这个视图没有视图选择器只有内置的那一个。Insights 标签项目页面里的就地监控Insights 标签的设计思路是“ curated、in-context”也就是经过整理、就在手边的监控视图。你不需要离开项目页面就能看到关键健康指标。Project Insights打开一个项目的 Insights 标签默认会落在内置的Project Overview视图上。这是一个只读 dashboard覆盖了主要的健康指标trace 数量、错误、延迟、成本、反馈分数以及 thread 活动。你可以把它理解成项目的“体检报告”一眼看过去就知道有没有明显异常。自定义视图除了内置视图你还可以为项目创建自定义的 Insight 视图。操作路径是打开 Insights 标签里的views selector下拉菜单点击底部的Add new输入视图名称自定义视图是完全可编辑的——你可以添加 section、配置 widget、重新排列布局。当前项目会自动设置为所有 widget 的数据源这一点很省心。视图选择器下拉菜单里包含这些内容顶部有一个搜索框用来过滤视图内置的 “Project Overview” 永远排在第一位带有一个 “Built-in” 标签自定义视图排在下面会显示 widget 数量和最后修改日期底部是Add new按钮对于自定义视图鼠标悬停时会出现一些操作Edit name重命名视图Duplicate复制一份视图Delete删除视图这个操作不可撤销你也可以复制内置视图从而得到一个可编辑的自定义副本。这是一个很实用的技巧如果你觉得内置的 Project Overview 布局不错但想加几个自己的指标直接复制一份再改比从零开始快得多。另外Insights 标签有自己独立的时间范围选择器和 Logs 标签是分开的。每个标签会记住自己的时间范围跨会话也不会丢。Experiment Insights当你在对比实验时Insights 标签会显示一个单独的内置只读视图里面是当前所选实验的对比图表。这里没有视图选择器只有内置视图可用。Widget 类型 dashboard 的积木Dashboards 支持多种 widget具体能用哪些取决于 dashboard 类型。下面把每一种都讲清楚。Time series widgetMulti-projectTime series widget 用来显示项目指标随时间变化的折线图或柱状图。它支持的指标很丰富Trace feedback scorestrace 的质量指标随时间的变化Number of tracestrace 数量趋势Trace durationtrace 性能趋势Token usagetoken 消耗随时间的变化Estimated cost花费趋势Failed guardrailsguardrail 违规随时间的变化Number of threadsthread 数量趋势Thread durationthread 性能趋势Thread feedback scoresthread 的质量指标随时间的变化配置选项包括Project选择从哪个项目拉数据Metric type从上面列出的指标里选一个Chart type折线图适合看趋势或柱状图适合做体量或周期对比Breakdown可选按某个字段分组看每组各自的模式。可用字段取决于数据源当 breakdown 生效时可以用聚合切换来控制数据如何分桶Total显示整个日期范围内每组一个值Time-based则按时间桶小时、天、周显示值。点击图表图例里的标签可以直接跳转到按该组过滤后的 traces 列表。- Trace 指标Tags、Name、Has error、Error type、Metadata key - Span 指标Tags、Name、Has error、Error type、Metadata key、Model、Provider、Span type - Thread 指标TagsFilters应用 trace 或 thread 过滤器根据 tags、metadata 或其他属性聚焦特定数据Feedback scores使用反馈分数指标时可以选特定的分数来显示留空则显示全部Single metric widgetMulti-projectSingle metric widget 用一个紧凑的卡片显示单个指标值非常适合做摘要 dashboard 和关键绩效指标。数据源Traces 或 SpansTrace 专属指标Total trace countTotal thread countAverage LLM span countAverage span countAverage estimated cost per traceTotal guardrails failed countSpan 专属指标Total span countAverage estimated cost per span共享指标traces 和 spans 都可用P50 duration中位延迟P90 duration90 分位延迟P99 duration99 分位延迟Total input countTotal output countTotal metadata countAverage number of tagsTotal estimated cost sumOutput tokens (avg.)Input tokens (avg.)Total tokens (avg.)Total error countAverage feedback scores项目里定义的任何反馈分数Metrics widgetExperimentsMetrics widget 用来对比多个实验的反馈分数特别适合可视化 A/B 测试结果和提示词迭代效果。图表类型Line chart展示跨实验的趋势默认Bar chart并排查看详细的分数分布Radar chart用径向视图对比多个反馈分数配置选项Filters按以下条件过滤实验Dataset只显示来自特定数据集的实验Configuration按 metadata 键值过滤比如 model“gpt-4”Experiment IDs按 ID 包含特定实验Groups可折叠默认折叠按以下方式分组聚合结果Dataset对比不同数据集的结果Configuration按 metadata 键分组聚合反馈分数比如按模型类型分组最多支持 5 层分组用于层级对比Max experiments限制显示的实验数量Chart type选择折线图、柱状图或雷达图Metrics可选只显示特定的反馈分数留空则显示全部Leaderboard widgetExperimentsLeaderboard widget 显示一个表格用来对比实验列是可配置的。它很适合按特定指标给实验排名一眼看出哪个版本更好。配置选项Filters和 Metrics widget 一样的过滤选项dataset、configuration、experiment IDsGroups和 Metrics widget 一样的分组选项Max experiments限制显示的实验数量Columns选择并重新排列要显示的列。列菜单会显示所有可用列带有 “N of N selected” 指示器和用于重新排序的拖拽手柄Ranking按特定指标给实验排名。选项有 “No ranking”默认和任何可用的反馈分数指标。当选择 “No ranking” 时排名顺序选项会被禁用Markdown text widgetMarkdown text widget 在 Multi-project 和 Experiments dashboard 里都可用。你可以用它添加自定义笔记、描述或文档。常见用途包括添加 section 标题和说明记录 dashboard 的目的和背景包含相关资源的链接添加团队笔记或指南创建一个 Workspace Dashboard创建独立的工作区 dashboard 步骤很简单从侧边栏导航到Dashboards页面点击Create new dashboard选择 dashboard 类型Multi-project或Experiments输入名称描述可选点击Create添加和配置 Widget在某个 section 里点击按钮会打开一个统一的 widget 配置弹窗选择 widget 类型从顶部的可点击卡片中选择。可用类型取决于 dashboard 类型Multi-projectTime series、Single metric、MarkdownExperimentsMetrics、Leaderboard、Markdown在下面配置 widget 设置。配置区域会根据所选 widget 类型更新。每个 widget 都有自己的项目或实验选择器——没有全局 dashboard 默认值。对于 Insight 视图当前项目会自动设置。对于图表 widget用可点击卡片选择可视化类型折线、柱状或雷达。点击Save添加 widget。自定义 Dashboard添加 SectionDashboard 是按 section 组织的每个 section 包含一个或多个 widget在 dashboard 底部点击Add section给 section 起个标题往 section 里添加 widget编辑 Widget点击任意 widget 上的菜单图标选择Edit修改 widget 配置改完后保存重新排列 Widget拖拽用 widget 上的拖拽手柄在 section 内重新排序调整大小拖动 widget 的边缘来调整尺寸折叠 Section点击 section 标题可以折叠或展开。折叠状态会跨会话保留。日期范围过滤用工具栏里的日期选择器按时间范围过滤数据。可以选择预设范围最近 24 小时、最近 7 天等或自定义日期。受日期范围过滤影响的 widgetTime series widget把时间序列数据过滤到所选范围Single metric widget在所选范围内计算统计值不受日期范围影响的 widgetExperiments metrics widget无论日期如何都显示实验结果Leaderboard widget无论日期如何都显示实验结果Markdown text widget静态内容保存更改所有 dashboard 更改都是自动保存的。内置的 Insight 视图是只读的——复制它们来创建可编辑的副本。分享 Dashboard要分享当前 dashboard 视图点击工具栏里的Share按钮URL 会复制到剪贴板把这个 URL 分享给有权访问工作区的团队成员分享的 URL 包含 dashboard ID、当前日期范围以及任何生效的过滤器所以接收者看到的视图和你一样。下一步Dashboard 配好之后还可以继续做几件事设置 Online Evaluation Rules自动为 dashboard 生成反馈分数配置 Alerts当指标超过阈值时收到通知了解 Production Monitoring 的最佳实践总的来说Opik 的 Dashboards 把 LLM 项目监控中常见的需求——看趋势、看单点、比实验、做排名、写备注——都覆盖到了。Multi-project 类型适合盯着生产环境的健康度Experiments 类型适合做迭代对比。Insights 标签让日常监控不用离开项目页面Workspace dashboards 则给跨项目分析留出了空间。如果你刚开始用可以先从内置的 Project Overview 看起再根据需要复制一份改成自己的自定义视图。这样既不会迷失在配置里也能逐步建立起适合自己团队的监控体系。
返回列表