介绍
核心维度
核心要点
核心概念
类似于 AOP 中的拦截器,工作在由多个 Advisor 组成的责任链上,同时支持非流式(CallAroundAdvisor)和流式(StreamAroundAdvisor)处理。
工作机制
执行流程为 “请求 → Advisor链before处理 → 大模型 → Advisor链after处理 → 响应”。每个Advisor在链中有两次执行机会,并共享一个上下文(AdvisorContext)用于传递数据。
典型应用
内置了对话记忆、敏感词过滤、RAG检索增强、日志记录等常用 Advisor。
开发方式
通过实现 CallAroundAdvisor 和 StreamAroundAdvisor 接口来自定义,并通过 getOrder() 方法控制其在链中的执行顺序。
SimpleLoggerAdvisor123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354import lo ...
Ai技术核心概念与发展脉络研究报告历史关键节点
1956年:达特茅斯会议正式提出“人工智能”术语,AI学科诞生
1980年代:专家系统黄金期,AI首次商业化成功
2012年:AlexNet在ImageNet竞赛中夺冠,开启深度学习时代
2018年:Transformer架构和BERT模型发布,奠定大模型基础
2022年:ChatGPT发布,AI进入大众化应用时代
五大核心技术详解1. 大语言模型(LLM)
核心架构:基于Transformer,特别是自注意力机制
工作模式:“预训练+微调”范式
主流模型:GPT系列(生成)、BERT系列(理解)、LLaMA系列(开源)、Claude系列(安全)、Gemini系列(多模态)
2. 提示词工程
关键原则:清晰明确、结构化设计、迭代优化
高级技术:
思维链(CoT):让模型逐步推理
上下文学习:通过示例引导模型
指令微调:提升零样本学习能力
3. 智能体(Agent)技术
智能体(AI领域新译词) 、代理
核心组件:大脑(LLM)、感知系统、决策机制、执行器、记忆系统
多Agent协作:任务分解、并行处理、分层协作等 ...
Redis原理篇1、原理篇-Redis数据结构1.1 Redis数据结构-动态字符串我们都知道Redis中保存的Key是字符串,value往往是字符串或者字符串的集合。可见字符串是Redis中最常用的一种数据结构。
不过Redis没有直接使用C语言中的字符串,因为C语言字符串存在很多问题:获取字符串长度的需要通过运算非二进制安全不可修改Redis构建了一种新的字符串结构,称为简单动态字符串(Simple Dynamic String),简称SDS。例如,我们执行命令:
那么Redis将在底层创建两个SDS,其中一个是包含“name”的SDS,另一个是包含“虎哥”的SDS。
Redis是C语言实现的,其中SDS是一个结构体,源码如下:
例如,一个包含字符串“name”的sds结构如下:
SDS之所以叫做动态字符串,是因为它具备动态扩容的能力,例如一个内容为“hi”的SDS:
假如我们要给SDS追加一段字符串“,Amy”,这里首先会申请新内存空间:
如果新字符串小于1M,则新空间为扩展后字符串长度的两倍+1;
如果新字符串大于1M,则新空间为扩展后字符串长度+1M+1。称为内存预分 ...
基础篇Redis1.Redis简单介绍Redis是一种键值型的NoSql数据库,这里有两个关键字:
键值型
NoSql
其中键值型,是指Redis中存储的数据都是以key.value对的形式存储,而value的形式多种多样,可以是字符串.数值.甚至json:
而NoSql则是相对于传统关系型数据库而言,有很大差异的一种数据库。
对于存储的数据,没有类似Mysql那么严格的约束,比如唯一性,是否可以为null等等,所以我们把这种松散结构的数据库,称之为NoSQL数据库。
2.课程目录
初始Redis
认识NoSQL
认识Redis
安装Redis
Redis常见命令
5种常见数据结构
通用命令
不同数据结构的操作命令
Redis的Java客户端
Jedis客户端
SpringDataRedis客户端
3.初始Redis3.1.认识NoSQLNoSql可以翻译做Not Only Sql(不仅仅是SQL),或者是No Sql(非Sql的)数据库。是相对于传统关系型数据库而言,有很大差异的一种特殊的数据库,因此也称之为非关系型数据库。
3.1.1.结构化与非结构化传统关 ...
分布式缓存– 基于Redis集群解决单机Redis存在的问题
单机的Redis存在四大问题:
0.学习目标1.Redis持久化Redis有两种持久化方案:
RDB持久化
AOF持久化
1.1.RDB持久化RDB全称Redis Database Backup file(Redis数据备份文件),也被叫做Redis数据快照。简单来说就是把内存中的所有数据都记录到磁盘中。当Redis实例故障重启后,从磁盘读取快照文件,恢复数据。快照文件称为RDB文件,默认是保存在当前运行目录。
1.1.1.执行时机RDB持久化在四种情况下会执行:
执行save命令
执行bgsave命令
Redis停机时
触发RDB条件时
1)save命令
执行下面的命令,可以立即执行一次RDB:
save命令会导致主进程执行RDB,这个过程中其它所有命令都会被阻塞。只有在数据迁移时可能用到。
2)bgsave命令
下面的命令可以异步执行RDB:
这个命令执行后会开启独立进程完成RDB,主进程可以持续处理用户请求,不受影响。
3)停机时
Redis停机时会执行一次save命令,实现RDB持久化。
4)触发RDB ...
实战篇Redis开篇导读亲爱的小伙伴们大家好,马上咱们就开始实战篇的内容了,相信通过本章的学习,小伙伴们就能理解各种redis的使用啦,接下来咱们来一起看看实战篇我们要学习一些什么样的内容
短信登录
这一块我们会使用redis共享session来实现
商户查询缓存
通过本章节,我们会理解缓存击穿,缓存穿透,缓存雪崩等问题,让小伙伴的对于这些概念的理解不仅仅是停留在概念上,更是能在代码中看到对应的内容
优惠卷秒杀
通过本章节,我们可以学会Redis的计数器功能, 结合Lua完成高性能的redis操作,同时学会Redis分布式锁的原理,包括Redis的三种消息队列
附近的商户
我们利用Redis的GEOHash来完成对于地理坐标的操作
UV统计
主要是使用Redis来完成统计功能
用户签到
使用Redis的BitMap数据统计功能
好友关注
基于Set集合的关注、取消关注,共同关注等等功能,这一块知识咱们之前就讲过,这次我们在项目中来使用一下
打人探店
基于List来完成点赞列表的操作,同时基于SortedSet来完成点赞的排行榜功能
以上这些内容咱们统统都 ...
并发编程已完结,章节如下:Java 并发编程上篇 -(Synchronized 原理、LockSupport 原理、ReentrantLock 原理)Java 并发编程中篇 -(JMM、CAS 原理、Volatile 原理)Java 并发编程下篇 -(线程池)Java 并发编程下篇 -(JUC、AQS 源码、ReentrantLock 源码)学习视频
一、基本概念1、进程与线程进程
程序由指令和数据组成,但这些指令要运行,数据要读写,就必须将指令加载至 CPU,数据加载至内存。在指令运行过程中还需要用到磁盘、网络等设备。进程就是用来加载指令、管理内存、管理 IO 的。
当一个程序被运行,从磁盘加载这个程序的代码至内存,这时就开启了一个进程。
进程就可以视为程序的一个实例。大部分程序可以同时运行多个实例进程(例如记事本、画图、浏览器 等),也有的程序只能启动一个实例进程(例如网易云音乐、360 安全卫士等)
线程
一个进程之内可以分为一到多个线程。
一个线程就是一个指令流,将指令流中的一条条指令以一定的顺序交给 CPU 执行 。
Java 中,线程作为小调度单位,进程作为资源分配的 ...
学习笔记如下,本笔记观看视频,点我!
JVM 学习笔记(一)内存结构JVM 学习笔记(二)垃圾回收JVM 学习笔记(三)类加载与字节码技术&内存模型
一、前言1、什么是 JVM ?1)定义Java Virtual Machine ,Java 程序的运行环境(Java 二进制字节码的运行环境)。
2)好处
一次编译,处处执行
自动的内存管理,垃圾回收机制
数组下标越界检查
3)比较JVM、JRE、JDK 的关系如下图所示
2、学习 JVM 有什么用?
面试必备
中高级程序员必备
想走的长远,就需要懂原理,比如:自动装箱、自动拆箱是怎么实现的,反射是怎么实现的,垃圾回收机制是怎么回事等待,JVM 是必须掌握的。
3、常见的 JVM
我们主要学习的是 HotSpot 版本的虚拟机。
4、学习路线
ClassLoader:Java 代码编译成二进制后,会经过类加载器,这样才能加载到 JVM 中运行。
Method Area:类是放在方法区中。
Heap:类的实例对象。
当类调用方法时,会用到 JVM Stack、PC Register、本地方法栈。
方法 ...
MySQL运维1.日志1.1 错误日志错误日志是MySQL 中最重要的日志之一,它记录了当 mysqld 启动和停止时,以及服务器在运行过程中发生任何严重错误时的相关信息。当数据库出现任何故障导致无法正常使用时,建议首先查看此日志。
该日志是默认开启的,默认存放目录/var/log/,默认的日志文件名为 mysqld.log。查看日志位置:
1show variables like '%log_error%';
1.2 二进制日志1.2.1 介绍二进制日志(BINLOG)记录了所有的 DDL(数据定义语言)语句和 DML(数据操纵语言)语句,但不包括数据查询(SELECT、SHOW)语句。
作用:①.灾难时的数据恢复;②.MySQL的主从复制。在MySQL8版本中,默认二进制日志是开启着的,涉及到的参数如下:
1show variables like '%log_bin%';
参数说明:
log_bin_basename:当前数据库服务器的binlog日志的基础名称(前缀),具体的binlog文件名需要再该basename的基础上加上 ...
编程开发
未读🔥 热搜
加载中...











