1-前言
1.1 谁适合此教程?
本教程面向有经验的程序员,最好是Java程序员。
⚠️编程小白慎入;算法大佬可路过。
1.2 学完此教程能达到什么效果?
本教程:实践、启发 对读者的期望:思考、扩展学习
- 本教程以实践为中心,几乎没有理论;
- 通过标题党和简明的示例,希望能激发大家对AI编程的学习、实践热情;
- 期望各位看官通过动手实践的过程,对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-主题
本教程预计从以下方面展开,涵盖当成熟及热门的大模型工程应用概念:
- 快速入门——AI助手的诞生;
- 聊天记忆——我治好了她的健忘症;
- 工具调用——解救困在时间里的她;
- RAG——快速增进她对我的了解;
- 工具调用 vs RAG——谁应该更主动;
- MCP——彼此需要点空间;
- 多模态——让她理解艺术。
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。
💡容器绝对是程序员快速学习的利器,让你极速搭建各种开源软件。