云绑定

Spring AI 基于 spring-cloud-bindings 提供了对云绑定的支持。这允许应用程序为提供程序指定绑定类型,然后使用通用格式表达属性。Spring AI 云绑定将处理这些属性并将它们绑定到 Spring AI 原生属性。

例如,当使用 `OpenAi` 时,绑定类型为 `openai`。使用属性 `spring.ai.cloud.bindings.openai.enabled`,可以启用或禁用绑定处理器。默认情况下,当指定绑定类型时,此属性将被启用。可以指定 `api-key`、`uri`、`username`、`password` 等配置,Spring AI 将将其映射到受支持系统中的相应属性。

要启用云绑定支持,请在应用程序中包含以下依赖项。

<dependency>
   <groupId>org.springframework.ai</groupId>
   <artifactId>spring-ai-spring-cloud-bindings</artifactId>
</dependency>

或者在您的 Gradle `build.gradle` 构建文件中。

dependencies {
    implementation 'org.springframework.ai:spring-ai-spring-cloud-bindings'
}
请参阅 依赖项管理 部分,将 Spring AI BOM 添加到您的构建文件中。

可用的云绑定

以下是 `spring-ai-spring-clou-bindings` 模块中当前可用的云绑定支持组件

服务类型

绑定类型

源属性

目标属性

Chroma 向量存储

chroma

`uri`、`username`、`password`

`spring.ai.vectorstore.chroma.client.host`、`spring.ai.vectorstore.chroma.client.port`、`spring.ai.vectorstore.chroma.client.username`、`spring.ai.vectorstore.chroma.client.host.password`

Mistral AI

mistralai

`api-key`、`uri`

`spring.ai.mistralai.api-key`、`spring.ai.mistralai.base-url`

Ollama

ollama

uri

spring.ai.ollama.base-url

OpenAi

openai

`api-key`、`uri`

`spring.ai.openai.api-key`、`spring.ai.openai.base-url`

Weaviate

weaviate

`uri`、`api-key`

`spring.ai.vectorstore.weaviate.scheme`、`spring.ai.vectorstore.weaviate.host`、`spring.ai.vectorstore.weaviate.api-key`

Tanzu GenAI

genai

`uri`、`api-key`、`model-capabilities` (`chat` 和 `embedding`)、`model-name`

`spring.ai.openai.chat.base-url`、`spring.ai.openai.chat.api-key`、`spring.ai.openai.chat.options.model`、`spring.ai.openai.embedding.base-url`、`spring.ai.openai.embedding.api-key`、`spring.ai.openai.embedding.options.model`