mirror of
https://github.com/Mintplex-Labs/langchain-python.git
synced 2026-07-21 00:35:23 -04:00
3f9900a864
Distance-based vector database retrieval embeds (represents) queries in high-dimensional space and finds similar embedded documents based on "distance". But, retrieval may produce difference results with subtle changes in query wording or if the embeddings do not capture the semantics of the data well. Prompt engineering / tuning is sometimes done to manually address these problems, but can be tedious. The `MultiQueryRetriever` automates the process of prompt tuning by using an LLM to generate multiple queries from different perspectives for a given user input query. For each query, it retrieves a set of relevant documents and takes the unique union across all queries to get a larger set of potentially relevant documents. By generating multiple perspectives on the same question, the `MultiQueryRetriever` might be able to overcome some of the limitations of the distance-based retrieval and get a richer set of results. --------- Co-authored-by: Harrison Chase <hw.chase.17@gmail.com>
62 lines
2.5 KiB
Python
62 lines
2.5 KiB
Python
from langchain.retrievers.arxiv import ArxivRetriever
|
|
from langchain.retrievers.azure_cognitive_search import AzureCognitiveSearchRetriever
|
|
from langchain.retrievers.chatgpt_plugin_retriever import ChatGPTPluginRetriever
|
|
from langchain.retrievers.contextual_compression import ContextualCompressionRetriever
|
|
from langchain.retrievers.databerry import DataberryRetriever
|
|
from langchain.retrievers.docarray import DocArrayRetriever
|
|
from langchain.retrievers.elastic_search_bm25 import ElasticSearchBM25Retriever
|
|
from langchain.retrievers.kendra import AmazonKendraRetriever
|
|
from langchain.retrievers.knn import KNNRetriever
|
|
from langchain.retrievers.llama_index import (
|
|
LlamaIndexGraphRetriever,
|
|
LlamaIndexRetriever,
|
|
)
|
|
from langchain.retrievers.merger_retriever import MergerRetriever
|
|
from langchain.retrievers.metal import MetalRetriever
|
|
from langchain.retrievers.milvus import MilvusRetriever
|
|
from langchain.retrievers.multi_query import MultiQueryRetriever
|
|
from langchain.retrievers.pinecone_hybrid_search import PineconeHybridSearchRetriever
|
|
from langchain.retrievers.pupmed import PubMedRetriever
|
|
from langchain.retrievers.remote_retriever import RemoteLangChainRetriever
|
|
from langchain.retrievers.self_query.base import SelfQueryRetriever
|
|
from langchain.retrievers.svm import SVMRetriever
|
|
from langchain.retrievers.tfidf import TFIDFRetriever
|
|
from langchain.retrievers.time_weighted_retriever import (
|
|
TimeWeightedVectorStoreRetriever,
|
|
)
|
|
from langchain.retrievers.vespa_retriever import VespaRetriever
|
|
from langchain.retrievers.weaviate_hybrid_search import WeaviateHybridSearchRetriever
|
|
from langchain.retrievers.wikipedia import WikipediaRetriever
|
|
from langchain.retrievers.zep import ZepRetriever
|
|
from langchain.retrievers.zilliz import ZillizRetriever
|
|
|
|
__all__ = [
|
|
"AmazonKendraRetriever",
|
|
"ArxivRetriever",
|
|
"AzureCognitiveSearchRetriever",
|
|
"ChatGPTPluginRetriever",
|
|
"ContextualCompressionRetriever",
|
|
"DataberryRetriever",
|
|
"ElasticSearchBM25Retriever",
|
|
"KNNRetriever",
|
|
"LlamaIndexGraphRetriever",
|
|
"LlamaIndexRetriever",
|
|
"MergerRetriever",
|
|
"MetalRetriever",
|
|
"MilvusRetriever",
|
|
"MultiQueryRetriever",
|
|
"PineconeHybridSearchRetriever",
|
|
"PubMedRetriever",
|
|
"RemoteLangChainRetriever",
|
|
"SVMRetriever",
|
|
"SelfQueryRetriever",
|
|
"TFIDFRetriever",
|
|
"TimeWeightedVectorStoreRetriever",
|
|
"VespaRetriever",
|
|
"WeaviateHybridSearchRetriever",
|
|
"WikipediaRetriever",
|
|
"ZepRetriever",
|
|
"ZillizRetriever",
|
|
"DocArrayRetriever",
|
|
]
|