haive.core.engine.retriever.providers.MilvusRetrieverConfigΒΆ

Milvus Retriever implementation for the Haive framework.

from typing import Any This module provides a configuration class for the Milvus retriever, which uses Milvus vector database for high-performance similarity search. Milvus is an open-source vector database built for scalable similarity search and AI applications with support for various indexing algorithms.

The MilvusRetriever works by: 1. Connecting to a Milvus server instance 2. Performing vector similarity search using various metrics 3. Supporting advanced indexing and search parameters 4. Providing high-performance retrieval for large-scale datasets

This retriever is particularly useful when: - Working with large-scale vector datasets (millions+ vectors) - Need high-performance similarity search - Require advanced indexing capabilities (IVF, HNSW, etc.) - Building production vector search applications - Need distributed and scalable vector storage

The implementation integrates with LangChain’s Milvus retriever while providing a consistent Haive configuration interface.

ClassesΒΆ

MilvusRetrieverConfig

Configuration for Milvus retriever in the Haive framework.

Module ContentsΒΆ

class haive.core.engine.retriever.providers.MilvusRetrieverConfig.MilvusRetrieverConfig[source]ΒΆ

Bases: haive.core.engine.retriever.retriever.BaseRetrieverConfig

Configuration for Milvus retriever in the Haive framework.

This retriever uses Milvus vector database to perform high-performance similarity search with support for various indexing and search parameters.

retriever_typeΒΆ

The type of retriever (always MILVUS).

Type:

RetrieverType

vectorstore_configΒΆ

Milvus vector store configuration.

Type:

VectorStoreConfig

kΒΆ

Number of documents to retrieve.

Type:

int

search_paramsΒΆ

Milvus search parameters.

Type:

Optional[Dict]

consistency_levelΒΆ

Consistency level for search.

Type:

str

timeoutΒΆ

Search timeout in seconds.

Type:

Optional[float]

Examples

>>> from haive.core.engine.retriever import MilvusRetrieverConfig
>>> from haive.core.engine.vectorstore.providers.MilvusVectorStoreConfig import MilvusVectorStoreConfig
>>>
>>> # Configure Milvus vector store
>>> vectorstore_config = MilvusVectorStoreConfig(
...     name="milvus_store",
...     host="localhost",
...     port=19530,
...     collection_name="documents",
...     index_params={"metric_type": "IP", "index_type": "IVF_FLAT"}
... )
>>>
>>> # Create the Milvus retriever config
>>> config = MilvusRetrieverConfig(
...     name="milvus_retriever",
...     vectorstore_config=vectorstore_config,
...     k=10,
...     search_params={"nprobe": 16},
...     consistency_level="Strong"
... )
>>>
>>> # Instantiate and use the retriever
>>> retriever = config.instantiate()
>>> docs = retriever.get_relevant_documents("machine learning algorithms")
get_input_fields()[source]ΒΆ

Return input field definitions for Milvus retriever.

Return type:

dict[str, tuple[type, Any]]

get_output_fields()[source]ΒΆ

Return output field definitions for Milvus retriever.

Return type:

dict[str, tuple[type, Any]]

instantiate()[source]ΒΆ

Create a Milvus retriever from this configuration.

Returns:

Instantiated retriever ready for vector search.

Return type:

MilvusRetriever

Raises:
  • ImportError – If required packages are not available.

  • ValueError – If configuration is invalid.