Packages
Milvus
Public exports from @anvia/milvus.
Import from @anvia/milvus.
MilvusVectorStoreConnectOptions
type MilvusVectorStoreConnectOptions = {
client?: MilvusClientLike;
collectionName: string;
vectorSize: number;
createIfMissing?: boolean;
metric?: "COSINE" | "L2" | "IP";
};
Purpose: connection options for a Milvus collection.
Return behavior: consumed by MilvusVectorStore.connect(...).
Notable errors: collection lookup fails when createIfMissing is false and the collection does not exist.
Design note: connect(...) optionally creates a collection with HNSW index, then loads it into memory. This keeps constructors synchronous and side-effect free while ensuring the collection exists before ingestion or search.
MilvusVectorStore
class MilvusVectorStore<T, Metadata extends VectorMetadata = VectorMetadata> {
static connect<T, Metadata extends VectorMetadata = VectorMetadata>(
options: MilvusVectorStoreConnectOptions,
): Promise<MilvusVectorStore<T, Metadata>>;
upsertDocuments(documents: Array<EmbeddedDocument<T, Metadata>>): Promise<void>;
index(model: EmbeddingModel): MilvusVectorIndex<T, Metadata>;
}
Purpose: Milvus-backed document storage.
Return behavior: connect(...) resolves a store; index(...) binds it to an embedding model.
Notable errors: connection and insert calls reject on Milvus errors; upsertDocuments(...) throws when a document has no embeddings.
MilvusVectorIndex
class MilvusVectorIndex<T, Metadata extends VectorMetadata = VectorMetadata>
implements VectorSearchIndex<T, Metadata> {
search(request: VectorSearchRequest): Promise<Array<VectorSearchResult<T, Metadata>>>;
searchIds(request: VectorSearchRequest): Promise<Array<{ score: number; id: string }>>;
asTool(options: VectorSearchToolOptions): Tool<{ query: string; topK?: number }, unknown>;
}
Purpose: query-time Milvus search adapter.
Return behavior: embeds the query, searches Milvus with boolean expression filters, deduplicates multi-embedding document IDs, and returns normalized results.
Notable errors: embedding or Milvus search failures reject.
filterToMilvusExpr
function filterToMilvusExpr(filter: VectorFilter | undefined): string | undefined;
Purpose: convert Anvia vector filters to Milvus boolean expression strings.
Return behavior: returns undefined when no filter is supplied.
Notable errors: none directly.
MilvusMetric
type MilvusMetric = "COSINE" | "L2" | "IP";
Purpose: distance metric for a Milvus collection.
