Skip to main content
Retrievers find relevant documents based on queries, while indexers store documents for retrieval.

defineRetriever()

Defines and registers a retriever.

Parameters

Registry
required
The Genkit registry instance
object
required
string
required
Unique name for the retriever
OptionsType
Zod schema for retriever-specific configuration
RetrieverInfo
Metadata about the retriever
RetrieverFn<OptionsType>
required
Implementation functionFunction signature:

Returns

RetrieverAction<OptionsType>
A retriever action that can be used with retrieve()

retrieve()

Retrieves documents based on a query.

Parameters

Registry
required
The Genkit registry instance
RetrieverParams<CustomOptions>
required
RetrieverArgument<CustomOptions>
required
Retriever to use (string name, RetrieverAction, or RetrieverReference)
string | DocumentData
required
Query text or document
z.infer<CustomOptions>
Retriever-specific configuration

Returns

Document[]
Array of retrieved documents

retrieverRef()

Creates a reference to a retriever.

Parameters

RetrieverReference<CustomOptionsSchema>
required
string
required
Retriever name
CustomOptionsSchema
Configuration schema
RetrieverInfo
Retriever metadata

Returns

RetrieverReference<CustomOptionsSchema>
A retriever reference

defineIndexer()

Defines and registers an indexer for storing documents.

Parameters

Registry
required
The Genkit registry instance
object
required
string
required
Unique name for the indexer
IndexerOptions
Zod schema for indexer-specific configuration
EmbedderInfo
Information about the embedder used by this indexer
IndexerFn<IndexerOptions>
required
Implementation functionFunction signature:

Returns

IndexerAction<IndexerOptions>
An indexer action that can be used with index()

index()

Indexes documents for retrieval.

Parameters

Registry
required
The Genkit registry instance
IndexerParams<CustomOptions>
required
IndexerArgument<CustomOptions>
required
Indexer to use (string name, IndexerAction, or IndexerReference)
DocumentData[]
required
Documents to index
z.infer<CustomOptions>
Indexer-specific configuration

Returns

Promise<void>
Promise that resolves when indexing is complete

indexerRef()

Creates a reference to an indexer.

Parameters

IndexerReference<CustomOptionsSchema>
required
string
required
Indexer name
CustomOptionsSchema
Configuration schema
IndexerInfo
Indexer metadata

Returns

IndexerReference<CustomOptionsSchema>
An indexer reference

defineSimpleRetriever()

Defines a simple retriever that maps data into documents.

Parameters

Registry
required
The Genkit registry instance
SimpleRetrieverOptions<C, R>
required
string
required
Retriever name
C
Configuration schema
string | ((item: R) => Document['content'] | string)
How to extract content from returned items
string[] | ((item: R) => Document['metadata'])
How to extract metadata from returned items
(query: Document, config: z.infer<C>) => Promise<R[]>
required
Function that queries the datastore

Returns

RetrieverAction
A retriever action

Types

RetrieverResponse

RetrieverAction

IndexerAction

CommonRetrieverOptionsSchema

Example: Complete RAG Setup