Files
Ohad Eytan b5d670498f partners/milvus: allow creating a vectorstore with sparse embeddings (#25284)
# Description
Milvus (and `pymilvus`) recently added the option to use [sparse
vectors](https://milvus.io/docs/sparse_vector.md#Sparse-Vector) with
appropriate search methods (e.g., `SPARSE_INVERTED_INDEX`) and
embeddings (e.g., `BM25`, `SPLADE`).

This PR allow creating a vector store using langchain's `Milvus` class,
setting the matching vector field type to `DataType.SPARSE_FLOAT_VECTOR`
and the default index type to `SPARSE_INVERTED_INDEX`.

It is only extending functionality, and backward compatible. 

## Note
I also interested in extending the Milvus class further to support multi
vector search (aka hybrid search). Will be happy to discuss that. See
[here](https://github.com/langchain-ai/langchain/discussions/19955),
[here](https://github.com/langchain-ai/langchain/pull/20375), and
[here](https://github.com/langchain-ai/langchain/discussions/22886)
similar needs.

---------

Co-authored-by: Erick Friis <erick@langchain.dev>
2024-08-30 02:30:23 +00:00
..

langchain-milvus

This is a library integration with Milvus and Zilliz Cloud.

Installation

pip install -U langchain-milvus

Milvus vector database

See a usage example

from langchain_milvus import Milvus

See a usage example.

from langchain_milvus import MilvusCollectionHybridSearchRetriever

Zilliz Cloud vector database

See a usage example.

from langchain_milvus import Zilliz

Zilliz Cloud Pipeline Retriever

See a usage example.

from langchain_milvus import ZillizCloudPipelineRetriever