feat: configure vector-io provider with an embedding model

Signed-off-by: Mustafa Elbehery <melbeher@redhat.com>
This commit is contained in:
Mustafa Elbehery 2025-07-31 13:07:03 +02:00
parent 1f0766308d
commit d8f013b35a
29 changed files with 228 additions and 24 deletions

View file

@ -6,12 +6,13 @@
from typing import Any
from pydantic import BaseModel
from pydantic import BaseModel, Field
from llama_stack.providers.utils.kvstore.config import (
KVStoreConfig,
SqliteKVStoreConfig,
)
from llama_stack.providers.utils.vector_io.embedding_config import EmbeddingConfig
from llama_stack.schema_utils import json_schema_type
@ -28,6 +29,10 @@ class QdrantVectorIOConfig(BaseModel):
timeout: int | None = None
host: str | None = None
kvstore: KVStoreConfig
embedding: EmbeddingConfig | None = Field(
default=None,
description="Default embedding configuration for this provider. When specified, vector databases created with this provider will use these embedding settings as defaults.",
)
@classmethod
def sample_run_config(cls, __distro_dir__: str, **kwargs: Any) -> dict[str, Any]:
@ -37,4 +42,10 @@ class QdrantVectorIOConfig(BaseModel):
__distro_dir__=__distro_dir__,
db_name="qdrant_registry.db",
),
"api_key": "${env.QDRANT_API_KEY}",
# Optional: Configure default embedding model for this provider
# "embedding": {
# "model": "${env.QDRANT_EMBEDDING_MODEL:=all-MiniLM-L6-v2}",
# "dimensions": 384
# },
}