深入理解LLM的可观测性

cnblogs 2024-09-30 10:13:04 阅读 100

特定 的 <code>ChatLanguageModel 和 StreamingChatLanguageModel 实现(请参见“可观测性”列)允许配置 ChatModelListener,用于监听以下事件:

    <li>对 LLM 的请求
  • LLM 的响应
  • 错误

这些事件包含的属性包括OpenTelemetry 生成 AI 语义约定中的描述,例如:

  • 请求:
    • 模型
    • 温度(Temperature)
    • Top P
    • 最大 Tokens
    • 消息
    • 工具
  • 响应:
    • ID
    • 模型
    • Token 使用情况
    • 结束原因
    • AI 助手消息

以下是使用 ChatModelListener 的示例:

ChatModelListener listener = new ChatModelListener() {

@Override

public void onRequest(ChatModelRequestContext requestContext) {

ChatModelRequest request = requestContext.request();

Map<Object, Object> attributes = requestContext.attributes();

// 在此处理请求事件

...

}

@Override

public void onResponse(ChatModelResponseContext responseContext) {

ChatModelResponse response = responseContext.response();

ChatModelRequest request = responseContext.request();

Map<Object, Object> attributes = responseContext.attributes();

// 在此处理响应事件

...

}

@Override

public void onError(ChatModelErrorContext errorContext) {

Throwable error = errorContext.error();

ChatModelRequest request = errorContext.request();

ChatModelResponse partialResponse = errorContext.partialResponse();

Map<Object, Object> attributes = errorContext.attributes();

// 在此处理错误事件

...

}

};

ChatLanguageModel model = OpenAiChatModel.builder()

.apiKey(System.getenv("OPENAI_API_KEY"))

.modelName(GPT_4_O_MINI)

.listeners(List.of(listener))

.build();

model.generate("讲一个关于 Java 的笑话");

attributes 映射允许在 onRequestonResponseonError 方法之间传递信息。

关注我,紧跟本系列专栏文章,咱们下篇再续!

作者简介:魔都架构师,多家大厂后端一线研发经验,在分布式系统设计、数据平台架构和AI应用开发等领域都有丰富实践经验。

各大技术社区头部专家博主。具有丰富的引领团队经验,深厚业务架构和解决方案的积累。

负责:

  • 中央/分销预订系统性能优化
  • 活动&券等营销中台建设
  • 交易平台及数据中台等架构和开发设计
  • 车联网核心平台-物联网连接平台、大数据平台架构设计及优化
  • LLM Agent应用开发
  • 区块链应用开发
  • 大数据开发挖掘经验
  • 推荐系统项目

目前主攻市级软件项目设计、构建服务全社会的应用系统。

参考:

  • 编程严选网

本文由博客一文多发平台 OpenWrite 发布!


上一篇: 从零开始学机器学习——了解回归

下一篇: 大模型应用曙光

本文标签

经验    事件    架构    平台    系统   


声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。