avatar-decorate
马丁不会代码 level
获赞
595
粉丝
967
关注
16
看过 TA
6711
北京邮电大学
2016
Java
IP属地:浙江
拥抱 AI,开源12306、RagentAI等项目
私信
关注
头像
03-05 16:52
已编辑
北京邮电大学 Java
最近做了一个企业级 RAG 智能体项目 Ragent,基于 SpringBoot 技术栈 + 手搓 RAG,完整开源了。不是 Demo 级别的调 API 玩具,是覆盖了 RAG 全链路的工程实现,分享出来给大家参考。GitHub:https://github.com/nageoffer/ragent为什么做这个项目现在面试越来越多地问 AI 相关的东西——RAG 怎么做的?Agent 怎么实现?MCP 了解吗?但市面上大部分 RAG 教程要么是 Python 生态,要么停留在调 API 跑通 Demo 的阶段,离真正能上线的系统差距很大。所以基于自己在公司实际落地 RAG 系统的经验,做了 Ragent 这个项目,把企业里真正会遇到的问题都实现了一遍。核心能力▪ 多路检索引擎:意图定向 + 全局向量双通道并行,检索结果经去重、重排序等后处理流水线。▪ 意图识别:树形意图分类体系,置信度不足时主动引导澄清。▪ 问题重写与拆分:多轮对话自动补全上下文,复杂问题拆分为子问题分别检索。▪ 会话记忆:滑动窗口 + 自动摘要压缩,控制 Token 成本的同时保留关键上下文。▪ 模型路由与容错:多模型候选、优先级调度、首包探测、三态熔断器、自动降级。▪ MCP 工具调用:知识检索与外部系统调用在同一流程中无缝融合。▪ 文档入库 ETL:基于节点编排,从解析、分块、向量化到写入 Milvus,每步可配置、有日志。▪ 全链路追踪:每次对话的重写、意图、检索、生成各环节都有 Trace 记录。技术栈后端:Java 17、Spring Boot 3、MyBatis Plus、Milvus 2.6、Redis + Redisson、RocketMQ 5.x、Apache Tika、Sa-Token前端:React 18、TypeScript、Vite代码量:后端约 4w 行,前端约 1.8w 行,20 张业务表,22 个前端页面。和 Demo 项目的主要区别▪ 检索方式:Demo 通常是单路向量检索,Ragent 是多通道并行 + 后处理流水线。▪ 意图识别:Demo 没有,Ragent 做了树形意图 + 歧义引导。▪ 模型调用:Demo 单模型挂了就挂了,Ragent 多候选路由 + 熔断降级。▪ 会话记忆:Demo 全量塞给模型,Ragent 滑动窗口 + 摘要压缩。▪ 可观测性:Demo 没有,Ragent 全链路 Trace。项目会持续迭代,感兴趣的同学可以 clone 下来跑一跑,有问题欢迎提 Issue 交流。
百特曼3:建议你面试的时候不要叫企业级随便问问用户量、产品竞争力、稳定性咋办,项目做了整条链路很不错的,别因为强调企业级搬起石头砸了自己的脚,可以强调做的内容;代码量也不要向面试官强调,放在前几年手搓代码的时候6万行代码还能拿出来打一打,可以强调用AI coding做了全栈开发之类的
AI项目实战
0 点赞 评论 收藏
分享
头像
03-05 16:52
已编辑
北京邮电大学 Java
最近做了一个企业级 RAG 智能体项目 Ragent,基于 SpringBoot 技术栈 + 手搓 RAG,完整开源了。不是 Demo 级别的调 API 玩具,是覆盖了 RAG 全链路的工程实现,分享出来给大家参考。GitHub:https://github.com/nageoffer/ragent为什么做这个项目现在面试越来越多地问 AI 相关的东西——RAG 怎么做的?Agent 怎么实现?MCP 了解吗?但市面上大部分 RAG 教程要么是 Python 生态,要么停留在调 API 跑通 Demo 的阶段,离真正能上线的系统差距很大。所以基于自己在公司实际落地 RAG 系统的经验,做了 Ragent 这个项目,把企业里真正会遇到的问题都实现了一遍。核心能力▪ 多路检索引擎:意图定向 + 全局向量双通道并行,检索结果经去重、重排序等后处理流水线。▪ 意图识别:树形意图分类体系,置信度不足时主动引导澄清。▪ 问题重写与拆分:多轮对话自动补全上下文,复杂问题拆分为子问题分别检索。▪ 会话记忆:滑动窗口 + 自动摘要压缩,控制 Token 成本的同时保留关键上下文。▪ 模型路由与容错:多模型候选、优先级调度、首包探测、三态熔断器、自动降级。▪ MCP 工具调用:知识检索与外部系统调用在同一流程中无缝融合。▪ 文档入库 ETL:基于节点编排,从解析、分块、向量化到写入 Milvus,每步可配置、有日志。▪ 全链路追踪:每次对话的重写、意图、检索、生成各环节都有 Trace 记录。技术栈后端:Java 17、Spring Boot 3、MyBatis Plus、Milvus 2.6、Redis + Redisson、RocketMQ 5.x、Apache Tika、Sa-Token前端:React 18、TypeScript、Vite代码量:后端约 4w 行,前端约 1.8w 行,20 张业务表,22 个前端页面。和 Demo 项目的主要区别▪ 检索方式:Demo 通常是单路向量检索,Ragent 是多通道并行 + 后处理流水线。▪ 意图识别:Demo 没有,Ragent 做了树形意图 + 歧义引导。▪ 模型调用:Demo 单模型挂了就挂了,Ragent 多候选路由 + 熔断降级。▪ 会话记忆:Demo 全量塞给模型,Ragent 滑动窗口 + 摘要压缩。▪ 可观测性:Demo 没有,Ragent 全链路 Trace。项目会持续迭代,感兴趣的同学可以 clone 下来跑一跑,有问题欢迎提 Issue 交流。
百特曼3:建议你面试的时候不要叫企业级随便问问用户量、产品竞争力、稳定性咋办,项目做了整条链路很不错的,别因为强调企业级搬起石头砸了自己的脚,可以强调做的内容;代码量也不要向面试官强调,放在前几年手搓代码的时候6万行代码还能拿出来打一打,可以强调用AI coding做了全栈开发之类的
AI项目实战
0 点赞 评论 收藏
分享
头像
2025-05-27 08:31
北京邮电大学 Java
Hippo4j 在 2025 开源之夏发布了两个硬核后端任务,分别是基础和进阶难度,欢迎感兴趣且有相关经验的同学报名。🧐 什么是Hippo4j?openGoofy Hippo4j 社区(Github 5.8k star)是一款异步线程池框架,支持线程池动态变更、监控以及报警,无需修改代码轻松引入。已有近 50 家企业生产部署使用,助力企业解决线程池治理工作。🤔 什么是开源之夏?网上搜索开源之夏,并且在项目列表搜索Hippo4j即可查看。1️⃣ Hippo4j Server 端参数协议升级与 SPI 扩展验证Hippo4j Server 通过事件推送机制实现线程池参数动态生效,但当前 Client 端依赖全量参数 MD5 比对策略,存在严重缺陷:1. 协议僵化:Server 端参数结构升级,如字段重命名时,Client 因 MD5 不匹配持续触发无效刷新。2. 扩展性差:Server 端新增扩展参数,如新增阻塞队列类型等关键参数,Client 因 MD5 不匹配持续触发无效刷新。本项目旨在重构参数比对协议,支持多版本兼容与增量更新,同时设计阻塞队列 SPI 扩展与验证框架,保障动态线程池升级的平滑性与安全性。2️⃣ Hippo4j Server 模式轻量化集群部署实现实现 Hippo4j Server 端的多节点集群部署,集群中的 Server 实例应自动互相发现、同步配置,并能容忍部分节点故障而保持服务可用。多注册中心支持:设计统一的注册中心适配接口,支持通过配置动态加载注册中心实现模块;提供至少 Nacos 和 ZooKeeper 两种注册发现的适配器。📝如果大家想要报名 Hippo4j 开源之夏项目的话,可以私信或者评论区留言。
0 点赞 评论 收藏
分享
头像
2024-08-26 17:22
北京邮电大学 Java
我以为没有校招同学去看 Spring 原理,之前就没考虑过,结果还真有,那就这个问题聊聊我的看法。结论是对于绝大部分校招同学,看 Spring 的原理属于浪费时间。以下是我的一些论据:1. 对于现在的校招面试,我感觉是不健康的,问的那些东西,3年社招也不过如此。但是受环境影响,改变不了公司只能改变自己,迫使自己变卷去学习其中的高频考点。很明显 Spring 并不包含其中,学了之后精力就顾不上那些高频考点,比如 Redis、MySQL、JUC、JVM、消息队列、网络、项目、实习等。2. 就算常规的八股、项目、算法都没问题了,想深入一个技术点学习,那我也不推荐 Spring。面试官绝大概率是没看过 Spring 源码的,你和他硬聊他不熟悉的领域,根本不会和你往下说,你也就发挥不出来。3. 相比于 Spring 原理,我更推荐学习类似于 Redis、MySQL 深入研究,比如说持久化、淘汰算法、集群等,或者说研究消息队列的原理。一般像消息队列线上出问题的概率虽然不多,但也不少,基本上没听说过 Spring 出过啥问题吧。从概率上说面试官对消息队列感该兴趣的概率也会大不少。那万一面试官也会 Spring 原理呢?你也说了,是万一,万分之九千九百九十九不会,时间付出和产出不成正比。如果大家本着面试学习,学习一个内容是否有用,取决于面试市场,尽量不要在冷门的技术上占用时间。说了这么多不是说 Spring 原理不需要学,Spring 里用了很多好的设计,如果在时间不紧急的情况下提升自己技术是完全没问题的,建议在工作后学习。
夺命喵九:我学不会,所以我先不需要学
0 点赞 评论 收藏
分享
头像
2024-05-29 11:41
北京邮电大学 Java
今天群里有位同学向我提了个问题,关于消息队列 RocketMQ 在运行中宕机了怎么办?见图一。正常看到这种问题,以我之前作为面试官的经验,一般会考察面试者 RocketMQ 集群架构部署之间的一些细节,比如同步刷盘和异步刷盘之间的差异,是否会丢失数据。以及主从架构和多主多从架构之间的协作方式。基本上如果能回答出来就差不多了。大家也都看到了,面试官表示你部署的再多,服务器也都会挂。大概意思差不多我了解了,相当于 RocketMQ 部署多主多从后,上帝视角直接就挂它部署的相关服务器 然后我说了个回答:“类似于这种的话,我们可以做中间件降级。比如说,RocketMQ 挂了,咱们可以使用 Redis Stream 作为替补方案,让消息队列业务正常运行”。以为这总差不多了吧,然后大脑宕机的地方来了。另一位同学说的,见图二 面试官长点心吧,只是个实习生面试啊......玩归玩闹归闹,根据自己的经验,还是说了两个本不应该在实习生面试中出现的答案。- 异地多活:这是整个互联网里我能接触到对于容灾来说,档次最高也是最为保险的方案,99%的公司根本搞不起来,也没有必要搞。- 健康监控:如果发现中间件挂掉,发起向架构租和运维组的报警,然后同时执行触发将该机器的服务重新启动。然后我发现这个还不是标准答案,标准答案在图三 有没有遇到过类似超脱世俗之外,不在伦理之中的问题? 欢迎评论区留言。看到比较有意思的,我也会回复我认为的答案。
匿名用户adc:顺便也感叹一句现在的面试官真好当,我期待在面试中遇到地球毁灭了怎么办这种问题
查看3道真题和解析
0 点赞 评论 收藏
分享
头像
2024-05-21 14:59
北京邮电大学 Java
0 点赞 评论 收藏
分享
头像
2024-05-14 13:28
北京邮电大学 Java
0 点赞 评论 收藏
分享
头像
2024-05-12 14:52
北京邮电大学 Java
0 点赞 评论 收藏
分享
头像
2024-04-29 14:08
北京邮电大学 Java
0 点赞 评论 收藏
分享
头像
2024-04-25 11:59
已编辑
北京邮电大学 Java
牛客39572684...:这么问主要是问他们的主要区别的,Kafka在数据吞吐上是远超rocketmq的,但是它的topic很多的情况下,性能又远低于rocketmq。基于这种情况kafka多用于处理海量的日志,历史数据等体量庞大的数据集合体,这样在个体数据庞大的情况下使用的topic点更少;rocketmq有着更加严谨的检查和规则,所以它更适合分散式的短消息和小数据,这也得于它的topic算法和规划,即使有成千上万个topic点,性能下降并不多。
0 点赞 评论 收藏
分享
头像
2024-04-01 13:32
已编辑
北京邮电大学 Java
0 点赞 评论 收藏
分享

创作者周榜

更多
关注他的用户也关注了:
牛客网
牛客网在线编程
牛客网题解
牛客企业服务