fabricatio_milvus.capabilities.milvus

This module contains the capabilities for the milvus.

Classes

AddConfig

Configuration for adding documents to a Milvus collection.

FetchConfig

Configuration for fetching documents from a Milvus collection.

MilvusRAG

A class for the RAG model using Milvus.

Functions

create_client(→ pymilvus.MilvusClient)

Create a Milvus client.

Module Contents

fabricatio_milvus.capabilities.milvus.create_client(uri: str, token: str = '', timeout: float | None = None) pymilvus.MilvusClient

Create a Milvus client.

class fabricatio_milvus.capabilities.milvus.AddConfig(/, **data: Any)

Bases: fabricatio_rag.capabilities.rag.RAGConfigBase

Configuration for adding documents to a Milvus collection.

flush: bool = False
collection_name: str | None = None
class fabricatio_milvus.capabilities.milvus.FetchConfig[D: fabricatio_milvus.models.milvus.MilvusDataBase](/, **data: Any)

Bases: fabricatio_rag.capabilities.rag.RAGConfigBase

Configuration for fetching documents from a Milvus collection.

document_model: Type[D] | None = None
collection_name: str | None = None
similarity_threshold: float = 0.37
result_per_query: int = 10
tei_endpoint: str | None = None
reranker_threshold: float = 0.7
filter_expr: str = ''
class fabricatio_milvus.capabilities.milvus.MilvusRAG[D: fabricatio_milvus.models.milvus.MilvusDataBase, AC: AddConfig, FC: FetchConfig](/, **data: Any)

Bases: fabricatio_milvus.models.milvus.MilvusScopedConfig, fabricatio_rag.capabilities.rag.RAG[D, D, AC, FC]

A class for the RAG model using Milvus.

property client: pymilvus.MilvusClient

Return the Milvus client.

init_client(milvus_uri: str | None = None, milvus_token: str | None = None, milvus_timeout: float | None = None) Self

Initialize the Milvus client.

check_client(init: bool = True) Self

Check if the client is initialized, and if not, initialize it.

async add_document(data: D | List[D], config: AC | None = None) Self

Adds a document to the specified collection.

Parameters:
  • data (D | List[D]) – The data to be added to the collection.

  • config (AC | None) – Configuration for the add operation.

Returns:

The current instance, allowing for method chaining.

Return type:

Self

async afetch_document(query: str | List[str], config: FC | None = None) List[D]

Asynchronously fetches documents from a Milvus database based on input vectors.

Parameters:
  • query (str | List[str]) – A list of vectors to search for in the database.

  • config (FC | None) – Configuration for the fetch operation.

Returns:

A list of document objects created from the fetched data.

Return type:

List[D]

async aretrieve(query: str | List[str], document_model: Type[D], max_accepted: int = 10, collection_name: str | None = None, similarity_threshold: float = 0.37, filter_expr: str = '', tei_endpoint: str | None = None, reranker_threshold: float | None = None, result_per_query: int | None = None) List[D]

Convenience method to vectorize a query, search Milvus, and return typed documents.

Parameters:
  • query – The query string(s) to search for.

  • document_model – The MilvusDataBase subclass to deserialize results into.

  • max_accepted – Maximum number of results to return.

  • collection_name – Override the target collection name.

  • similarity_threshold – Minimum similarity score for results.

  • filter_expr – Milvus filter expression.

  • tei_endpoint – Optional TEI endpoint for reranking.

  • reranker_threshold – Optional reranker threshold.

  • result_per_query – Optional number of results per individual query (overrides max_accepted per query).

Returns:

List of document instances of type D.