mirror of
https://github.com/hwchase17/langchain.git
synced 2025-09-04 04:28:58 +00:00
elasticsearch[patch], community[patch]: update references, deprecate community classes (#18506)
Follow up on https://github.com/langchain-ai/langchain/pull/17467. - Update all references to the Elasticsearch classes to use the partners package. - Deprecate community classes. --------- Co-authored-by: Bagatur <baskaryan@gmail.com>
This commit is contained in:
@@ -31,7 +31,7 @@
|
|||||||
"metadata": {},
|
"metadata": {},
|
||||||
"outputs": [],
|
"outputs": [],
|
||||||
"source": [
|
"source": [
|
||||||
"!pip install langchain lark openai elasticsearch pandas"
|
"!pip install langchain langchain-elasticsearch lark openai elasticsearch pandas"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@@ -45,7 +45,7 @@
|
|||||||
}
|
}
|
||||||
],
|
],
|
||||||
"source": [
|
"source": [
|
||||||
"%pip install --upgrade --quiet U lark elasticsearch"
|
"%pip install --upgrade --quiet U lark langchain langchain-elasticsearch"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@@ -3,6 +3,7 @@ import logging
|
|||||||
from time import time
|
from time import time
|
||||||
from typing import TYPE_CHECKING, Any, Dict, List, Optional
|
from typing import TYPE_CHECKING, Any, Dict, List, Optional
|
||||||
|
|
||||||
|
from langchain_core._api import deprecated
|
||||||
from langchain_core.chat_history import BaseChatMessageHistory
|
from langchain_core.chat_history import BaseChatMessageHistory
|
||||||
from langchain_core.messages import (
|
from langchain_core.messages import (
|
||||||
BaseMessage,
|
BaseMessage,
|
||||||
@@ -16,6 +17,7 @@ if TYPE_CHECKING:
|
|||||||
logger = logging.getLogger(__name__)
|
logger = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
|
||||||
|
@deprecated("0.0.27", alternative="Use langchain-elasticsearch package", pending=True)
|
||||||
class ElasticsearchChatMessageHistory(BaseChatMessageHistory):
|
class ElasticsearchChatMessageHistory(BaseChatMessageHistory):
|
||||||
"""Chat message history that stores history in Elasticsearch.
|
"""Chat message history that stores history in Elasticsearch.
|
||||||
|
|
||||||
|
@@ -2,6 +2,7 @@ from __future__ import annotations
|
|||||||
|
|
||||||
from typing import TYPE_CHECKING, List, Optional
|
from typing import TYPE_CHECKING, List, Optional
|
||||||
|
|
||||||
|
from langchain_core._api import deprecated
|
||||||
from langchain_core.utils import get_from_env
|
from langchain_core.utils import get_from_env
|
||||||
|
|
||||||
if TYPE_CHECKING:
|
if TYPE_CHECKING:
|
||||||
@@ -11,6 +12,9 @@ if TYPE_CHECKING:
|
|||||||
from langchain_core.embeddings import Embeddings
|
from langchain_core.embeddings import Embeddings
|
||||||
|
|
||||||
|
|
||||||
|
@deprecated(
|
||||||
|
"0.1.11", alternative="Use class in langchain-elasticsearch package", pending=True
|
||||||
|
)
|
||||||
class ElasticsearchEmbeddings(Embeddings):
|
class ElasticsearchEmbeddings(Embeddings):
|
||||||
"""Elasticsearch embedding models.
|
"""Elasticsearch embedding models.
|
||||||
|
|
||||||
|
@@ -50,6 +50,11 @@ def _default_script_query(query_vector: List[float], filter: Optional[dict]) ->
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@deprecated(
|
||||||
|
"0.0.27",
|
||||||
|
alternative="Use ElasticsearchStore class in langchain-elasticsearch package",
|
||||||
|
pending=True,
|
||||||
|
)
|
||||||
class ElasticVectorSearch(VectorStore):
|
class ElasticVectorSearch(VectorStore):
|
||||||
"""
|
"""
|
||||||
|
|
||||||
@@ -358,7 +363,11 @@ class ElasticVectorSearch(VectorStore):
|
|||||||
self.client.delete(index=self.index_name, id=id)
|
self.client.delete(index=self.index_name, id=id)
|
||||||
|
|
||||||
|
|
||||||
@deprecated("0.0.1", alternative="ElasticsearchStore class.", pending=True)
|
@deprecated(
|
||||||
|
"0.0.1",
|
||||||
|
alternative="Use ElasticsearchStore class in langchain-elasticsearch package",
|
||||||
|
pending=True,
|
||||||
|
)
|
||||||
class ElasticKnnSearch(VectorStore):
|
class ElasticKnnSearch(VectorStore):
|
||||||
"""[DEPRECATED] `Elasticsearch` with k-nearest neighbor search
|
"""[DEPRECATED] `Elasticsearch` with k-nearest neighbor search
|
||||||
(`k-NN`) vector store.
|
(`k-NN`) vector store.
|
||||||
|
@@ -15,6 +15,7 @@ from typing import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
import numpy as np
|
import numpy as np
|
||||||
|
from langchain_core._api import deprecated
|
||||||
from langchain_core.documents import Document
|
from langchain_core.documents import Document
|
||||||
from langchain_core.embeddings import Embeddings
|
from langchain_core.embeddings import Embeddings
|
||||||
from langchain_core.vectorstores import VectorStore
|
from langchain_core.vectorstores import VectorStore
|
||||||
@@ -113,6 +114,9 @@ class BaseRetrievalStrategy(ABC):
|
|||||||
return True
|
return True
|
||||||
|
|
||||||
|
|
||||||
|
@deprecated(
|
||||||
|
"0.0.27", alternative="Use class in langchain-elasticsearch package", pending=True
|
||||||
|
)
|
||||||
class ApproxRetrievalStrategy(BaseRetrievalStrategy):
|
class ApproxRetrievalStrategy(BaseRetrievalStrategy):
|
||||||
"""Approximate retrieval strategy using the `HNSW` algorithm."""
|
"""Approximate retrieval strategy using the `HNSW` algorithm."""
|
||||||
|
|
||||||
@@ -233,6 +237,9 @@ class ApproxRetrievalStrategy(BaseRetrievalStrategy):
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@deprecated(
|
||||||
|
"0.0.27", alternative="Use class in langchain-elasticsearch package", pending=True
|
||||||
|
)
|
||||||
class ExactRetrievalStrategy(BaseRetrievalStrategy):
|
class ExactRetrievalStrategy(BaseRetrievalStrategy):
|
||||||
"""Exact retrieval strategy using the `script_score` query."""
|
"""Exact retrieval strategy using the `script_score` query."""
|
||||||
|
|
||||||
@@ -300,6 +307,9 @@ class ExactRetrievalStrategy(BaseRetrievalStrategy):
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@deprecated(
|
||||||
|
"0.0.27", alternative="Use class in langchain-elasticsearch package", pending=True
|
||||||
|
)
|
||||||
class SparseRetrievalStrategy(BaseRetrievalStrategy):
|
class SparseRetrievalStrategy(BaseRetrievalStrategy):
|
||||||
"""Sparse retrieval strategy using the `text_expansion` processor."""
|
"""Sparse retrieval strategy using the `text_expansion` processor."""
|
||||||
|
|
||||||
@@ -381,6 +391,9 @@ class SparseRetrievalStrategy(BaseRetrievalStrategy):
|
|||||||
return False
|
return False
|
||||||
|
|
||||||
|
|
||||||
|
@deprecated(
|
||||||
|
"0.0.27", alternative="Use class in langchain-elasticsearch package", pending=True
|
||||||
|
)
|
||||||
class ElasticsearchStore(VectorStore):
|
class ElasticsearchStore(VectorStore):
|
||||||
"""`Elasticsearch` vector store.
|
"""`Elasticsearch` vector store.
|
||||||
|
|
||||||
|
@@ -1,7 +1,7 @@
|
|||||||
|
|
||||||
# rag-elasticsearch
|
# rag-elasticsearch
|
||||||
|
|
||||||
This template performs RAG using [ElasticSearch](https://python.langchain.com/docs/integrations/vectorstores/elasticsearch).
|
This template performs RAG using [Elasticsearch](https://python.langchain.com/docs/integrations/vectorstores/elasticsearch).
|
||||||
|
|
||||||
It relies on sentence transformer `MiniLM-L6-v2` for embedding passages and questions.
|
It relies on sentence transformer `MiniLM-L6-v2` for embedding passages and questions.
|
||||||
|
|
||||||
|
@@ -2,7 +2,7 @@ import os
|
|||||||
|
|
||||||
from langchain_community.document_loaders import JSONLoader
|
from langchain_community.document_loaders import JSONLoader
|
||||||
from langchain_community.embeddings import HuggingFaceEmbeddings
|
from langchain_community.embeddings import HuggingFaceEmbeddings
|
||||||
from langchain_community.vectorstores.elasticsearch import ElasticsearchStore
|
from langchain_elasticsearch import ElasticsearchStore
|
||||||
from langchain_text_splitters import RecursiveCharacterTextSplitter
|
from langchain_text_splitters import RecursiveCharacterTextSplitter
|
||||||
|
|
||||||
ELASTIC_CLOUD_ID = os.getenv("ELASTIC_CLOUD_ID")
|
ELASTIC_CLOUD_ID = os.getenv("ELASTIC_CLOUD_ID")
|
||||||
|
39
templates/rag-elasticsearch/poetry.lock
generated
39
templates/rag-elasticsearch/poetry.lock
generated
@@ -995,6 +995,22 @@ tenacity = ">=8.1.0,<9.0.0"
|
|||||||
[package.extras]
|
[package.extras]
|
||||||
extended-testing = ["jinja2 (>=3,<4)"]
|
extended-testing = ["jinja2 (>=3,<4)"]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "langchain-elasticsearch"
|
||||||
|
version = "0.1.0"
|
||||||
|
description = "An integration package connecting Elasticsearch and LangChain"
|
||||||
|
optional = false
|
||||||
|
python-versions = ">=3.8.1,<4.0"
|
||||||
|
files = [
|
||||||
|
{file = "langchain_elasticsearch-0.1.0-py3-none-any.whl", hash = "sha256:734b3600c2a94167a20adbde853ddd420d9e7aba09d60050de24c657096a0cba"},
|
||||||
|
{file = "langchain_elasticsearch-0.1.0.tar.gz", hash = "sha256:348343d2dcc34460180328c2775301839cfb8ccfd4931f1daf27d9753bfeb1e7"},
|
||||||
|
]
|
||||||
|
|
||||||
|
[package.dependencies]
|
||||||
|
elasticsearch = ">=8.12.0,<9.0.0"
|
||||||
|
langchain-core = ">=0.1,<0.2"
|
||||||
|
numpy = ">=1,<2"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "langchain-text-splitters"
|
name = "langchain-text-splitters"
|
||||||
version = "0.0.1"
|
version = "0.0.1"
|
||||||
@@ -1860,7 +1876,6 @@ files = [
|
|||||||
{file = "PyYAML-6.0.1-cp311-cp311-win_amd64.whl", hash = "sha256:bf07ee2fef7014951eeb99f56f39c9bb4af143d8aa3c21b1677805985307da34"},
|
{file = "PyYAML-6.0.1-cp311-cp311-win_amd64.whl", hash = "sha256:bf07ee2fef7014951eeb99f56f39c9bb4af143d8aa3c21b1677805985307da34"},
|
||||||
{file = "PyYAML-6.0.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:855fb52b0dc35af121542a76b9a84f8d1cd886ea97c84703eaa6d88e37a2ad28"},
|
{file = "PyYAML-6.0.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:855fb52b0dc35af121542a76b9a84f8d1cd886ea97c84703eaa6d88e37a2ad28"},
|
||||||
{file = "PyYAML-6.0.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:40df9b996c2b73138957fe23a16a4f0ba614f4c0efce1e9406a184b6d07fa3a9"},
|
{file = "PyYAML-6.0.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:40df9b996c2b73138957fe23a16a4f0ba614f4c0efce1e9406a184b6d07fa3a9"},
|
||||||
{file = "PyYAML-6.0.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a08c6f0fe150303c1c6b71ebcd7213c2858041a7e01975da3a99aed1e7a378ef"},
|
|
||||||
{file = "PyYAML-6.0.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6c22bec3fbe2524cde73d7ada88f6566758a8f7227bfbf93a408a9d86bcc12a0"},
|
{file = "PyYAML-6.0.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6c22bec3fbe2524cde73d7ada88f6566758a8f7227bfbf93a408a9d86bcc12a0"},
|
||||||
{file = "PyYAML-6.0.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8d4e9c88387b0f5c7d5f281e55304de64cf7f9c0021a3525bd3b1c542da3b0e4"},
|
{file = "PyYAML-6.0.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8d4e9c88387b0f5c7d5f281e55304de64cf7f9c0021a3525bd3b1c542da3b0e4"},
|
||||||
{file = "PyYAML-6.0.1-cp312-cp312-win32.whl", hash = "sha256:d483d2cdf104e7c9fa60c544d92981f12ad66a457afae824d146093b8c294c54"},
|
{file = "PyYAML-6.0.1-cp312-cp312-win32.whl", hash = "sha256:d483d2cdf104e7c9fa60c544d92981f12ad66a457afae824d146093b8c294c54"},
|
||||||
@@ -2176,26 +2191,6 @@ optional = false
|
|||||||
python-versions = ">=3.9"
|
python-versions = ">=3.9"
|
||||||
files = [
|
files = [
|
||||||
{file = "scikit-learn-1.4.0.tar.gz", hash = "sha256:d4373c984eba20e393216edd51a3e3eede56cbe93d4247516d205643c3b93121"},
|
{file = "scikit-learn-1.4.0.tar.gz", hash = "sha256:d4373c984eba20e393216edd51a3e3eede56cbe93d4247516d205643c3b93121"},
|
||||||
{file = "scikit_learn-1.4.0-1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:fce93a7473e2f4ee4cc280210968288d6a7d7ad8dc6fa7bb7892145e407085f9"},
|
|
||||||
{file = "scikit_learn-1.4.0-1-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:d77df3d1e15fc37a9329999979fa7868ba8655dbab21fe97fc7ddabac9e08cc7"},
|
|
||||||
{file = "scikit_learn-1.4.0-1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2404659fedec40eeafa310cd14d613e564d13dbf8f3c752d31c095195ec05de6"},
|
|
||||||
{file = "scikit_learn-1.4.0-1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e98632da8f6410e6fb6bf66937712c949b4010600ccd3f22a5388a83e610cc3c"},
|
|
||||||
{file = "scikit_learn-1.4.0-1-cp310-cp310-win_amd64.whl", hash = "sha256:11b3b140f70fbc9f6a08884631ae8dd60a4bb2d7d6d1de92738ea42b740d8992"},
|
|
||||||
{file = "scikit_learn-1.4.0-1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:a8341eabdc754d5ab91641a7763243845e96b6d68e03e472531e88a4f1b09f21"},
|
|
||||||
{file = "scikit_learn-1.4.0-1-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:d1f6bce875ac2bb6b52514f67c185c564ccd299a05b65b7bab091a4c13dde12d"},
|
|
||||||
{file = "scikit_learn-1.4.0-1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c408b46b2fd61952d519ea1af2f8f0a7a703e1433923ab1704c4131520b2083b"},
|
|
||||||
{file = "scikit_learn-1.4.0-1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2b465dd1dcd237b7b1dcd1a9048ccbf70a98c659474324fa708464c3a2533fad"},
|
|
||||||
{file = "scikit_learn-1.4.0-1-cp311-cp311-win_amd64.whl", hash = "sha256:0db8e22c42f7980fe5eb22069b1f84c48966f3e0d23a01afde5999e3987a2501"},
|
|
||||||
{file = "scikit_learn-1.4.0-1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:e7eef6ea2ed289af40e88c0be9f7704ca8b5de18508a06897c3fe21e0905efdf"},
|
|
||||||
{file = "scikit_learn-1.4.0-1-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:349669b01435bc4dbf25c6410b0892073befdaec52637d1a1d1ff53865dc8db3"},
|
|
||||||
{file = "scikit_learn-1.4.0-1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d439c584e58434d0350701bd33f6c10b309e851fccaf41c121aed55f6851d8cf"},
|
|
||||||
{file = "scikit_learn-1.4.0-1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a0e2427d9ef46477625ab9b55c1882844fe6fc500f418c3f8e650200182457bc"},
|
|
||||||
{file = "scikit_learn-1.4.0-1-cp312-cp312-win_amd64.whl", hash = "sha256:d3d75343940e7bf9b85c830c93d34039fa015eeb341c5c0b4cd7a90dadfe00d4"},
|
|
||||||
{file = "scikit_learn-1.4.0-1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:76986d22e884ab062b1beecdd92379656e9d3789ecc1f9870923c178de55f9fe"},
|
|
||||||
{file = "scikit_learn-1.4.0-1-cp39-cp39-macosx_12_0_arm64.whl", hash = "sha256:e22446ad89f1cb7657f0d849dcdc345b48e2d10afa3daf2925fdb740f85b714c"},
|
|
||||||
{file = "scikit_learn-1.4.0-1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:74812c9eabb265be69d738a8ea8d4884917a59637fcbf88a5f0e9020498bc6b3"},
|
|
||||||
{file = "scikit_learn-1.4.0-1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:aad2a63e0dd386b92da3270887a29b308af4d7c750d8c4995dfd9a4798691bcc"},
|
|
||||||
{file = "scikit_learn-1.4.0-1-cp39-cp39-win_amd64.whl", hash = "sha256:53b9e29177897c37e2ff9d4ba6ca12fdb156e22523e463db05def303f5c72b5c"},
|
|
||||||
{file = "scikit_learn-1.4.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:cb8f044a8f5962613ce1feb4351d66f8d784bd072d36393582f351859b065f7d"},
|
{file = "scikit_learn-1.4.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:cb8f044a8f5962613ce1feb4351d66f8d784bd072d36393582f351859b065f7d"},
|
||||||
{file = "scikit_learn-1.4.0-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:a6372c90bbf302387792108379f1ec77719c1618d88496d0df30cb8e370b4661"},
|
{file = "scikit_learn-1.4.0-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:a6372c90bbf302387792108379f1ec77719c1618d88496d0df30cb8e370b4661"},
|
||||||
{file = "scikit_learn-1.4.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:785ce3c352bf697adfda357c3922c94517a9376002971bc5ea50896144bc8916"},
|
{file = "scikit_learn-1.4.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:785ce3c352bf697adfda357c3922c94517a9376002971bc5ea50896144bc8916"},
|
||||||
@@ -3094,4 +3089,4 @@ multidict = ">=4.0"
|
|||||||
[metadata]
|
[metadata]
|
||||||
lock-version = "2.0"
|
lock-version = "2.0"
|
||||||
python-versions = ">=3.9,<3.13"
|
python-versions = ">=3.9,<3.13"
|
||||||
content-hash = "85c8101c09e1698ea0432f283790521648383710b653771e59fb4c380edb2616"
|
content-hash = "0d316d2e7f026984599b8a093f031c8af00fcef89a8ab618e8cb5c8ab3964cdd"
|
||||||
|
@@ -10,8 +10,8 @@ readme = "README.md"
|
|||||||
[tool.poetry.dependencies]
|
[tool.poetry.dependencies]
|
||||||
python = ">=3.9,<3.13"
|
python = ">=3.9,<3.13"
|
||||||
langchain = "^0.1"
|
langchain = "^0.1"
|
||||||
|
langchain-elasticsearch = "^0.1.0"
|
||||||
openai = "<2"
|
openai = "<2"
|
||||||
elasticsearch = "^8.10.0"
|
|
||||||
sentence-transformers = "^2.2.2"
|
sentence-transformers = "^2.2.2"
|
||||||
jq = "^1.6.0"
|
jq = "^1.6.0"
|
||||||
tiktoken = "^0.5.1"
|
tiktoken = "^0.5.1"
|
||||||
|
@@ -3,12 +3,12 @@ from typing import List, Optional, Tuple
|
|||||||
|
|
||||||
from langchain_community.chat_models import ChatOpenAI
|
from langchain_community.chat_models import ChatOpenAI
|
||||||
from langchain_community.embeddings import HuggingFaceEmbeddings
|
from langchain_community.embeddings import HuggingFaceEmbeddings
|
||||||
from langchain_community.vectorstores.elasticsearch import ElasticsearchStore
|
|
||||||
from langchain_core.messages import BaseMessage
|
from langchain_core.messages import BaseMessage
|
||||||
from langchain_core.output_parsers import StrOutputParser
|
from langchain_core.output_parsers import StrOutputParser
|
||||||
from langchain_core.prompts import format_document
|
from langchain_core.prompts import format_document
|
||||||
from langchain_core.pydantic_v1 import BaseModel, Field
|
from langchain_core.pydantic_v1 import BaseModel, Field
|
||||||
from langchain_core.runnables import RunnableParallel, RunnablePassthrough
|
from langchain_core.runnables import RunnableParallel, RunnablePassthrough
|
||||||
|
from langchain_elasticsearch import ElasticsearchStore
|
||||||
|
|
||||||
from .connection import es_connection_details
|
from .connection import es_connection_details
|
||||||
from .prompts import CONDENSE_QUESTION_PROMPT, DOCUMENT_PROMPT, LLM_CONTEXT_PROMPT
|
from .prompts import CONDENSE_QUESTION_PROMPT, DOCUMENT_PROMPT, LLM_CONTEXT_PROMPT
|
||||||
|
@@ -2,7 +2,7 @@ import os
|
|||||||
|
|
||||||
from langchain_community.document_loaders import JSONLoader
|
from langchain_community.document_loaders import JSONLoader
|
||||||
from langchain_community.embeddings import OpenAIEmbeddings
|
from langchain_community.embeddings import OpenAIEmbeddings
|
||||||
from langchain_community.vectorstores import ElasticsearchStore
|
from langchain_elasticsearch import ElasticsearchStore
|
||||||
from langchain_text_splitters import RecursiveCharacterTextSplitter
|
from langchain_text_splitters import RecursiveCharacterTextSplitter
|
||||||
|
|
||||||
ELASTIC_CLOUD_ID = os.getenv("ELASTIC_CLOUD_ID")
|
ELASTIC_CLOUD_ID = os.getenv("ELASTIC_CLOUD_ID")
|
||||||
|
19
templates/rag-self-query/poetry.lock
generated
19
templates/rag-self-query/poetry.lock
generated
@@ -998,6 +998,22 @@ tenacity = ">=8.1.0,<9.0.0"
|
|||||||
[package.extras]
|
[package.extras]
|
||||||
extended-testing = ["jinja2 (>=3,<4)"]
|
extended-testing = ["jinja2 (>=3,<4)"]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "langchain-elasticsearch"
|
||||||
|
version = "0.1.0"
|
||||||
|
description = "An integration package connecting Elasticsearch and LangChain"
|
||||||
|
optional = false
|
||||||
|
python-versions = ">=3.8.1,<4.0"
|
||||||
|
files = [
|
||||||
|
{file = "langchain_elasticsearch-0.1.0-py3-none-any.whl", hash = "sha256:734b3600c2a94167a20adbde853ddd420d9e7aba09d60050de24c657096a0cba"},
|
||||||
|
{file = "langchain_elasticsearch-0.1.0.tar.gz", hash = "sha256:348343d2dcc34460180328c2775301839cfb8ccfd4931f1daf27d9753bfeb1e7"},
|
||||||
|
]
|
||||||
|
|
||||||
|
[package.dependencies]
|
||||||
|
elasticsearch = ">=8.12.0,<9.0.0"
|
||||||
|
langchain-core = ">=0.1,<0.2"
|
||||||
|
numpy = ">=1,<2"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "langchain-text-splitters"
|
name = "langchain-text-splitters"
|
||||||
version = "0.0.1"
|
version = "0.0.1"
|
||||||
@@ -1872,7 +1888,6 @@ files = [
|
|||||||
{file = "PyYAML-6.0.1-cp311-cp311-win_amd64.whl", hash = "sha256:bf07ee2fef7014951eeb99f56f39c9bb4af143d8aa3c21b1677805985307da34"},
|
{file = "PyYAML-6.0.1-cp311-cp311-win_amd64.whl", hash = "sha256:bf07ee2fef7014951eeb99f56f39c9bb4af143d8aa3c21b1677805985307da34"},
|
||||||
{file = "PyYAML-6.0.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:855fb52b0dc35af121542a76b9a84f8d1cd886ea97c84703eaa6d88e37a2ad28"},
|
{file = "PyYAML-6.0.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:855fb52b0dc35af121542a76b9a84f8d1cd886ea97c84703eaa6d88e37a2ad28"},
|
||||||
{file = "PyYAML-6.0.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:40df9b996c2b73138957fe23a16a4f0ba614f4c0efce1e9406a184b6d07fa3a9"},
|
{file = "PyYAML-6.0.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:40df9b996c2b73138957fe23a16a4f0ba614f4c0efce1e9406a184b6d07fa3a9"},
|
||||||
{file = "PyYAML-6.0.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a08c6f0fe150303c1c6b71ebcd7213c2858041a7e01975da3a99aed1e7a378ef"},
|
|
||||||
{file = "PyYAML-6.0.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6c22bec3fbe2524cde73d7ada88f6566758a8f7227bfbf93a408a9d86bcc12a0"},
|
{file = "PyYAML-6.0.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6c22bec3fbe2524cde73d7ada88f6566758a8f7227bfbf93a408a9d86bcc12a0"},
|
||||||
{file = "PyYAML-6.0.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8d4e9c88387b0f5c7d5f281e55304de64cf7f9c0021a3525bd3b1c542da3b0e4"},
|
{file = "PyYAML-6.0.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8d4e9c88387b0f5c7d5f281e55304de64cf7f9c0021a3525bd3b1c542da3b0e4"},
|
||||||
{file = "PyYAML-6.0.1-cp312-cp312-win32.whl", hash = "sha256:d483d2cdf104e7c9fa60c544d92981f12ad66a457afae824d146093b8c294c54"},
|
{file = "PyYAML-6.0.1-cp312-cp312-win32.whl", hash = "sha256:d483d2cdf104e7c9fa60c544d92981f12ad66a457afae824d146093b8c294c54"},
|
||||||
@@ -3088,4 +3103,4 @@ multidict = ">=4.0"
|
|||||||
[metadata]
|
[metadata]
|
||||||
lock-version = "2.0"
|
lock-version = "2.0"
|
||||||
python-versions = ">=3.8.1,<4.0"
|
python-versions = ">=3.8.1,<4.0"
|
||||||
content-hash = "f6b9d389d68bd7bf89deec5fe34724bdb32cad352dc560c4873b1b80f16d1332"
|
content-hash = "35c900daced9ab0fcc8f10218eb3fda6355c13f878fa4734f53c1e58c45df3b2"
|
||||||
|
@@ -8,8 +8,8 @@ readme = "README.md"
|
|||||||
[tool.poetry.dependencies]
|
[tool.poetry.dependencies]
|
||||||
python = ">=3.8.1,<4.0"
|
python = ">=3.8.1,<4.0"
|
||||||
langchain = "^0.1"
|
langchain = "^0.1"
|
||||||
|
langchain-elasticsearch = "^0.1.0"
|
||||||
openai = "<2"
|
openai = "<2"
|
||||||
elasticsearch = "^8.10.0"
|
|
||||||
sentence-transformers = "^2.2.2"
|
sentence-transformers = "^2.2.2"
|
||||||
jq = "^1.6.0"
|
jq = "^1.6.0"
|
||||||
tiktoken = "^0.5.1"
|
tiktoken = "^0.5.1"
|
||||||
|
@@ -5,11 +5,11 @@ from typing import List, Tuple
|
|||||||
from langchain.retrievers import SelfQueryRetriever
|
from langchain.retrievers import SelfQueryRetriever
|
||||||
from langchain_community.chat_models import ChatOpenAI
|
from langchain_community.chat_models import ChatOpenAI
|
||||||
from langchain_community.embeddings import OpenAIEmbeddings
|
from langchain_community.embeddings import OpenAIEmbeddings
|
||||||
from langchain_community.vectorstores.elasticsearch import ElasticsearchStore
|
|
||||||
from langchain_core.output_parsers import StrOutputParser
|
from langchain_core.output_parsers import StrOutputParser
|
||||||
from langchain_core.prompts import format_document
|
from langchain_core.prompts import format_document
|
||||||
from langchain_core.pydantic_v1 import BaseModel, Field
|
from langchain_core.pydantic_v1 import BaseModel, Field
|
||||||
from langchain_core.runnables import RunnableParallel, RunnablePassthrough
|
from langchain_core.runnables import RunnableParallel, RunnablePassthrough
|
||||||
|
from langchain_elasticsearch.vectorstores import ElasticsearchStore
|
||||||
|
|
||||||
from .prompts import CONDENSE_QUESTION_PROMPT, DOCUMENT_PROMPT, LLM_CONTEXT_PROMPT
|
from .prompts import CONDENSE_QUESTION_PROMPT, DOCUMENT_PROMPT, LLM_CONTEXT_PROMPT
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user