Plug-in Chroma

O plug-in Chroma fornece implementações de indexador e retriever que usam o banco de dados de vetores Chroma no modo cliente/servidor.

Instalação

npm i --save genkitx-chromadb

Configuração

Para usar esse plug-in, especifique-o ao inicializar o Genkit:

import { genkit } from 'genkit';
import { chroma } from 'genkitx-chromadb';

const ai = genkit({
  plugins: [
    chroma([
      {
        collectionName: 'bob_collection',
        embedder: textEmbedding004,
      },
    ]),
  ],
});

Você precisa especificar uma coleção do Chroma e o modelo de embedding que quer usar. Além disso, há dois parâmetros opcionais:

  • clientParams: se você não estiver executando o servidor Chroma na mesma máquina que o fluxo do Genkit, precisará especificar opções de autenticação ou não estiver executando uma configuração padrão do servidor Chroma, poderá especificar um ChromaClientParams object Chroma para transmitir ao cliente Chroma:

    clientParams: {
      path: "http://192.168.10.42:8000",
    }
    
  • embedderOptions: use esse parâmetro para transmitir opções ao incorporador:

    embedderOptions: { taskType: 'RETRIEVAL_DOCUMENT' },
    

Uso

Importe as referências do retriever e do indexador desta forma:

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

Em seguida, use as referências com ai.retrieve() e 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 });

Consulte a página Geração aumentada de recuperação para conferir discussão geral sobre indexadores e recuperadores.