0. Spring AI 中文翻译手册之生成式AI(Generative AI)简介
摘要:本文介绍了Spring AI框架如何帮助Java开发者集成生成式人工智能功能。Spring AI作为Spring框架的扩展,使开发者无需学习新技能即可构建具备AI能力的应用,支持对话式交互、工具调用、检索增强生成(RAG)等技术。
·
@[TOC](0. Spring AI 中文翻译手册之生成式AI(Generative AI)简介)
1.1 前言
- 全球各地的企业都在寻求通过在其应用程序中添加人工智能(Gen AI)功能来改造自身。
- 对话式聊天机器人、代码辅助、医疗诊断只是人工智能的一些应用场景。
1.2 什么是生成式人工智能?
- 生成式人工智能是一种能够创建文本、图像、视频等新内容的人工智能技术。
- 生成式人工智能的独特之处在于:它以人类语言作为交互界面,输出内容与上下文相关,采用预训练模型,并通过Web API提供访问。
1.3 为什么Java开发人员应该关注这个问题?
- Java 仍然是企业中最流行的编程语言之一。
- 它的稳定性、安全性和可扩展性无可匹敌。
- 然而,集成诸如检索增强生成 (RAG) 等人工智能功能、图像识别等多模态用例以及预测分析,通常需要团队学习新技能或切换到不同的平台
1.4 Spring 的生成式人工智能
- Spring AI 是 Spring 框架的强大扩展。
- 它旨在帮助 Java 开发人员创建具备 AI 功能的应用程序,而无需进行大量的技能提升。
- Spring AI 利用 Spring 框架的熟悉性和优势,普及了复杂的 AI 功能,使开发人员能够更轻松地构建智能应用程序。
import org.springframework.ai.chat.client.ChatClient;
import org.springframework.stereotype.Service;
@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();
}
}
1.5 工具调用
- 工具调用允许您注册自定义函数,将 LLM 连接到外部系统的 API。
- 这些系统可以为 LLM 提供实时数据,并代表 LLM 执行数据处理操作。
- Spring AI 大大简化了您为支持函数调用而需要编写的代码。
- 它会自动处理函数调用过程。
- 您可以将函数作为 @Bean 提供,然后在提示选项中提供该函数的 bean 名称来激活它。
- 此外,您还可以在单个提示中定义和引用多个函数。
1.6 模型上下文协议(MCP)
一种标准化的协议,使人工智能模型和智能体能够以结构化的方式与外部工具和资源进行交互。它支持多种传输机制,从而在不同环境中提供灵活性。
1.7 检索增强生成
- Spring AI 的核心在于解决 AI 集成的根本挑战——将企业数据和 API 与 AI 模型连接起来。
- 一种名为检索增强生成 (RAG) 的技术应运而生,旨在解决将相关数据融入提示信息以获得精准 AI 模型响应的难题。
- Spring AI 大大简化了您为支持 RAG 管道而需要编写的代码。
开始使用RAG
1.8 Spring AI 支持的模式
生成式人工智能也带来了一系列挑战。Spring AI 支持以下模式来应对这些挑战。
| 挑战 | 模式 |
|---|---|
| 使回应与目标保持一致 | 系统提示 |
| 无结构化输出 | 输出转换器 |
| 未使用您的数据进行训练 | 即时填充 |
| 有限的上下文大小 | 抹布 |
| 无状态 API | 聊天记录 |
| 不了解你们的API | 函数调用 |
| 幻觉 | 评估人员 |
1.9 与通用技术的集成
- 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。
更多推荐




所有评论(0)