El complemento Chroma proporciona implementaciones de indexador y recuperador que usan la base de datos de vectores de Chroma en modo cliente-servidor.
Instalación
npm i --save genkitx-chromadb
Configuración
Para usar este complemento, especifícalo cuando inicialices Genkit:
import { genkit } from 'genkit';
import { chroma } from 'genkitx-chromadb';
const ai = genkit({
plugins: [
chroma([
{
collectionName: 'bob_collection',
embedder: textEmbedding004,
},
]),
],
});
Debes especificar una colección de Chroma y el modelo de incorporación que deseas usar. Además, hay dos parámetros opcionales:
clientParams
: Si no ejecutas el servidor Chroma en la misma máquina que tu flujo de Genkit, debes especificar las opciones de autenticación. De lo contrario, si no ejecutas una configuración predeterminada del servidor Chroma, puedes especificar unChromaClientParams object
de Chroma para pasarlo al cliente de Chroma:clientParams: { path: "http://192.168.10.42:8000", }
embedderOptions
: Usa este parámetro para pasar opciones al incorporador:embedderOptions: { taskType: 'RETRIEVAL_DOCUMENT' },
Uso
Importa referencias de recuperador y de indexador de la siguiente manera:
import { chromaRetrieverRef } from 'genkitx-chromadb';
import { chromaIndexerRef } from 'genkitx-chromadb';
Luego, usa las referencias con ai.retrieve()
y ai.index()
:
// To use the index you configured when you loaded the plugin:
let docs = await ai.retrieve({ retriever: chromaRetrieverRef, query });
// To specify an index:
export const bobFactsRetriever = chromaRetrieverRef({
collectionName: 'bob-facts',
});
docs = await ai.retrieve({ retriever: bobFactsRetriever, query });
// To use the index you configured when you loaded the plugin:
await ai.index({ indexer: chromaIndexerRef, documents });
// To specify an index:
export const bobFactsIndexer = chromaIndexerRef({
collectionName: 'bob-facts',
});
await ai.index({ indexer: bobFactsIndexer, documents });
Consulta la página de generación mejorada de recuperación para ver un debate general sobre los indexadores y recuperadores.