langchain/libs/partners/elasticsearch
Max Jakob 5ab69f907f
partners: add Elasticsearch package (#17467)
### Description
This PR moves the Elasticsearch classes to a partners package.

Note that we will not move (and later remove) `ElasticKnnSearch`. It
were previously deprecated.
`ElasticVectorSearch` is going to stay in the community package since it
is used quite a lot still.

Also note that I left the `ElasticsearchTranslator` for self query
untouched because it resides in main `langchain` package.

### Dependencies
There will be another PR that updates the notebooks (potentially pulling
them into the partners package) and templates and removes the classes
from the community package, see
https://github.com/langchain-ai/langchain/pull/17468

#### Open question
How to make the transition smooth for users? Do we move the import
aliases and require people to install `langchain-elasticsearch`? Or do
we remove the import aliases from the `langchain` package all together?
What has worked well for other partner packages?

---------

Co-authored-by: Erick Friis <erick@langchain.dev>
2024-02-26 23:19:47 +00:00
..
langchain_elasticsearch partners: add Elasticsearch package (#17467) 2024-02-26 23:19:47 +00:00
scripts partners: add Elasticsearch package (#17467) 2024-02-26 23:19:47 +00:00
tests partners: add Elasticsearch package (#17467) 2024-02-26 23:19:47 +00:00
.gitignore partners: add Elasticsearch package (#17467) 2024-02-26 23:19:47 +00:00
LICENSE partners: add Elasticsearch package (#17467) 2024-02-26 23:19:47 +00:00
Makefile partners: add Elasticsearch package (#17467) 2024-02-26 23:19:47 +00:00
poetry.lock partners: add Elasticsearch package (#17467) 2024-02-26 23:19:47 +00:00
pyproject.toml partners: add Elasticsearch package (#17467) 2024-02-26 23:19:47 +00:00
README.md partners: add Elasticsearch package (#17467) 2024-02-26 23:19:47 +00:00

langchain-elasticsearch

This package contains the LangChain integration with Elasticsearch.

Installation

pip install -U langchain-elasticsearch

TODO document how to get id and key

Usage

The ElasticsearchStore class exposes the connection to the Pinecone vector store.

from langchain_elasticsearch import ElasticsearchStore

embeddings = ... # use a LangChain Embeddings class

vectorstore = ElasticsearchStore(
    es_cloud_id="your-cloud-id",
    es_api_key="your-api-key",
    index_name="your-index-name",
    embeddings=embeddings,
)