Lzh on GitHub

云绑定

Spring AI 基于 spring-cloud-bindings 提供对云绑定的支持。这使得应用程序可以为提供商指定绑定类型,然后使用通用格式表达属性。spring-ai 云绑定会处理这些属性,并将其绑定到 spring-ai 原生属性上。

Spring AI 基于 spring-cloud-bindings 提供对云绑定的支持。这使得应用程序可以为提供商指定绑定类型,然后使用通用格式表达属性。spring-ai 云绑定会处理这些属性,并将其绑定到 spring-ai 原生属性上。

例如,在使用 OpenAi 时,绑定类型为 openai。通过属性 spring.ai.cloud.bindings.openai.enabled,可以启用或禁用绑定处理器。默认情况下,当指定绑定类型时,该属性将被启用。可以指定 api-keyuriusernamepassword 等配置,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'
}
云绑定是一种在云环境中自动注入服务凭证和配置的机制。

它的核心目的是:让你的应用不必关心云服务(如 OpenAI、Qwen、文档向量库、数据库等)是如何配置的,只要声明一个绑定,Spring 就会自动读取服务信息并帮你注入到应用属性中。
请参考 依赖管理 部分,将 Spring AI BOM 添加到你的构建文件中。

可用的云绑定

以下是当前在 spring-ai-spring-cloud-bindings 模块中支持云绑定的组件:

服务类型绑定类型源属性目标属性
Chroma 向量存储chromauri, username, passwordspring.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 AImistralaiapi-key, urispring.ai.mistralai.api-key, spring.ai.mistralai.base-url
Ollamaollamaurispring.ai.ollama.base-url
OpenAiopenaiapi-key, urispring.ai.openai.api-key, spring.ai.openai.base-url
Weaviateweaviateuri, api-keyspring.ai.vectorstore.weaviate.scheme, spring.ai.vectorstore.weaviate.host, spring.ai.vectorstore.weaviate.api-key
Tanzu GenAIgenaiuri, api-key, model-capabilities(chat 和 embedding), model-namespring.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