AI ? Java?SpringAI?这不,它来了!

AI 来了

AI 目前来说可以是非常非常的火热!但凡是个程序员都不好意思说没用过 AI,在面试的时候面试官也爱问 AI 这些东西。

尤其是又出现了AI Agent、RAG、向量数据库、MCP这些东西,进一步对 AI 进行了赋能。让 AI 的火热程度又燃烧了一把!

对于 Java 来说,在使用 AI 上也是迎来了一次大的变革,它就是 SpringAI!

看名字就知道它是由 Spring 官方团队开发的,与 SpringBoot 高度的集成,在使用体验上非常的爽快,

还是 "配置 --> 注入 --> 使用" 这三把斧。

项目介绍

大麦AI 是一套具有 AI 实战意义的项目,通过此项目能够帮助大家掌握 AI 的核心技能,包括:AI 的概念和作用、AI的模型、AI的使用、AI的开发。

用户可以通过 AI 模型,智能的帮用户推荐想要看的节目和演唱会,显示节目和演唱会的详情介绍、演出时间、各个票档价格、是否有余票,以及帮助生成订单等功能。

有时用户想了解相关的购票和退票规则,如果自己在系统中搜索的话,需要一点点仔细的查询,这样会花费很长的时间。通过 AI 模型,用户可以直接询问想要了解的规则,AI 模型就会根据已经制定好的规则内容根据用户的问题来将对应的内容告诉给用户。

能学到的硬货

此项目集成了目前主流的 AI 技术,通过此项目你能学到

  • SpringBoot 框架的深度使用和自动装配的实际应用
  • RAG、向量数据库的作用和使用
  • SpringAI 的深度适配以及注意项
  • 不同 AI 模型的特点以及如何使用(Ollama、OpenAI、DeepSeek、阿里百炼)
  • Advisor 的自定义高级玩法
  • Function Calling 的深度使用
  • MCP 模型的使用
  • RAG 的实战应用
  • VectorStore 向量数据库的实战应用
  • 文档内容的抓取分析
  • AI 和传统数据库的相互协调
  • 和传统项目的高级交互
  • Cursor 工具的深度使用

和其他项目的联动

真实的 AI 项目肯定不是自己单独的执行逻辑,自己和自己玩,而是要和其他不同的项目进行交互,查询数据,修改数据,提供文件 等等。

大麦AI 就是做到了和之前开发的 大麦 进行联动,大麦 负责高并发业务的逻辑执行,大麦AI 负责和用户进行高度智能的交互。

大麦项目

大麦项目是用来应对高并发产生的各种问题,设计各种实际落地的解决方案,如:分库分表锁的优化缓存穿透缓存雪崩缓存击穿,以及 如何解决高流量下的订单生成缓存中如何分片存储数据快速扣减库存 等等一系列问题。

大麦项目代码地址: https://gitee.com/java-up-up/damai

大麦项目详细介绍: https://www.nowcoder.com/discuss/669126440557785088?sourceSSR=users

项目流程

大麦AI 是根据官方正式版的文档进行搭建的,将 每一步搭建每一步执行每一步踩坑 都进行了总结。如果公司需要的话,小伙伴可以直接拿这套架构用到自己的项目上。

项目功能

此项目具有两个角色:大麦贴心助手大麦规则助手,也就是说具有两个业务功能

大麦贴心助手

用户在进行购买演唱会时,想让贴心助手帮自己来干一些事,用户自己就不需要去系统中操作了,比如:

  • 推荐哪些比较好的演唱会
  • 告诉用户某场演唱会的详情介绍
  • 告诉用户对应的票价金额、演出时间
  • 帮助用户自动的完成购票

询问 我在北京,推荐有哪些演唱会

询问 详细介绍周杰伦演唱会

询问 准备购票

输入相应的购票信息

自动地生成订单

大麦规则助手

用户查询节目演唱会的订票和退票规则时,自己去系统进行查询会觉得很麻烦,想让规则助手来回答自己提出的问题,比如:

  • 我想要订票,怎么操作
  • 没抢到票/没票了,怎么办
  • 儿童票订购的相关问题
  • 德云社儿童也需要凭票入场么
  • 具体的退票政策
  • 门票自动作废了怎么办

询问 具体的退票政策

询问 儿童票订购的相关问题

架构设计

项目在使用 AI 模型时,有多个模块功能,包括 Springboot和SpringAI的结合RAG和向量数据库的解释SpringAI操作向量数据库MCP 和 Function Calling 操作数据AI的拦截器 Advisor 的高阶用法 等等... ...

业务结构

通过此业务结构图进一步详细的介绍项目中的功能,包括:核心架构AI模型AdvisorRAG基础配置贴心助手规则助手调用方式存储方式等各个方面,能够对大麦AI项目的整体架构和设计有一个清晰的认知

文档和视频目录

文档会将每个技术点、怎么用?如何用?为什么这么用?用的过程有问题了怎么解决? 都会讲到位

视频会按照文档的讲解顺序 从0到1 的完整讲解,保证学习过程中有一个清晰的认知过程

全部评论

相关推荐

面试体验很好,面试官会对我不了解的地方进行解释,并推荐我去看些什么知识点。问题:1.对Java的理解,四大特性,跨平台运行2.集合类哪些是线程安全和线程不安全的,为什么3.什么时候需要考虑多线程并发安全,不考虑会怎样4.除了Synchronized能保证并发安全,还有其他什么办法?有什么不加锁的方式?(忘记回答原子类了)5.JVM内存结构和垃圾回收算法有哪些6.可达性分析算法原理7.不同垃圾回收算法的应用场景有(只回答了和服务器性能相关的,面试官说可以看看业务场景)8.反射实现原理9.静态代理和动态代理10.动态代理是编译时创建代理类的字节码还是运行期间创建的?(没了解过)11.Spring的核心思想12.IOC和AOP的关系,如果没有IOC,AOP会有哪些问题?(没了解过)13.有哪些类加载器,双亲委派机制,为什么需要这个机制,它们是怎么做到加载指定路径下的类的14.事务的特性,隔离级别,隔离级别实现原理15.分布式事务是什么,什么时候需要分布式事务,怎么实现(没说清楚)16.为什么需要分库分表(没回到到关键点,I/O次数)17.为什么需要主从集群(没说清楚,关键点读写场景)18.非关系数据库了解过吗?es的主节点与从节点数据不一致怎么办?19.优化数据库查询的方式哪些20.Maven排除依赖的底层原理反问:1.部门业务2.面试结果啥时候出
查看20道真题和解析
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务