mirror of
https://github.com/hwchase17/langchain
synced 2024-11-08 07:10:35 +00:00
a32798abd7
<!-- Thank you for contributing to LangChain! Please title your PR "<package>: <description>", where <package> is whichever of langchain, community, core, experimental, etc. is being modified. Replace this entire comment with: - **Description:** a description of the change, - **Issue:** the issue # it fixes if applicable, - **Dependencies:** any dependencies required for this change, - **Twitter handle:** we announce bigger features on Twitter. If your PR gets announced, and you'd like a mention, we'll gladly shout you out! Please make sure your PR is passing linting and testing before submitting. Run `make format`, `make lint` and `make test` from the root of the package you've modified to check this locally. See contribution guidelines for more information on how to write/run tests, lint, etc: https://python.langchain.com/docs/contributing/ If you're adding a new integration, please include: 1. a test for the integration, preferably unit tests that do not rely on network access, 2. an example notebook showing its use. It lives in `docs/docs/integrations` directory. If no one reviews your PR within a few days, please @-mention one of @baskaryan, @eyurtsev, @hwchase17. --> - **Description: changes to you.com files** - general cleanup - adds community/utilities/you.py, moving bulk of code from retriever -> utility - removes `snippet` as endpoint - adds `news` as endpoint - adds more tests <s>**Description: update community MAKE file** - adds `integration_tests` - adds `coverage`</s> - **Issue:** the issue # it fixes if applicable, - [For New Contributors: Update Integration Documentation](https://github.com/langchain-ai/langchain/issues/15664#issuecomment-1920099868) - **Dependencies:** n/a - **Twitter handle:** @scottnath - **Mastodon handle:** scottnath@mastodon.social --------- Co-authored-by: Bagatur <baskaryan@gmail.com>
116 lines
4.3 KiB
Python
116 lines
4.3 KiB
Python
"""**Retriever** class returns Documents given a text **query**.
|
|
|
|
It is more general than a vector store. A retriever does not need to be able to
|
|
store documents, only to return (or retrieve) it. Vector stores can be used as
|
|
the backbone of a retriever, but there are other types of retrievers as well.
|
|
|
|
**Class hierarchy:**
|
|
|
|
.. code-block::
|
|
|
|
BaseRetriever --> <name>Retriever # Examples: ArxivRetriever, MergerRetriever
|
|
|
|
**Main helpers:**
|
|
|
|
.. code-block::
|
|
|
|
Document, Serializable, Callbacks,
|
|
CallbackManagerForRetrieverRun, AsyncCallbackManagerForRetrieverRun
|
|
"""
|
|
|
|
from langchain_community.retrievers.arcee import ArceeRetriever
|
|
from langchain_community.retrievers.arxiv import ArxivRetriever
|
|
from langchain_community.retrievers.azure_cognitive_search import (
|
|
AzureCognitiveSearchRetriever,
|
|
)
|
|
from langchain_community.retrievers.bedrock import AmazonKnowledgeBasesRetriever
|
|
from langchain_community.retrievers.bm25 import BM25Retriever
|
|
from langchain_community.retrievers.breebs import BreebsRetriever
|
|
from langchain_community.retrievers.chaindesk import ChaindeskRetriever
|
|
from langchain_community.retrievers.chatgpt_plugin_retriever import (
|
|
ChatGPTPluginRetriever,
|
|
)
|
|
from langchain_community.retrievers.cohere_rag_retriever import CohereRagRetriever
|
|
from langchain_community.retrievers.docarray import DocArrayRetriever
|
|
from langchain_community.retrievers.elastic_search_bm25 import (
|
|
ElasticSearchBM25Retriever,
|
|
)
|
|
from langchain_community.retrievers.embedchain import EmbedchainRetriever
|
|
from langchain_community.retrievers.google_cloud_documentai_warehouse import (
|
|
GoogleDocumentAIWarehouseRetriever,
|
|
)
|
|
from langchain_community.retrievers.google_vertex_ai_search import (
|
|
GoogleCloudEnterpriseSearchRetriever,
|
|
GoogleVertexAIMultiTurnSearchRetriever,
|
|
GoogleVertexAISearchRetriever,
|
|
)
|
|
from langchain_community.retrievers.kay import KayAiRetriever
|
|
from langchain_community.retrievers.kendra import AmazonKendraRetriever
|
|
from langchain_community.retrievers.knn import KNNRetriever
|
|
from langchain_community.retrievers.llama_index import (
|
|
LlamaIndexGraphRetriever,
|
|
LlamaIndexRetriever,
|
|
)
|
|
from langchain_community.retrievers.metal import MetalRetriever
|
|
from langchain_community.retrievers.milvus import MilvusRetriever
|
|
from langchain_community.retrievers.outline import OutlineRetriever
|
|
from langchain_community.retrievers.pinecone_hybrid_search import (
|
|
PineconeHybridSearchRetriever,
|
|
)
|
|
from langchain_community.retrievers.pubmed import PubMedRetriever
|
|
from langchain_community.retrievers.qdrant_sparse_vector_retriever import (
|
|
QdrantSparseVectorRetriever,
|
|
)
|
|
from langchain_community.retrievers.remote_retriever import RemoteLangChainRetriever
|
|
from langchain_community.retrievers.svm import SVMRetriever
|
|
from langchain_community.retrievers.tavily_search_api import TavilySearchAPIRetriever
|
|
from langchain_community.retrievers.tfidf import TFIDFRetriever
|
|
from langchain_community.retrievers.vespa_retriever import VespaRetriever
|
|
from langchain_community.retrievers.weaviate_hybrid_search import (
|
|
WeaviateHybridSearchRetriever,
|
|
)
|
|
from langchain_community.retrievers.wikipedia import WikipediaRetriever
|
|
from langchain_community.retrievers.you import YouRetriever
|
|
from langchain_community.retrievers.zep import ZepRetriever
|
|
from langchain_community.retrievers.zilliz import ZillizRetriever
|
|
|
|
__all__ = [
|
|
"AmazonKendraRetriever",
|
|
"AmazonKnowledgeBasesRetriever",
|
|
"ArceeRetriever",
|
|
"ArxivRetriever",
|
|
"AzureCognitiveSearchRetriever",
|
|
"BM25Retriever",
|
|
"BreebsRetriever",
|
|
"ChatGPTPluginRetriever",
|
|
"ChaindeskRetriever",
|
|
"CohereRagRetriever",
|
|
"ElasticSearchBM25Retriever",
|
|
"EmbedchainRetriever",
|
|
"GoogleDocumentAIWarehouseRetriever",
|
|
"GoogleCloudEnterpriseSearchRetriever",
|
|
"GoogleVertexAIMultiTurnSearchRetriever",
|
|
"GoogleVertexAISearchRetriever",
|
|
"KayAiRetriever",
|
|
"KNNRetriever",
|
|
"LlamaIndexGraphRetriever",
|
|
"LlamaIndexRetriever",
|
|
"MetalRetriever",
|
|
"MilvusRetriever",
|
|
"OutlineRetriever",
|
|
"PineconeHybridSearchRetriever",
|
|
"PubMedRetriever",
|
|
"QdrantSparseVectorRetriever",
|
|
"RemoteLangChainRetriever",
|
|
"SVMRetriever",
|
|
"TavilySearchAPIRetriever",
|
|
"TFIDFRetriever",
|
|
"VespaRetriever",
|
|
"WeaviateHybridSearchRetriever",
|
|
"WikipediaRetriever",
|
|
"YouRetriever",
|
|
"ZepRetriever",
|
|
"ZillizRetriever",
|
|
"DocArrayRetriever",
|
|
]
|