0-Spring AI手把手教程-开篇

163 阅读3分钟

1-前言

1.1 谁适合此教程?

本教程面向有经验的程序员,最好是Java程序员。

⚠️编程小白慎入;算法大佬可路过。

1.2 学完此教程能达到什么效果?

本教程:实践、启发 对读者的期望:思考、扩展学习

  1. 本教程以实践为中心,几乎没有理论;
  2. 通过标题党和简明的示例,希望能激发大家对AI编程的学习、实践热情;
  3. 期望各位看官通过动手实践的过程,对AI编程的概念有所领悟,进而扩展学习更多理论与实践知识。

有些概念,我本人也是啃八股文啃不动,在实践的过程中,突然就理解了

1.2 程序员为什么要学习大模型开发

随着2024年底Deepseek R1的横空出世,国内对大语言模型的热情达到一个新的高度。

作为站在科技前沿的程序员,被亲友的误解,一下从:

    “电脑都不会修,还好意思说你是搞IT的?”

突然变成了:

    “大模型都不会用,还好意思说你是搞软件的?”

当然,别人怎么想不重要,关键是程序员本身是一个需要与时俱进的职业,大模型应用开发,已经快成为每个程序员干饭的必备技能。

另外根据个人长期的从业经验,算法大佬开发AI应用不但浪费人才,质量、吞吐量和可维护性也堪忧,AI的工程化应用,还是得靠专业程序员。

1.3 为什么要用Java

Java天生就是互联网应用领域的王者,使用Java做大模型应用,自带安全感——高可靠性高并发低延迟高扩展性高可维护性

ChatGPT爆火之后,java社区一直厚积薄发,在2025年初,迎来了langchain4j和Spring AI的正式发布,java程序员做大模型应用突然变得非常简单。

尤其是Spring AI带给我们的这份简单,从概念到编码,一直到工程。所以现在Java入局AI编程,还有一个优势——高开发效率

2-主题

本教程预计从以下方面展开,涵盖当成熟及热门的大模型工程应用概念:

  1. 快速入门——AI助手的诞生;
  2. 聊天记忆——我治好了她的健忘症;
  3. 工具调用——解救困在时间里的她;
  4. RAG——快速增进她对我的了解;
  5. 工具调用 vs RAG——谁应该更主动;
  6. MCP——彼此需要点空间;
  7. 多模态——让她理解艺术。

3-准备工作

3.1 编程环境

学习本教程的都是程序员,电脑和编程工具当然是必不可少的。

作者本人用的是MacBookAir M1+IDEA,实际上你可以使用任意你喜欢的操作系统和集成开发环境,比如VSCode也值得推荐。

3.2 软件环境

以下环境必不可少:

  • JDK21+,其实JDK17也能运行本教程中的所有代码,只须修改pom.xml中的版本号;
  • Maven3.9+,动手能力强的,也可以用Gradle等;
  • Pgvector向量数据库,实际是一个Postgres的向量插件,本教程使用Docker|Podman+pgvector/pgvector:pg17镜像创建的容器实例;
  • m3e向量模型,本教程使用的是Docker|Podman+registry.cn-hangzhou.aliyuncs.com/fastgpt_docker/m3e-large-api:latest镜像创建的容器实例;
  • 大模型Deepseek-V3,本教程使用“OpenRouter”提供的免费模型,不差钱的可以充值,土豪可以用Nvida4090显卡自行部署;
  • Web客户端,为节省篇幅本教程使用curl命令,实际更推荐Postman。

以下软件强烈推荐,但也不是必须:

  • Linux/Mac用户:Docker或Podman;
  • Window用户:WSL2+Docker Desktop或Podman Desktop,或虚拟机+Linux+Docker或Podman。

💡容器绝对是程序员快速学习的利器,让你极速搭建各种开源软件。