SpringAI实践-集成可观测
之前进到SpringAI源码中看到不仅有很多Advisor字眼的类,还有很多Observation 可观测字眼的类,SpringAI怎么只用可观测呢,比如当前的Agent一天使用了多少token,然后由于模型厂商都是按百万token使用量来计费的,通过知道使用了多少token,就可以计算出使用模型的成本是多少。
集成可观测步骤:
1、项目中,添加依赖:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
<groupId>io.micrometer</groupId>
<artifactId>micrometer-registry-prometheus</artifactId>
</dependency>
actuator 负责暴露要监控指标的端点
micrometer-registry-prometheus这个负责将SpringAI生成的指标数据生成prometheus可接收的类型
2、properties文件中配置actuator暴露的监控端口,当前加了一个prometheus端口
management.endpoints.web.exposure.include=prometheus,health,info,metrics
重启项目,然后调用 http://localhost:8080/actuator/prometheus 这个接口,可以看到设计ai的一下指标:

比如上面可以看到当前token的输入消耗,输出消耗和总的消耗
3、部署promethues和grafana
promethues中的prometheus.yml 添加配置

这个说明拉取的配置,间隔15秒拉取,拉取的url是本地的localhost:8080/actuator/prometheus这个接口
4、promethues和grafana都配置好后,进入到grafana配置数据源为本地的prometheus

然后就可以在Explore目录中查看到涉及ai调用相关的数据

多跟agent对话几次后,可以看到下面的数据

也就是把之前接口看到的数据用可视化的方式展示了。
5、编辑看板,展示一天的总消耗:
新建一个看板,然后添加如下语句:
sum(increase(gen_ai_client_token_usage_total{gen_ai_token_type="total"}[24h]))
之后可以看到如下效果:


浙公网安备 33010602011771号