Interface for Sparse embedding models.
You can inherit from it and implement your custom sparse embedding model.
By default, the asynchronous methods are implemented using the synchronous methods; however, implementations may choose to override the asynchronous methods with an async native implementation for performance reasons.
Sparse embedding model based on BM25.
**Note: We recommend using the Milvus built-in BM25 function to implement sparse embedding in your application. This class is more of a reference because it requires the user to manage the corpus, which is not practical. The Milvus built-in function solves this problem and makes the BM25 sparse process easier and less frustrating for users. For more information, please refer to: https://milvus.io/docs/full-text-search.md#Full-Text-Search and https://github.com/milvus-io/bootcamp/blob/master/bootcamp/tutorials/integration/langchain/full_text_search_with_langchain.ipynb **
This class uses the BM25 model in Milvus model to implement sparse vector embedding.
This model requires pymilvus[model] to be installed.
pip install pymilvus[model]
For more information please refer to:
https://milvus.io/docs/embed-with-bm25.md