mirror of
https://github.com/hwchase17/langchain.git
synced 2025-05-16 12:32:06 +00:00
This addresses #6291 adding support for using Cassandra (and compatible databases, such as DataStax Astra DB) as a [Vector Store](https://cwiki.apache.org/confluence/display/CASSANDRA/CEP-30%3A+Approximate+Nearest+Neighbor(ANN)+Vector+Search+via+Storage-Attached+Indexes). A new class `Cassandra` is introduced, which complies with the contract and interface for a vector store, along with the corresponding integration test, a sample notebook and modified dependency toml. Dependencies: the implementation relies on the library `cassio`, which simplifies interacting with Cassandra for ML- and LLM-oriented workloads. CassIO, in turn, uses the `cassandra-driver` low-lever drivers to communicate with the database. The former is added as optional dependency (+ in `extended_testing`), the latter was already in the project. Integration testing relies on a locally-running instance of Cassandra. [Here](https://cassio.org/more_info/#use-a-local-vector-capable-cassandra) a detailed description can be found on how to compile and run it (at the time of writing the feature has not made it yet to a release). During development of the integration tests, I added a new "fake embedding" class for what I consider a more controlled way of testing the MMR search method. Likewise, I had to amend what looked like a glitch in the behaviour of `ConsistentFakeEmbeddings` whereby an `embed_query` call would have bypassed storage of the requested text in the class cache for use in later repeated invocations. @dev2049 might be the right person to tag here for a review. Thank you! --------- Co-authored-by: rlm <pexpresss31@gmail.com> |
||
---|---|---|
.. | ||
faiss_index | ||
alibabacloud_opensearch.ipynb | ||
analyticdb.ipynb | ||
annoy.ipynb | ||
atlas.ipynb | ||
awadb.ipynb | ||
azuresearch.ipynb | ||
cassandra.ipynb | ||
chroma.ipynb | ||
deeplake.ipynb | ||
docarray_hnsw.ipynb | ||
docarray_in_memory.ipynb | ||
elasticsearch.ipynb | ||
faiss.ipynb | ||
hologres.ipynb | ||
lancedb.ipynb | ||
matchingengine.ipynb | ||
milvus.ipynb | ||
myscale.ipynb | ||
opensearch.ipynb | ||
pgvector.ipynb | ||
pinecone.ipynb | ||
qdrant.ipynb | ||
redis.ipynb | ||
singlestoredb.ipynb | ||
sklearn.ipynb | ||
supabase.ipynb | ||
tair.ipynb | ||
tigris.ipynb | ||
typesense.ipynb | ||
vectara.ipynb | ||
weaviate.ipynb | ||
zilliz.ipynb |