42_Spring AI 干货笔记之 OpenAI 嵌入 - 详解
一、OpenAI 嵌入
Spring AI 支持 OpenAI 的文本嵌入模型。OpenAI 的文本嵌入用于衡量文本字符串之间的相关性。嵌入是一个浮点数向量(列表)。两个向量之间的距离衡量它们的相关性。距离小表示相关性高,距离大表示相关性低。
二、先决条件
您需要创建 OpenAI 的 API 来访问其嵌入模型。
在 OpenAI 注册页面 创建账户。
在 API 密钥页面 生成令牌。
Spring AI 项目定义了一个名为 spring.ai.openai.api-key 的配置属性,您应将其设置为从 openai.com 获取的 API 密钥值。
您可以在 application.properties 文件中设置此配置属性:
spring.ai.openai.api-key=<your-openai-api-key>
为了在处理敏感信息(如 API 密钥)时增强安全性,您可以使用 Spring 表达式语言(SpEL)来引用环境变量:
# 在 application.yml 中
spring:
ai:
openai:
api-key: ${
OPENAI_API_KEY}
# 在您的环境或 .env 文件中
export OPENAI_API_KEY=<your-openai-api-key>
您也可以在应用程序代码中以编程方式设置此配置:
// 从安全源或环境变量检索 API 密钥
String apiKey = System.getenv("OPENAI_API_KEY");
2.1 添加仓库和 BOM
Spring AI 工件发布在 Maven Central 和 Spring Snapshot 仓库中。请参阅 工件仓库 部分,将这些仓库添加到您的构建系统中。
为了帮助管理依赖项,Spring AI 提供了一个 BOM(物料清单)来确保在整个项目中使用一致的 Spring AI 版本。请参阅 依赖管理 部分,将 Spring AI BOM 添加到您的构建系统中。
三、自动配置
Spring AI 的自动配置和 starter 模块的工件名称发生了重大变化。更多信息请参阅 升级说明。
Spring AI 为 OpenAI 嵌入模型提供了 Spring Boot 自动配置。要启用它,请将以下依赖项添加到项目的 Maven pom.xml 文件中:
<dependency>
<groupId></
浙公网安备 33010602011771号