* initial commit; fixed anchor links on internal docs pages * add back in absolute paths for links in code comments * fix: update linkchecker include filter to match server port 1314 PR #1629 changed the Hugo server to port 1314 but forgot to update the --include filter, which still matched port 1313. This caused all links to be excluded, making the checker a no-op (0 checked, 82277 excluded). Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * Fix url rewrite regex so images are not impacted * Fix links from non-documentation pages * Fix broken links * more broken links * more broken links * broken link * Add srcset width descriptor to .lycheeignore * Ignore URLs that contain a % character * Anchor regex so it matches the entire URL --------- Co-authored-by: kanungle <neil.kanungo@gmail.com> Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com> Co-authored-by: Abdon Pijpelink <abdon.pijpelink@qdrant.com>
2.8 KiB
title
| title |
|---|
| Firebase Genkit |
Firebase Genkit
Genkit is a framework to build, deploy, and monitor production-ready AI-powered apps.
You can build apps that generate custom content, use semantic search, handle unstructured inputs, answer questions with your business data, autonomously make decisions, orchestrate tool calls, and more.
You can use Qdrant for indexing/semantic retrieval of data in your Genkit applications via the Qdrant-Genkit plugin.
Genkit currently supports server-side development in JavaScript/TypeScript (Node.js) with Go support in active development.
Installation
npm i genkitx-qdrant
Configuration
To use this plugin, specify it when you call configureGenkit():
import { qdrant } from 'genkitx-qdrant';
const ai = genkit({
plugins: [
qdrant([
{
embedder: googleAI.embedder('text-embedding-004'),
collectionName: 'collectionName',
clientParams: {
url: 'http://localhost:6333',
}
}
]),
],
});
You'll need to specify a collection name, the embedding model you want to use and the Qdrant client parameters. In addition, there are a few optional parameters:
-
embedderOptions: Additional options to pass options to the embedder:embedderOptions: { taskType: 'RETRIEVAL_DOCUMENT' }, -
contentPayloadKey: Name of the payload filed with the document content. Defaults to "content".contentPayloadKey: 'content'; -
metadataPayloadKey: Name of the payload filed with the document metadata. Defaults to "metadata".metadataPayloadKey: 'metadata'; -
dataTypePayloadKey: Name of the payload filed with the document datatype. Defaults to "_content_type".dataTypePayloadKey: '_datatype'; -
collectionCreateOptions: Additional options when creating the Qdrant collection.
Usage
Import retriever and indexer references like so:
import { qdrantIndexerRef, qdrantRetrieverRef } from 'genkitx-qdrant';
Then, pass their references to retrieve() and index():
// To export an indexer reference:
export const qdrantIndexer = qdrantIndexerRef('collectionName', 'displayName');
// To export a retriever reference:
export const qdrantRetriever = qdrantRetrieverRef('collectionName', 'displayName');
You can refer to Retrieval-augmented generation for a general discussion on indexers and retrievers.