SemanticKernel之使用监控

💡 原文中文,约9800字,阅读约需24分钟。
📝

内容提要

该文章介绍了在SemanticKernel中使用监控和量化监控的方法。通过添加Nuget包和配置Prometheus、Grafana等工具,可以实现对Token数量的监控和展示。

🔎

延伸解读

监控在SemanticKernel中的核心价值

文章指出,监控不仅为服务保驾护航,还能为业务量化提供支持。在SemanticKernel中,监控尤其能对Token消耗进行量化,帮助开发者了解提示和回复的Token数量。这对于控制成本、优化提示设计具有实际意义,因为Token直接关联真金白银的支出。

技术栈与配置要点

实现监控需要引入多个NuGet包,包括Microsoft.SemanticKernel、OpenTelemetry及其Prometheus导出器。关键步骤是添加PrometheusHttpListener,并设置监听地址如http://localhost:9465/。随后需配置Prometheus的scrape_configs,将job指向该地址,并设置较短的抓取间隔(如1秒)以便快速响应。

Grafana仪表盘的设计与指标含义

文章展示了四个Grafana图表的JSON配置:左上角线型图展示总Token数,右上角饼图对比提示与回复Token数,左下和右下分别展示提示Token数和回复Token数的变化趋势。这些图表基于Prometheus指标,如semantic_kernel_connectors_openai_tokens_prompt_total和completion_total,帮助直观监控Token消耗模式。

❓

Q&A

如何在SemanticKernel中实现监控?

可以通过添加Nuget包和配置Prometheus、Grafana等工具来实现监控。

使用哪些Nuget包来支持SemanticKernel的监控?

使用的Nuget包包括Microsoft.SemanticKernel、NAudio、OpenTelemetry等。

如何配置Prometheus以监控Token数量?

需要下载Prometheus并修改prometheus.yml,设置监控目标为localhost:9465。

Grafana在SemanticKernel监控中有什么作用?

Grafana用于配置数据源为Prometheus并展示监控数据。

如何展示Token数量的变化?

可以通过左上角线型图展示总Token数,左下角线型图展示提示Token数,右下角线型图展示回复Token数。

在SemanticKernel中监控Token数量的主要图表有哪些?

主要图表包括总Token数线型图、提示Token数饼型图和回复Token数线型图。

🏷️

标签

➡️

继续阅读