mirror of
https://github.com/meta-llama/llama-stack.git
synced 2025-12-23 05:12:26 +00:00
removing provider_vector_db from VectorIORouter.openai_create_vector_store, VectorIO.openai_create_vector_store, and PGVector
Signed-off-by: Francisco Javier Arceo <farceo@redhat.com>
This commit is contained in:
parent
ac643bfb0e
commit
b01c72a7de
3 changed files with 12 additions and 14 deletions
|
|
@ -126,7 +126,6 @@ class VectorIORouter(VectorIO):
|
||||||
embedding_model: str | None = None,
|
embedding_model: str | None = None,
|
||||||
embedding_dimension: int | None = None,
|
embedding_dimension: int | None = None,
|
||||||
provider_id: str | None = None,
|
provider_id: str | None = None,
|
||||||
provider_vector_db_id: str | None = None,
|
|
||||||
) -> VectorStoreObject:
|
) -> VectorStoreObject:
|
||||||
logger.debug(f"VectorIORouter.openai_create_vector_store: name={name}, provider_id={provider_id}")
|
logger.debug(f"VectorIORouter.openai_create_vector_store: name={name}, provider_id={provider_id}")
|
||||||
|
|
||||||
|
|
@ -144,7 +143,7 @@ class VectorIORouter(VectorIO):
|
||||||
embedding_model,
|
embedding_model,
|
||||||
embedding_dimension,
|
embedding_dimension,
|
||||||
provider_id,
|
provider_id,
|
||||||
provider_vector_db_id,
|
vector_db_id,
|
||||||
name,
|
name,
|
||||||
)
|
)
|
||||||
return await self.routing_table.get_provider_impl(registered_vector_db.identifier).openai_create_vector_store(
|
return await self.routing_table.get_provider_impl(registered_vector_db.identifier).openai_create_vector_store(
|
||||||
|
|
|
||||||
|
|
@ -247,7 +247,6 @@ class PGVectorVectorIOAdapter(VectorIO, VectorDBsProtocolPrivate):
|
||||||
embedding_model: str | None = None,
|
embedding_model: str | None = None,
|
||||||
embedding_dimension: int | None = 384,
|
embedding_dimension: int | None = 384,
|
||||||
provider_id: str | None = None,
|
provider_id: str | None = None,
|
||||||
provider_vector_db_id: str | None = None,
|
|
||||||
) -> VectorStoreObject:
|
) -> VectorStoreObject:
|
||||||
raise NotImplementedError("OpenAI Vector Stores API is not supported in PGVector")
|
raise NotImplementedError("OpenAI Vector Stores API is not supported in PGVector")
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -148,8 +148,8 @@ class OpenAIVectorStoreMixin(ABC):
|
||||||
) -> VectorStoreObject:
|
) -> VectorStoreObject:
|
||||||
"""Creates a vector store."""
|
"""Creates a vector store."""
|
||||||
created_at = int(time.time())
|
created_at = int(time.time())
|
||||||
if provider_vector_db_id is None:
|
# Derive the canonical vector_db_id (allow override, else generate)
|
||||||
provider_vector_db_id = f"vs_{uuid.uuid4()}"
|
vector_db_id = provider_vector_db_id or f"vs_{uuid.uuid4()}"
|
||||||
|
|
||||||
if provider_id is None:
|
if provider_id is None:
|
||||||
raise ValueError("Provider ID is required")
|
raise ValueError("Provider ID is required")
|
||||||
|
|
@ -157,19 +157,19 @@ class OpenAIVectorStoreMixin(ABC):
|
||||||
if embedding_model is None:
|
if embedding_model is None:
|
||||||
raise ValueError("Embedding model is required")
|
raise ValueError("Embedding model is required")
|
||||||
|
|
||||||
# Use provided embedding dimension or default to 384
|
# Embedding dimension is required (defaulted to 384 if not provided)
|
||||||
if embedding_dimension is None:
|
if embedding_dimension is None:
|
||||||
raise ValueError("Embedding dimension is required")
|
raise ValueError("Embedding dimension is required")
|
||||||
|
|
||||||
|
# Register the VectorDB backing this vector store
|
||||||
vector_db = VectorDB(
|
vector_db = VectorDB(
|
||||||
identifier=provider_vector_db_id,
|
identifier=vector_db_id,
|
||||||
embedding_dimension=embedding_dimension,
|
embedding_dimension=embedding_dimension,
|
||||||
embedding_model=embedding_model,
|
embedding_model=embedding_model,
|
||||||
provider_id=provider_id,
|
provider_id=provider_id,
|
||||||
provider_resource_id=provider_vector_db_id,
|
provider_resource_id=vector_db_id,
|
||||||
vector_db_name=name,
|
vector_db_name=name,
|
||||||
)
|
)
|
||||||
# Register the vector DB
|
|
||||||
await self.register_vector_db(vector_db)
|
await self.register_vector_db(vector_db)
|
||||||
|
|
||||||
# Create OpenAI vector store metadata
|
# Create OpenAI vector store metadata
|
||||||
|
|
@ -184,7 +184,7 @@ class OpenAIVectorStoreMixin(ABC):
|
||||||
total=0,
|
total=0,
|
||||||
)
|
)
|
||||||
store_info: dict[str, Any] = {
|
store_info: dict[str, Any] = {
|
||||||
"id": provider_vector_db_id,
|
"id": vector_db_id,
|
||||||
"object": "vector_store",
|
"object": "vector_store",
|
||||||
"created_at": created_at,
|
"created_at": created_at,
|
||||||
"name": name,
|
"name": name,
|
||||||
|
|
@ -207,18 +207,18 @@ class OpenAIVectorStoreMixin(ABC):
|
||||||
store_info["metadata"] = metadata
|
store_info["metadata"] = metadata
|
||||||
|
|
||||||
# Save to persistent storage (provider-specific)
|
# Save to persistent storage (provider-specific)
|
||||||
await self._save_openai_vector_store(provider_vector_db_id, store_info)
|
await self._save_openai_vector_store(vector_db_id, store_info)
|
||||||
|
|
||||||
# Store in memory cache
|
# Store in memory cache
|
||||||
self.openai_vector_stores[provider_vector_db_id] = store_info
|
self.openai_vector_stores[vector_db_id] = store_info
|
||||||
|
|
||||||
# Now that our vector store is created, attach any files that were provided
|
# Now that our vector store is created, attach any files that were provided
|
||||||
file_ids = file_ids or []
|
file_ids = file_ids or []
|
||||||
tasks = [self.openai_attach_file_to_vector_store(provider_vector_db_id, file_id) for file_id in file_ids]
|
tasks = [self.openai_attach_file_to_vector_store(vector_db_id, file_id) for file_id in file_ids]
|
||||||
await asyncio.gather(*tasks)
|
await asyncio.gather(*tasks)
|
||||||
|
|
||||||
# Get the updated store info and return it
|
# Get the updated store info and return it
|
||||||
store_info = self.openai_vector_stores[provider_vector_db_id]
|
store_info = self.openai_vector_stores[vector_db_id]
|
||||||
return VectorStoreObject.model_validate(store_info)
|
return VectorStoreObject.model_validate(store_info)
|
||||||
|
|
||||||
async def openai_list_vector_stores(
|
async def openai_list_vector_stores(
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue