Module @genkit-ai/dev-local-vectorstore

Dev Local Vector Store for Genkit

This is a simple implementation of a vector store that can be used to local development and testing.

This plugin is not meant to be used in production.

npm i --save @genkit-ai/dev-local-vectorstore
import { Document, genkit } from 'genkit';
import {
googleAI,
gemini15Flash,
textEmbeddingGecko001,
} from '@genkit-ai/googleai';
import {
devLocalVectorstore,
devLocalIndexerRef,
devLocalRetrieverRef,
} from '@genkit-ai/dev-local-vectorstore';

const ai = genkit({
plugins: [
googleAI(),
devLocalVectorstore([
{
indexName: 'BobFacts',
embedder: textEmbeddingGecko001,
},
]),
],
model: gemini15Flash,
});

// Reference to a local vector database storing Genkit documentation
const indexer = devLocalIndexerRef('BobFacts');
const retriever = devLocalRetrieverRef('BobFacts');

(async () => {
// Add documents to the index. Only do it once.
await ai.index({
indexer: indexer,
documents: [
Document.fromText('Bob lives on the moon.'),
Document.fromText('Bob is 42 years old.'),
Document.fromText('Bob likes bananas.'),
Document.fromText('Bob has 11 cats.'),
],
});

const question = 'How old is Bob?';

// Consistent API to retrieve most relevant documents based on semantic similarity to query
const docs = await ai.retrieve({
retriever: retriever,
query: question,
});

const result = await ai.generate({
prompt: `Use the provided context from the Genkit documentation to answer this query: ${question}`,
docs, // Pass retrieved documents to the model
});

console.log(result.text);
})();

The sources for this package are in the main Genkit repo. Please file issues and pull requests against that repo.

Usage information and reference details can be found in Genkit documentation.

License: Apache 2.0

Functions

devLocalIndexerRef
devLocalRetrieverRef
devLocalVectorstore

References

default → devLocalVectorstore