クラウドバインディング

Spring AI は、spring-cloud-bindings [GitHub] (英語) の基盤に基づいたクラウドバインディングのサポートを提供します。これにより、アプリケーションはプロバイダーのバインディング型を指定し、汎用形式を使用してプロパティを表現できます。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'
}
Spring AI BOM をビルドファイルに追加するには、"依存関係管理" セクションを参照してください。

利用可能なクラウドバインディング

spring-ai-spring-clou-bindings モジュールで現在クラウドバインディングサポートが利用可能なコンポーネントは次のとおりです。

サービス型

バインディング型

ソースプロパティ

ターゲットプロパティ

Chroma Vecor Store

chroma

uri, username, passwor

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

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 and 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