Fork me on GitHub
摘要: AI 技术发展很快,同样 AI 配套的相关技术发展也很快。这不今天刚打开 Spring AI 的官网就发现它又又又又更新了,而这次更新距离上次更新 M7 版本才不过半个月的时间,那这次 Spring AI 给我们带来了哪些惊喜呢?一起来看。 重点升级点 我们先来判断 Spring AI M8 的重点 阅读全文
posted @ 2025-05-14 14:55 磊哥|www.javacn.site 阅读(310) 评论(0) 推荐(1)
摘要: LangChain4j 提供了 3 种 RAG(Retrieval-Augmented Generation,检索增强生成)实现,我们通常在原生或高级的 RAG 实现中,要对数据进行清洗,也就是将外接知识库中的原数据进行噪音去除,留下有价值的信息。 例如在带有 HTML 标签的文本中,HTML 标签 阅读全文
posted @ 2025-05-12 14:40 磊哥|www.javacn.site 阅读(152) 评论(0) 推荐(1)
摘要: LangChain4j 1.0.0-beta4 上周刚刚发布,并且计划这个月中旬发布 RC1,我觉得这次升级还是非常实用的,除了修复了一些关键的 BUG 之外,还有一个被我经常吐槽的功能也被更正了,具体是什么问题呢?我们下来一起看。 同时使用过 Spring AI 和 LangChain4j 的同学 阅读全文
posted @ 2025-05-09 10:30 磊哥|www.javacn.site 阅读(81) 评论(0) 推荐(0)
摘要: LangChain4j 和 Spring AI 是 Java 生态中实现大模型应用开发的两个最重要的框架,但二者的区别是啥?生产级别又该使用哪种框架?令很多人犯了难,所以本文就来浅聊一下,希望给大家在技术选型时有一个简单的参考。 1.功能对比 LangChain4j 和 Spring AI 的功能是 阅读全文
posted @ 2025-05-06 15:09 磊哥|www.javacn.site 阅读(386) 评论(0) 推荐(1)
摘要: 今日凌晨,通义千问团队正式开源了 Qwen3 大模型,并且一口气发布了 8 个型号,其中包括 0.6B、1.7B、4B、8B、14B、32B 以及 30B-A3B 和 235B-A22B,使用者可以根据自己的业务情况,选择合适的版本进行使用。 更让人惊喜的是,最新的 Qwen3 系列模型具备双模推理 阅读全文
posted @ 2025-04-29 16:42 磊哥|www.javacn.site 阅读(792) 评论(0) 推荐(0)
摘要: 向量数据库是大模型应用开发必备组件之一,因为它在知识库、语义搜索、检索增强生成(RAG)等人工智能应用中发挥着举足轻重的作用。但向量数据有很多,为什么要使用 Milvus 呢? 常见向量数据 常见的向量数据库有以下这些: Chroma Elasticsearch Milvus Neo4j OpenS 阅读全文
posted @ 2025-04-25 16:34 磊哥|www.javacn.site 阅读(480) 评论(0) 推荐(1)
摘要: 简单来说,“向量”Vector 是大模型(LLM)在搜索时使用的一种“技术手段”,通过向量比对,大模型能找出问题的相关答案,并且进行智能回答。 向量简介 Vector 是向量或矢量的意思,向量是数学里的概念,而矢量是物理里的概念,但二者描述的是同一件事。 定义:向量是用于表示具有大小和方向的量。 向 阅读全文
posted @ 2025-04-24 11:28 磊哥|www.javacn.site 阅读(86) 评论(0) 推荐(0)
摘要: 在 Spring AI 中,流式输出(Streaming Output)是一种逐步返回 AI 模型生成结果的技术,允许服务器将响应内容分批次实时传输给客户端,而不是等待全部内容生成完毕后再一次性返回。 这种机制能显著提升用户体验,尤其适用于大模型响应较慢的场景(如生成长文本或复杂推理结果)。 技术实 阅读全文
posted @ 2025-04-23 17:03 磊哥|www.javacn.site 阅读(381) 评论(0) 推荐(2)
摘要: 最近在深度体验和使用 Spring AI 和 LangChain4j,从开始的满怀期待五五开,但最后极具痛苦的使用 LangChain4j,让我真正体验到了正规军和草台班子的区别。 Spring AI VS LangChain4j Spring AI:使用简单、写法优雅、但功能提供的较少、成熟度稍高 阅读全文
posted @ 2025-04-21 16:01 磊哥|www.javacn.site 阅读(698) 评论(1) 推荐(3)
摘要: 昨天晚上直播,我们用 RAG(Retrieval-Augmented Generation,检索增强生成)实现了数据库 AI 助手,今天我们准备换一个技术使用 function call 来实现快递 AI 助手。 执行效果 快递 AI 助手的业务逻辑很清晰,就是我通过 LLM 大语言模型的对话来查询 阅读全文
posted @ 2025-04-17 16:22 磊哥|www.javacn.site 阅读(383) 评论(0) 推荐(0)
摘要: Spring AI 前两天(4.10 日)更新了 1.0.0-M7 版本后,原来的 SimpleVectorStore 内存级别的向量数据库就不能用了,Spring AI 将其全部源码删除了。 此时我们就需要一种成本更低的解决方案来解决这个问题,如何解决呢?我们一起来看。 解决方案:Redis 向量 阅读全文
posted @ 2025-04-16 16:05 磊哥|www.javacn.site 阅读(201) 评论(0) 推荐(0)
摘要: 不知道大家有没有发现?对于添加到 MCP 服务市场的成千上万个 MCP 服务(而且这个数字每天还在增加),我们可以不写一行代码,轻松实现调用,但背后的原因究竟是啥呢? MCP 虽然用起来很方便,但搞不懂背后的实现原理,总感觉这个知识点还没完全掌握,所以接下来,我们一起来看它的实现原理。 从某个 MC 阅读全文
posted @ 2025-04-11 16:33 磊哥|www.javacn.site 阅读(925) 评论(0) 推荐(1)
摘要: 提示词(Prompt)是输入给大模型(LLM)的文本指令,用于明确地告诉大模型你想要解决的问题或完成的任务,也是大语言模型理解用户需求并生成准确答案的基础。因此 prompt 使用的好坏,直接决定了大模型生成结果的质量(是否符合预期)。 Prompt 基本使用 为了让大模型生成更符合预期的结果,我们 阅读全文
posted @ 2025-04-02 16:50 磊哥|www.javacn.site 阅读(221) 评论(0) 推荐(0)
摘要: 嵌入模型(Embedding Model)和向量数据库(Vector Database/Vector Store)是一对亲密无间的合作伙伴,也是 AI 技术栈中紧密关联的两大核心组件,两者的协同作用构成了现代语义搜索、推荐系统和 RAG(Retrieval Augmented Generation, 阅读全文
posted @ 2025-04-01 16:36 磊哥|www.javacn.site 阅读(304) 评论(0) 推荐(0)
摘要: MCP 这个概念相信大家已经听了无数次了,但不同人会有不同的解释,你可能也是听得云里雾里的。 不过没关系,今天这篇内容会通过 Spring AI 给你实现一个 MCP 的 Client 和 Server 架构,让你彻底搞懂 MCP 的概念,以及学会 MCP 的开发技能。 什么是MCP? MCP 是 阅读全文
posted @ 2025-03-27 12:02 磊哥|www.javacn.site 阅读(6392) 评论(0) 推荐(0)
摘要: MySQL 是面试中必问的模块,而 MySQL 中的优化内容又是常见的面试题,所以本文来看“工作中优化MySQL的手段有哪些?”。 工作中常见的 MySQL 优化手段分为以下五大类: 索引优化:确保高频查询字段有合适索引。 SQL优化:减少全表扫描、避免不必要计算。 事务与锁优化:避免长事务、使用批 阅读全文
posted @ 2025-03-24 15:11 磊哥|www.javacn.site 阅读(179) 评论(0) 推荐(0)
摘要: Reactor 模型是一种事件驱动的高性能网络编程模型,主要用于处理高并发的网络 I/O 请求。其核心思想是通过一个或多个线程监听事件,并将事件分发给相应的处理程序,从而实现高效的并发处理。 为什么要有Reactor模型? 在高并发下,只有多路复用技术,以及 NIO 是不行的,因为 NIO 只是 J 阅读全文
posted @ 2025-03-21 14:54 磊哥|www.javacn.site 阅读(45) 评论(0) 推荐(0)
摘要: 最近正是找实习的大好时机,互联网各家也分别官宣了他们的招聘计划。 京东宣布要招聘 10000 人,腾讯宣布要招聘 7000 人,字节宣布要招 4000 人,美团宣布了他们要招聘 5000 人,并且公布了 70% 的高转正率: (图片来自:美团公众号,侵权联系可删) 这不,这两天有同学面试美团,被拷打 阅读全文
posted @ 2025-03-18 17:17 磊哥|www.javacn.site 阅读(26) 评论(0) 推荐(0)
摘要: 项目的高可用、高并发和高扩展是当前开发中必须追求的三大目标,因此也是面试中经常被问到的内容,所以我们今天就来看看,如何才能保证项目的高可用性呢? 1.高可用的度量指标 项目的可用性的度量指标是以可用性百分比(N个9)来衡量的,也就是通过系统正常运行时间占比衡量的,例如: 99.9%(3个9):年故障 阅读全文
posted @ 2025-03-10 11:51 磊哥|www.javacn.site 阅读(128) 评论(0) 推荐(0)
摘要: JWT(JSON Web Token) 是一种开放标准(RFC 7519),用于在网络应用间安全传输信息,通常用于身份验证和信息交换。其核心特点是通过紧凑且自包含的 JSON 对象传递数据,无需服务端存储会话状态。 1.为什么需要JWT? 开发中需要 JWT 的主要原因是为了解决传统基于 Sessi 阅读全文
posted @ 2025-03-06 16:47 磊哥|www.javacn.site 阅读(66) 评论(0) 推荐(0)
摘要: 线程池的拒绝策略是指,当线程池无法承载更多任务时执行的行为。也就是当线程池的核心线程数、最大线程、任务队列都满的情况下,又来了新的任务时,线程池执行的行为被称之为线程池的拒绝策略。 线程池的执行流程如下: 1.内置拒绝策略 在 Java 中,线程池内置了以下四种拒绝策略(Rejected Execu 阅读全文
posted @ 2025-03-05 10:45 磊哥|www.javacn.site 阅读(236) 评论(0) 推荐(0)
摘要: JVM 内存模型(JVM Memory Model)和 Java 内存模型(Java Memory Model, JMM)是 Java 开发中两个非常重要的概念,但这两个概念很容易被搞混,所以本文就来通俗易懂的讲讲二者的区别。 首先,我们先来看看各自的概念,以及其解决的问题。 1.JVM内存模型 定 阅读全文
posted @ 2025-03-04 10:51 磊哥|www.javacn.site 阅读(186) 评论(0) 推荐(0)
摘要: 在 Redis 中有两个定义:一个缓存击穿、一个缓存穿透,因为二者的名字比较像,因此很容易就搞混了。但本文会给你提供一个记忆的小技巧,帮你彻底区分二者的定义。 在讲这个技巧之前,我们先来了解一下二者的区别。 1.定义与区别 缓存穿透(Cache Penetration):缓存穿透是指查询的数据既不在 阅读全文
posted @ 2025-02-28 11:45 磊哥|www.javacn.site 阅读(684) 评论(2) 推荐(1)
摘要: 读写分离(Read-Write Splitting)是一种常见的数据库架构优化策略,通过将数据库的读操作(查询)和写操作(插入、更新、删除)分离到不同的数据库实例上,从而提高系统的性能、可扩展性和高可用性。 在项目中实现读写分离目前主流的实现技术是通过 Apache ShardingSphere 来 阅读全文
posted @ 2025-02-26 14:30 磊哥|www.javacn.site 阅读(850) 评论(0) 推荐(1)
摘要: 华为每次的招聘都很晚,但同时又是最让人惊喜和期待的 Offer,但很多同学对于华为的评级和薪资颇为不解,所以今天在这里简单的和大家聊聊这个话题。 接下来的这个评级和薪资是往年校招的统计数据,非官方信息,大家可以做一个参考。 本科校招薪资 本科主要定级为 13 级,14 级占比约 15% 左右。 普通 阅读全文
posted @ 2025-02-24 10:49 磊哥|www.javacn.site 阅读(160) 评论(0) 推荐(0)
点击右上角即可分享
微信分享提示