mirror of
https://github.com/hwchase17/langchain
synced 2024-10-29 17:07:25 +00:00
0118706fd6
### Description This PR adds a wrapper which adds support for the OpenSearch vector database. Using opensearch-py client we are ingesting the embeddings of given text into opensearch cluster using Bulk API. We can perform the `similarity_search` on the index using the 3 popular searching methods of OpenSearch k-NN plugin: - `Approximate k-NN Search` use approximate nearest neighbor (ANN) algorithms from the [nmslib](https://github.com/nmslib/nmslib), [faiss](https://github.com/facebookresearch/faiss), and [Lucene](https://lucene.apache.org/) libraries to power k-NN search. - `Script Scoring` extends OpenSearch’s script scoring functionality to execute a brute force, exact k-NN search. - `Painless Scripting` adds the distance functions as painless extensions that can be used in more complex combinations. Also, supports brute force, exact k-NN search like Script Scoring. ### Issues Resolved https://github.com/hwchase17/langchain/issues/1054 --------- Signed-off-by: Naveen Tatikonda <navtat@amazon.com>
22 lines
833 B
Markdown
22 lines
833 B
Markdown
# OpenSearch
|
|
|
|
This page covers how to use the OpenSearch ecosystem within LangChain.
|
|
It is broken into two parts: installation and setup, and then references to specific OpenSearch wrappers.
|
|
|
|
## Installation and Setup
|
|
- Install the Python package with `pip install opensearch-py`
|
|
## Wrappers
|
|
|
|
### VectorStore
|
|
|
|
There exists a wrapper around OpenSearch vector databases, allowing you to use it as a vectorstore
|
|
for semantic search using approximate vector search powered by lucene, nmslib and faiss engines
|
|
or using painless scripting and script scoring functions for bruteforce vector search.
|
|
|
|
To import this vectorstore:
|
|
```python
|
|
from langchain.vectorstores import OpenSearchVectorSearch
|
|
```
|
|
|
|
For a more detailed walkthrough of the OpenSearch wrapper, see [this notebook](../modules/indexes/vectorstore_examples/opensearch.ipynb)
|