The server's Docker/BuildKit couldn't do a git-context build of a public github.com repo (fails with "could not read Username ... terminal prompts disabled" — an auth-shaped error for what should be an anonymous clone). Rather than debug that, vendor litellm-pgvector's small source tree directly (vendor/litellm-pgvector/, see VENDORED.md for provenance/update steps) and build from the local path. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
86 lines
2.0 KiB
Python
86 lines
2.0 KiB
Python
from typing import Optional, Dict, Any, List
|
|
from pydantic import BaseModel
|
|
from datetime import datetime
|
|
|
|
|
|
class VectorStoreCreateRequest(BaseModel):
|
|
name: str
|
|
file_ids: Optional[List[str]] = None
|
|
expires_after: Optional[Dict[str, Any]] = None
|
|
chunking_strategy: Optional[Dict[str, Any]] = None
|
|
metadata: Optional[Dict[str, Any]] = None
|
|
|
|
|
|
class VectorStoreResponse(BaseModel):
|
|
id: str
|
|
object: str = "vector_store"
|
|
created_at: int
|
|
name: str
|
|
usage_bytes: int
|
|
file_counts: Dict[str, int]
|
|
status: str
|
|
expires_after: Optional[Dict[str, Any]] = None
|
|
expires_at: Optional[int] = None
|
|
last_active_at: Optional[int] = None
|
|
metadata: Optional[Dict[str, Any]] = None
|
|
|
|
|
|
class VectorStoreSearchRequest(BaseModel):
|
|
query: str
|
|
limit: Optional[int] = 20
|
|
filters: Optional[Dict[str, Any]] = None
|
|
return_metadata: Optional[bool] = True
|
|
|
|
|
|
class ContentChunk(BaseModel):
|
|
type: str = "text"
|
|
text: str
|
|
|
|
|
|
class SearchResult(BaseModel):
|
|
file_id: str
|
|
filename: str
|
|
score: float
|
|
attributes: Optional[Dict[str, Any]] = None
|
|
content: List[ContentChunk]
|
|
|
|
|
|
class VectorStoreSearchResponse(BaseModel):
|
|
object: str = "vector_store.search_results.page"
|
|
search_query: str
|
|
data: List[SearchResult]
|
|
has_more: bool = False
|
|
next_page: Optional[str] = None
|
|
|
|
|
|
class EmbeddingCreateRequest(BaseModel):
|
|
content: str
|
|
embedding: List[float]
|
|
metadata: Optional[Dict[str, Any]] = None
|
|
|
|
|
|
class EmbeddingResponse(BaseModel):
|
|
id: str
|
|
object: str = "embedding"
|
|
vector_store_id: str
|
|
content: str
|
|
metadata: Optional[Dict[str, Any]] = None
|
|
created_at: int
|
|
|
|
|
|
class EmbeddingBatchCreateRequest(BaseModel):
|
|
embeddings: List[EmbeddingCreateRequest]
|
|
|
|
|
|
class EmbeddingBatchCreateResponse(BaseModel):
|
|
object: str = "embedding.batch"
|
|
data: List[EmbeddingResponse]
|
|
created: int
|
|
|
|
|
|
class VectorStoreListResponse(BaseModel):
|
|
object: str = "list"
|
|
data: List[VectorStoreResponse]
|
|
first_id: Optional[str] = None
|
|
last_id: Optional[str] = None
|
|
has_more: bool = False |