Complemento de croma

El complemento Chroma proporciona implementaciones de indexador y retriever que utilizan la base de datos de vectores Chroma 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 usar. Además, hay dos parámetros opcionales:

  • clientParams: Si no ejecutas el servidor de Chroma en la misma máquina que el flujo de Genkit, debes especificar opciones de autenticación o, de lo contrario, no ejecutas una configuración predeterminada del servidor de Chroma, puedes especificar un objeto ChromaClientParams de Chroma para pasar al cliente de Chroma:

    clientParams: {
      path: "http://192.168.10.42:8000",
    }
    
  • embedderOptions: Usa este parámetro para pasar opciones al embedder:

    embedderOptions: { taskType: 'RETRIEVAL_DOCUMENT' },
    

Uso

Importa referencias de indexer 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 Generación de aumento de recuperación para ver un análisis general sobre los indexadores y los retrievers.