Spring AI 1.0 实战:Java 开发者必须掌握的 AI 开发框架
前言Spring AI 1.0 于2024年正式发布,这是Java生态第一个真正意义上的AI开发框架。本文将全面解析Spring AI的核心设计理念、核心组件,以及如何用它快速构建AI应用。Spring AI想解决什么问题?“AI for Java developers, without getting a PhD in ML.”一、Spring AI 核心概念1.1 设计哲学Spring AI的核心理念:Spring Boot = 简化Spring开发 ↓ Spring AI = 简化AI应用开发它借鉴了Spring Data的统一存储访问模式,提供统一的AI模型抽象,让开发者无缝切换不同的AI提供商(OpenAI、Azure OpenAI、AWS Bedrock、HuggingFace……)。1.2 支持的模型类型模型状态对话GPT-4/3.5, Claude, PaLM, 通义千问✅ 稳定Embeddingtext-embedding-ada, Baidu Embedding✅ 稳定图像生成DALL-E, Stable Diffusion✅ 稳定音视频Whisper, GPT-4o🚧 实验性二、环境搭建2.1 Maven依赖dependencies!-- Spring AI BOM,统一版本管理 --dependencygroupIdio.spring.platform/groupIdartifactIdai-spring-boot-bom/artifactIdversion2024.0.0.0/versiontypepom/typescopeimport/scope/dependency!-- OpenAI支持 --dependencygroupIdorg.springframework.ai/groupIdartifactIdspring-ai-openai-spring-boot-starter/artifactId/dependency!-- Azure OpenAI支持 --dependencygroupIdorg.springframework.ai/groupIdartifactIdspring-ai-azure-openai-spring-boot-starter/artifactId/dependency!-- 向量存储支持 --dependencygroupIdorg.springframework.ai/groupIdartifactIdspring-ai-store-pgvector-spring-boot-starter/artifactId/dependency/dependencies2.2 配置spring:ai:openai:api-key:${OPENAI_API_KEY}base-url:https://api.openai.com# 可选:配置默认模型参数chat:options:model:gpt-4-turbotemperature:0.7max-tokens:2000三、核心API详解3.1 ChatClient — 对话Spring AI的ChatClient是最高层的对话API,设计风格参考JdbcTemplate:@RestController@RequiredArgsConstructorpublicclassChatController{privatefinalChatClientchatClient;// 基础对话@GetMapping("/ai/chat")publicStringchat(@RequestParamStringmessage){returnchatClient.prompt().user(message).call().content();}// 带系统提示词@GetMapping("/ai/chat-with-system")publicStringchatWithSystem(@RequestParamStringmessage){returnchatClient.prompt().system("你是一个Java技术专家,用简洁的方式回答问题").user(message).call().content()