langchain4j 学习系列(9)-AIService与可观测性
一、基本用法1.1 定义业务接口View Code注{{it}}是langchain4j内部约定的默认占位符名。当只有1个参数时{{it}}在运行时会自动替换成用户的prompt. 当然也可以强制指定参数名就本示例而言注释的二种写法完全等效。1.2 使用AiServices创建实例View Code是不是很简单运行效果二、结构化输出AIService还可以将输出结果以结构化输出即直接输出强类型的POJO对象)继续将上述示例改造一下2.1 定义POJO对象View Code2.2 定义1个extrator接口View Code2.3 使用示例View Code运行效果三、流式响应View Code四、可观测性(trace跟踪)LLM应用中trace跟踪是很重要比如每次请求消耗了多少token哪个环节耗时最大每次请求LLM的输入/输出是什么...4.1 model级别的监听器View Code自定义1个listener可以把LLM的输入、输出、错误信息都拿到按实际业务需求做相应处理比如:记日志或存储便于离线分析在注入model时加上这个监听器View Code4.2 AiService监听器langchain4j内置这几种AiService的监听器这里我们挑2个做为示例View CodeView Code顾名思义1个是start(开始)的监听器1个是complete(完成)的监听器View Code加入以上listener后我们来看看运行时的控制台输出View Code其中行1 - 是CustomAiServiceStartedListener的输出行57 - 是CustomAiServiceCompletedListener的输出行315456等是CustomChatModelListener的输出其中要注意的是CustomChatModelListener.onRequest中, 上下文中示例放了1个自定义属性 my-attribute - my-value然后在onResponse中, 在输出结果中,尝试获取这个属性
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2472266.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!