Skip to main content

Retrievers

A retriever is an interface that returns documents given an unstructured 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) them.

Retrievers accept a string query as input and return a list of Documents.

For specifics on how to use retrievers, see the relevant how-to guides here.

Note that all vector stores can be cast to retrievers. Refer to the vector store integration docs for available vector store retrievers.

info

If you'd like to write your own retriever, see this how-to. If you'd like to contribute an integration, see Contributing integrations.

All retrievers​

NameDescription
Knowledge Bases for Amazon BedrockOverview
BM25BM25, also known as [Okapi
Chaindesk RetrieverThis example shows how to use the Chaindesk Retriever in a retrieval ...
Dria RetrieverThe Dria retriever allows an agent to perform a text-based search acr...
ExaOverview
HyDE RetrieverThis example shows how to use the HyDE Retriever, which implements Hy...
Amazon Kendra RetrieverOverview
Metal RetrieverThis example shows how to use the Metal Retriever in a retrieval chai...
Self-querying retrievers
Supabase Hybrid SearchLangchain supports hybrid search with a Supabase Postgres database. T...
Tavily Search APITavily’s Search API is a search engine built
Time-Weighted RetrieverA Time-Weighted Retriever is a retriever that takes into account rece...
Vespa RetrieverThis shows how to use Vespa.ai as a LangChain retriever.
Zep Cloud RetrieverZep is a long-term memory service for AI Assistant apps.
Zep Open Source RetrieverZep is a long-term memory service for AI Assistant apps.

Was this page helpful?


You can also leave detailed feedback on GitHub.