首页 > 其他分享 >深入理解LLM的可观测性

深入理解LLM的可观测性

时间:2024-09-24 22:14:22浏览次数:1  
标签:errorContext request 观测 深入 LLM ChatModelListener attributes responseContext

特定ChatLanguageModelStreamingChatLanguageModel 实现(请参见“可观测性”列)允许配置 ChatModelListener,用于监听以下事件:

  • 对 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 one rror(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 发布!

标签:errorContext,request,观测,深入,LLM,ChatModelListener,attributes,responseContext
From: https://www.cnblogs.com/JavaEdge/p/18430184

相关文章

  • 并发处理的利器:深入探讨锁分离设计+6大分离场景(高并发篇)
    锁分离设计的本质在于将对共享资源的访问操作根据其类型或性质区分开来,并为每种操作提供独立的锁。这种设计背景通常源于对高并发系统的需求,其中多个线程或进程需要频繁地对共享资源进行读写或其他操作。在传统的锁机制中,所有操作都可能使用同一把锁,这在高并发环境下会导致严重的......
  • 重磅!阿里云可观测产品家族全新升级,AI +数据双驱动,打造全栈可观测体系
    引言:近日,阿里云可观测产品家族正式发布云监控2.0,隶属产品日志服务SLS、云监控CMS、应用实时监控服务ARMS迎来重磅升级。借助全新升级的一站式全景接入、统一观测图谱以及AI增强的跨域智能洞察能力。同时,为了帮助企业与开发者更从容地面对AI创新,阿里云正式发布开箱即用的A......
  • 重磅!阿里云可观测产品家族全新升级,AI +数据双驱动,打造全栈可观测体系
    引言:近日,阿里云可观测产品家族正式发布云监控2.0,隶属产品日志服务SLS、云监控CMS、应用实时监控服务ARMS迎来重磅升级。借助全新升级的一站式全景接入、统一观测图谱以及AI增强的跨域智能洞察能力。同时,为了帮助企业与开发者更从容地面对AI创新,阿里云正式发布开箱即用的......
  • 《AI大模型开发之路》读后感:一次深入的技术旅程
    最近,我阅读了《AI大模型开发之路》这本书,感触颇深。这本书犹如一座技术的灯塔,指引着我在AI大模型的海洋中航行。一开始,作者从AI大模型的基础讲起,涵盖了自然语言处理的简史和AI大模型的概述。这让我对整个领域有了宏观的认识,仿佛站在巨人的肩膀上,俯瞰技术的发展历程。接下来,书中......
  • 即时通讯安全篇(十):为什么要用HTTPS?深入浅出,探密短连接的安全性
    3、写在前面说到HTTPS,那就得回到HTTP协议。对于HTTP协议,大家肯定都熟得不能再熟了。那么HTTPS和HTTP的区别大家了解吗?对于这个经典的面试题,大部分人会这么回答:1)HTTPS比HTTP多了一个S(Secure):也就是说HTTPS是安全版的HTTP;2)端口号不同:HTTP使用80端口,HTTPS使用443端口;3)加密算法:H......
  • MemLong: 基于记忆增强检索的长文本LLM生成方法
    本文将介绍MemLong,这是一种创新的长文本语言模型生成方法。MemLong通过整合外部检索器来增强模型处理长上下文的能力,从而显著提升了大型语言模型(LLM)在长文本处理任务中的表现。核心概念MemLong的设计理念主要包括以下几点:高效扩展LLM上下文窗口的轻量级方法。利用不可训练的外部记......
  • 自学大模型LLM,看这本书就够了!帮你快速入门大模型!(含PDF)
    一、Transformer模型介绍Transformer模型是一种基于自注意力机制的深度神经网络模型,在自然语言处理(NLP)领域取得了显著的成果,并在机器翻译、文本摘要、问答系统等多个任务中表现出色。1.基本原理Transformer模型主要由自注意力机制和前馈神经网络两部分组成。(1)自注意力机制:功能:自注......
  • 《深入解析 Java 中的 ThreadLocal》
    ThreadLocal1.概述ThreadLocal被称为线程局部变量,用于在线程中保存数据。由于在ThreadLocal中保存的数据仅属于当前线程,所以该变量对其他线程而言是隔离的,也就是说该变量是当前线程独有的变量。ThreadLocal用于在同一个线程间,在不同的类和方法之间共享数据的的场景,也可以......
  • 2025秋招LLM大模型多模态面试题(八)- langchain完整面试题
    目录什么是LangChainLangChain包含哪些核心模块模型输入/输出(ModelI/O)组件管理数据处理链式组合记忆与上下文管理外部集成一些核心概念什么是LangChainAgent?什么是LangChainmodel?LangChain包含哪些特点?LangChain如何使用?LangChain如何调用......
  • 深入探索CMake的跨平台构建机制:原理与实现
    深入探索CMake的跨平台构建机制:原理与实现CMake的跨平台能力是基于其能够根据不同环境生成对应的本地构建系统的设计原理。这个能力不仅简化了构建过程,还提高了项目的可移植性和灵活性。下面详细解释CMake如何实现跨平台构建支持:1.平台独立的构建配置CMake的核心功......