|
from pydantic import BaseModel |
|
from typing import Any, Dict, List, Optional |
|
|
|
|
|
|
|
|
|
from typing import Union, Literal |
|
|
|
|
|
|
|
|
|
CollectionMetadata = Dict[Any, Any] |
|
|
|
Include = List[ |
|
Union[ |
|
Literal["documents"], |
|
Literal["embeddings"], |
|
Literal["metadatas"], |
|
Literal["distances"], |
|
] |
|
] |
|
|
|
|
|
class AddEmbedding(BaseModel): |
|
|
|
|
|
|
|
embeddings: Optional[List[Any]] = None |
|
metadatas: Optional[List[Dict[Any, Any]]] = None |
|
documents: Optional[List[str]] = None |
|
ids: List[str] |
|
increment_index: bool = True |
|
|
|
|
|
class UpdateEmbedding(BaseModel): |
|
embeddings: Optional[List[Any]] = None |
|
metadatas: Optional[List[Dict[Any, Any]]] = None |
|
documents: Optional[List[str]] = None |
|
ids: List[str] |
|
increment_index: bool = True |
|
|
|
|
|
class QueryEmbedding(BaseModel): |
|
|
|
|
|
|
|
where: Optional[Dict[Any, Any]] = {} |
|
where_document: Optional[Dict[Any, Any]] = {} |
|
query_embeddings: List[Any] |
|
n_results: int = 10 |
|
include: Include = ["metadatas", "documents", "distances"] |
|
|
|
|
|
class GetEmbedding(BaseModel): |
|
ids: Optional[List[str]] = None |
|
where: Optional[Dict[Any, Any]] = None |
|
where_document: Optional[Dict[Any, Any]] = None |
|
sort: Optional[str] = None |
|
limit: Optional[int] = None |
|
offset: Optional[int] = None |
|
include: Include = ["metadatas", "documents"] |
|
|
|
|
|
class RawSql(BaseModel): |
|
raw_sql: str |
|
|
|
|
|
class DeleteEmbedding(BaseModel): |
|
ids: Optional[List[str]] = None |
|
where: Optional[Dict[Any, Any]] = None |
|
where_document: Optional[Dict[Any, Any]] = None |
|
|
|
|
|
class CreateCollection(BaseModel): |
|
name: str |
|
metadata: Optional[CollectionMetadata] = None |
|
get_or_create: bool = False |
|
|
|
|
|
class UpdateCollection(BaseModel): |
|
new_name: Optional[str] = None |
|
new_metadata: Optional[CollectionMetadata] = None |
|
|