Docs

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.