Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.langchain.com/llms.txt

Use this file to discover all available pages before exploring further.

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 can be created from vector stores, but are also broad enough to include other sources. Retrievers accept a string query as input and return a list of Document objects as output. Note that all vector stores can be cast to retrievers. Refer to the vector store integration docs for available vector stores. This page lists custom retrievers, implemented via subclassing BaseRetriever.

Bring-your-own documents

The below retrievers allow you to index and search a custom corpus of documents.

External index

The below retrievers will search over an external index (e.g., constructed from Internet data or similar).

All retrievers

Bedrock (Knowledge Bases)

Box

Cognee

Cohere reranker

Cohere RAG

Contextual AI Reranker

Dappier

Elasticsearch

Egnyte

Galaxia

Google Drive

Google Vertex AI Search

Graph RAG

GreenNode

IBM watsonx.ai

IMAP

Kinetica Vectorstore

LinkupSearchRetriever

Nebius

Nimble Extract

Nimble Search

NVIDIA RAG Blueprint

Parallel Search

Permit

Perigon

Perplexity Search

Pinecone Rerank

RAGatouille

SpiceDB

ValyuContext

Vectorize

You.com

Zotero