生成式AI
生成式 AI(Generative AI)
全球企业都在寻求通过向其应用添加 生成式 AI 功能来对其进行转型。对话式聊天机器人、代码辅助、医疗保健诊断 是生成式 AI 的一些用例。
什么是生成式 AI?
生成式 AI 是一种 人工智能 类型,它可以 创建新内容,例如 文本、图像、视频等。使生成式 AI 独一无二的特点是:人类语言作为接口、上下文相关的输出、预训练模型 以及通过 Web API 访问的 可访问性。
为什么 Java 开发者应该关注?
Java 仍然是企业中最流行的编程语言之一。它的 稳定性、安全性 和 可扩展性 是无与伦比的。然而,集成 AI 功能,例如 检索增强生成 (RAG)、图像识别等多模态用例 以及 预测分析,通常要求团队学习新技能或切换到不同的平台。
使用 Spring 的生成式 AI (Generative AI with Spring)
Spring AI 是 Spring 框架的强大扩展。它旨在让 Java 开发者无需进行大量再培训,即可创建具备 AI 能力的应用。通过利用 Spring 框架的熟悉度和优势,Spring AI 普及了对复杂 AI 功能的访问,使开发者更容易构建智能应用。
@Service
public class SpringAI {
private final ChatClient chatClient;
public SpringAI(ChatClient.Builder builder) {
this.chatClient = builder.build();
}
public String tellMeAJoke() {
return chatClient.prompt().user("Tell me a joke").call().content());
}
}
聊天客户端快速入门 (Get started with ChatClients)
可移植的聊天模型 (Portable Chat Models)
工具调用 (Tool Calling)
工具调用允许您 注册自己的函数,将 LLM(大型语言模型)连接到外部系统的 API。这些系统可以为 LLM 提供 实时数据,并代表它们执行 数据处理操作。Spring AI 极大地简化了您为支持函数调用而需要编写的代码。它为您处理 函数调用对话。您可以将您的函数作为 @Bean 提供,然后在您的提示选项中提供该函数的 bean 名称以激活该函数。此外,您可以在单个提示中定义和引用 多个函数。
工具调用快速入门 (Get started with Tool Calling)
模型上下文协议 (Model Context Protocol, MCP)
标准化协议,使 AI 模型和代理能够以结构化的方式与外部工具和资源进行交互。它支持 多种传输机制,以提供跨不同环境的灵活性。
MCP 快速入门 (Get started with MCP)
检索增强生成 (Retrieval Augmented Generation)
Spring AI 的核心是解决 AI 集成的基本挑战——将您的企业数据和 API 与 AI 模型连接起来。一种称为 检索增强生成 (RAG) 的技术已经出现,用于解决将相关数据整合到提示中以实现准确的 AI 模型响应的挑战。Spring AI 极大地简化了您为支持 RAG 管道而需要编写的代码。

RAG 快速入门 (Get started with RAG)
Spring AI 支持的模式 (Spring AI supported patterns)
生成式 AI 带来了其自身的一系列挑战。Spring AI 支持以下模式来应对这些挑战。
| 挑战 (Challenges) | 模式 (Patterns) |
|---|---|
| 将响应与目标对齐 (Align responses to goals) | 系统提示 (System prompt) |
| 没有结构化输出 (No structured output) | 输出转换器 (Output converters) |
| 未在您的数据上训练 (Not trained on your data) | 提示填充 (Prompt Stuffing) |
| 有限的上下文大小 (Limited Context Size) | RAG (Retrieval Augmented Generation) |
| 无状态 API (Stateless APIs) | 聊天记忆 (Chat memory) |
| 不了解您的 API (Not aware of your APIs) | 函数调用 (Function calling) |
| 幻觉 (Hallucinations) | 评估器 (Evaluators) |
与常见技术的集成 (Integration with common technologies)
Spring AI 提供了作为开发 AI 应用基础的 抽象。这些抽象具有 多种实现,能够以最少的代码更改轻松进行组件替换。Spring AI 支持所有主要的 模型提供商,例如 OpenAI、Microsoft、Amazon、Google 和 Hugging Face。它还支持所有主要的 向量数据库 提供商,例如 Apache Cassandra、Azure Vector Search、Chroma、Milvus、MongoDB Atlas、Neo4j、Oracle、PostgreSQL/PGVector、PineCone、Qdrant、Redis 和 Weaviate。
学习资源
AI 驱动的机票预订系统 (AI Powered Flight booking system)