8. 深入Spring AI:自定义Advisor

1、前言

前面大篇幅介绍了关于Spring AI Advisor机制,并介绍了一些常见的内置的advisor。今天我们来自定义有一个Advisor。

2、快速开始

要自定义一个属于自己的Advisor,其实很自定义一个AOP一样简单。只需遵循以下步骤:

  1. 创建一个Advisor类,实现CallAroundAdvisor或StreamAroundAdvisor接口
  2. 实现接口的aroundCall()、getName()、getOrder()方法
  3. 调用大模型时,将advisor添加进去即可

2.1、定义TimingCustomAdvisor

这里我们实现一个在大模型响应前后,来计算他的耗时时间。在前置增强中统计我们的开始时间,在后置方法中计算耗时。

public class TimingCustomAdvisor implements CallAroundA

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/151.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【C++】继承----下篇

文章目录 前言一、实现一个不能继承的类二、友元与继承三、继承与静态成员四、多继承以及菱形继承问题1.继承模型:2.菱形继承的问题3.虚拟继承解决数据冗余和二义性的原理4.虚拟继承的原理 五、继承的总结和反思1.继承和组合 总结 前言 各位好呀!今天呢我们接着讲继…

五一去荣昌吃卤鹅?基于Java和天地图的寻找荣昌卤鹅店实践

目录 前言 1、卤鹅哥与甲亢哥的爆火事件 2、荣昌卤鹅产业的空间分布 3、使用Java 和天地图进行产业挖掘 一、地名检索简介 1、地名检索功能 2、地名检索API介绍 二、荣昌卤鹅检索实践 1、数据获取流程 2、天地图API请求构建 3、参数构建及调用 4、结果生成及本地保存…

AI数字人:繁荣背后的伦理困境与法律迷局(8/10)

摘要:本文深入剖析 AI 数字人从虚拟走向现实的历程,阐述其融合多技术实现从静态到动态交互的跨越,爆发式应用于各领域带来的商业价值与社会影响,同时直面由此引发的伦理法律挑战,包括身份认同、数据隐私、责任归属及权…

【C++指南】告别C字符串陷阱:如何实现封装string?

🌟 各位看官好,我是egoist2023! 🌍 种一棵树最好是十年前,其次是现在! 💬 注意:本章节只详讲string中常用接口及实现,有其他需求查阅文档介绍。 🚀 今天通过了…

头歌实训之索引

🌟 各位看官好,我是maomi_9526! 🌍 种一棵树最好是十年前,其次是现在! 🚀 今天来学习C语言的相关知识。 👍 如果觉得这篇文章有帮助,欢迎您一键三连,分享给更…

第25周:DenseNet+SE-Net实战

目录 前言 1.准备工作 2.查看数据 3.划分数据集 4.创建模型 5.编译及训练模型 6.结果可视化 7.总结 前言 🍨 本文为🔗365天深度学习训练营中的学习记录博客🍖 原作者:K同学啊 1.准备工作 import torch import torch.nn as nn imp…

什么是Maven

Maven的概念 Maven是一个一键式的自动化的构建工具。Maven 是 Apache 软件基金会组织维护的一款自动化构建工具,专注服务于Java 平台的项目构建和依赖管理。Maven 这个单词的本意是:专家,内行。Maven 是目前最流行的自动化构建工具&#xff0…

VSCode如何修改默认扩展路径和用户文件夹目录到其他盘以及微信开发工具如何修改扩展路径到其他盘

ps:因公司电脑c盘内存严重不足,而出本篇文章 1.Visual Studio Code 随着VsCode的使用时间的推移,安装的扩展以及数据逐步增多,导致c盘内存占用较大,所以这里将vscode的默认缓存路径等迁移到其他盘。 步骤如下 1.找到默认的存储…

【LLM+Code】Github Copilot Agent/VsCode Agent 模式PromptTools详细解读

一、前言 github copilot agent mode现在和vscode是强绑定的关系, 其实是一个东西: https://github.blog/news-insights/product-news/github-copilot-the-agent-awakens/https://code.visualstudio.com/docs/copilot/chat/chat-agent-mode 二、Syste…

Ubuntu服务器上如何监控Oracle数据库

在 Ubuntu 服务器上监控 Oracle 数据库,虽然不像在 Windows 或某些企业 Linux(如 RHEL)那样有现成的 GUI 工具,但你完全可以通过命令行工具、脚本、开源监控平台来实现全面监控,包含: 数据库性能指标&#…

系统高性能设计核心机制图解:缓存优化、链表调度与时间轮原理

系统高性能设计核心机制图解:缓存优化、链表调度与时间轮原理 在高并发系统中,性能瓶颈常出现在内存竞争、调度延迟与缓存失效等环节。本文总结几项关键机制:伪共享优化、链表缓存结构、时间轮定时器,并通过文字图示还原其结构与…

Spark-Streaming核心编程

Kafka命令行的使用 创建topic kafka-topics.sh --create --zookeeper node01:2181,node02:2181,node03:2181 --topic test1 --partitions 3 --replication-factor 3 分区数量,副本数量,都是必须的。 数据的形式: 主题名称-分区编号。 在…