interface VectorStore { upsert(params: { id: string; vector: number[]; metadata: Record<string, unknown>; }): Promise<void>; search(params: { vector: number[]; topK: number; filter?: Record<string, unknown>; }): Promise<{ id: string; score: number; metadata: Record<string, unknown>; }[]>; delete(params: { ids?: string[]; filter?: Record<string, unknown>; }): Promise<number>; count?(filter?: Record<string, unknown>): Promise<number>; } Methods
upsert
- upsert(params): Promise<void>
Parameters
- params: {
id: string;
vector: number[];
metadata: Record<string, unknown>;
}id: string
vector: number[]
metadata: Record<string, unknown>
Returns Promise<void>
search
- search(params): Promise<{
id: string;
score: number;
metadata: Record<string, unknown>;
}[]> Parameters
- params: {
vector: number[];
topK: number;
filter?: Record<string, unknown>;
}vector: number[]
topK: number
Optionalfilter?: Record<string, unknown>
Returns Promise<{
id: string;
score: number;
metadata: Record<string, unknown>;
}[]>
delete
- delete(params): Promise<number>
Parameters
- params: {
ids?: string[];
filter?: Record<string, unknown>;
}Optionalids?: string[]
Optionalfilter?: Record<string, unknown>
Returns Promise<number>
Optionalcount
- count(filter?): Promise<number>
Parameters
Optionalfilter: Record<string, unknown>
Returns Promise<number>
Abstract interface for vector store adapters. Implement this to integrate with Pinecone, Qdrant, Chroma, etc.