Complemento de croma

El complemento de Chroma proporciona implementaciones de indexadores y retriever que usan el Base de datos de vectores de croma en modo cliente/servidor.

Instalación

npm i --save genkitx-chromadb

Configuración

Para usar este complemento, especifícalo cuando llames a configureGenkit():

import { chroma } from 'genkitx-chromadb';

export default configureGenkit({
  plugins: [
    chroma([
      {
        collectionName: 'bob_collection',
        embedder: textEmbeddingGecko,
      },
    ]),
  ],
  // ...
});

Debes especificar una colección de croma y el modelo de incorporación que quieres utilizar. En hay dos parámetros opcionales:

  • clientParams: Si no ejecutas tu servidor de croma en la misma máquina que tu flujo de Genkit, debes especificar opciones de Auth ejecutando una configuración de servidor de croma predeterminada, puedes especificar una Objeto ChromaClientParams para pasar al cliente de Chroma:

    clientParams: {
      path: "http://192.168.10.42:8000",
    }
    
  • embedderOptions: Usa este parámetro para pasar opciones a la incorporación:

    embedderOptions: { taskType: 'RETRIEVAL_DOCUMENT' },
    

Uso

Importa referencias de indizador y retriever de la siguiente manera:

import { chromaRetrieverRef } from 'genkitx-chromadb';
import { chromaIndexerRef } from 'genkitx-chromadb';

Luego, pasa las referencias a retrieve() y index():

// To use the index you configured when you loaded the plugin:
let docs = await retrieve({ retriever: chromaRetrieverRef, query });

// To specify an index:
export const bobFactsRetriever = chromaRetrieverRef({
  collectionName: 'bob-facts',
});
docs = await retrieve({ retriever: bobFactsRetriever, query });
// To use the index you configured when you loaded the plugin:
await index({ indexer: chromaIndexerRef, documents });

// To specify an index:
export const bobFactsIndexer = chromaIndexerRef({
  collectionName: 'bob-facts',
});
await index({ indexer: bobFactsIndexer, documents });

Consulta la página de generación aumentada de recuperación para ver un panorama general sobre los indexadores y los retrievers.