入门
本节提供使用 Spring AI 入门的起点。
您应根据需要按照以下各节中的步骤操作。
Spring CLI
Spring CLI 简化了直接从终端创建新应用程序的过程。类似于 JavaScript 生态系统中熟悉的“create-react-app”命令,Spring CLI 提供了 spring boot new
命令来创建基于 Spring 的项目。Spring CLI 还提供将外部代码库集成到当前项目中的功能,以及许多其他提高生产力的功能。
重要的是要了解“Spring CLI”是一个与“Spring Boot CLI”不同的项目,它们各自具有不同的功能集。 |
要开始创建 Spring AI 应用程序,请按照以下步骤操作
-
下载最新的 Spring CLI 版本 并按照 安装说明 进行操作。
-
要创建一个简单的基于 OpenAI 的应用程序,请使用以下命令
spring boot new --from ai --name myai
-
请参阅生成的
README.md
文件,了解有关获取 OpenAI API 密钥和运行第一个 AI 应用程序的指南。
目前,Spring CLI 仅支持 Maven 项目。 |
要将相同的简单 AI 应用程序添加到现有 Maven 项目中,请执行以下操作
spring boot add ai
Spring CLI 允许用户定义自己的 项目目录,这些目录定义了您可以在现有代码库中创建或添加的项目。 |
Spring Initializr
前往 start.spring.io 并选择您要在新应用程序中使用的 AI 模型和向量存储。
添加里程碑和快照存储库
如果您希望手动添加依赖项片段,请按照以下各节中的说明操作。
要使用里程碑和快照版本,您需要在构建文件中添加对 Spring 里程碑和/或快照存储库的引用。
对于 Maven,根据需要添加以下仓库定义
<repositories>
<repository>
<id>spring-milestones</id>
<name>Spring Milestones</name>
<url>https://repo.spring.io/milestone</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
<repository>
<id>spring-snapshots</id>
<name>Spring Snapshots</name>
<url>https://repo.spring.io/snapshot</url>
<releases>
<enabled>false</enabled>
</releases>
</repository>
</repositories>
对于 Gradle,根据需要添加以下仓库定义
repositories {
mavenCentral()
maven { url 'https://repo.spring.io/milestone' }
maven { url 'https://repo.spring.io/snapshot' }
}
依赖管理
Spring AI 物料清单 (BOM) 声明了 Spring AI 的每个版本中使用的所有依赖项的推荐版本。在应用程序的构建脚本中使用 BOM 可以避免您自己指定和维护依赖项版本。相反,您使用的 BOM 版本决定了使用的依赖项版本。它还确保默认情况下您使用的是受支持且经过测试的依赖项版本,除非您选择覆盖它们。
如果您是 Maven 用户,可以通过在您的 pom.xml 文件中添加以下内容来使用 BOM -
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.ai</groupId>
<artifactId>spring-ai-bom</artifactId>
<version>1.0.0-SNAPSHOT</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
Gradle 用户也可以通过利用 Gradle (5.0+) 对使用 Maven BOM 声明依赖项约束的原生支持来使用 Spring AI BOM。这是通过在 Gradle 构建脚本的依赖项部分添加一个“platform”依赖项处理程序方法来实现的。如下面的代码片段所示,您可以接着声明您希望使用的 Spring AI 模块(例如 spring-ai-openai)的一个或多个启动器依赖项,这些依赖项没有版本。
dependencies {
implementation platform("org.springframework.ai:spring-ai-bom:1.0.0-SNAPSHOT")
// Replace the following with the starter dependencies of specific modules you wish to use
implementation 'org.springframework.ai:spring-ai-openai'
}
添加特定组件的依赖项
文档中的以下每个部分都显示了您需要添加到项目构建系统中的依赖项。
聊天模型
-
-
OpenAI 聊天完成(支持流式传输和函数调用)
-
Microsoft Azure Open AI 聊天完成(支持流式传输和函数调用)
-
HuggingFace 聊天完成(不支持流式传输)
-
Google Vertex AI PaLM2 聊天完成(不支持流式传输)
-
Google Vertex AI Gemini 聊天完成(支持流式传输、多模态和函数调用)
-
MistralAI Chat 完成 (支持流式传输和函数调用)
-
向量数据库
-
-
Azure 向量搜索 - Azure 向量存储。
-
ChromaVectorStore - Chroma 向量存储。
-
MilvusVectorStore - Milvus 向量存储。
-
Neo4jVectorStore - Neo4j 向量存储。
-
PgVectorStore - PostgreSQL/PGVector 向量存储。
-
PineconeVectorStore - PineCone 向量存储。
-
QdrantVectorStore - Qdrant 向量存储。
-
RedisVectorStore - Redis 向量存储。
-
WeaviateVectorStore - Weaviate 向量存储。
-
SimpleVectorStore - 一个简单的(内存中)持久化向量存储实现,适合教学目的。
-