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 chamar configureGenkit():

import { chroma } from 'genkitx-chromadb';

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

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

  • clientParams: se você não estiver executando o servidor Chroma na mesma máquina do fluxo Genkit, será necessário especificar opções de autenticação. Caso contrário, se não estiver executando uma configuração padrão do servidor Chroma, especifique um objeto ChromaClientParams (em inglês) do Chroma para ser transmitido ao cliente do 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 referências de recuperador e indexador da seguinte maneira:

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

Em seguida, transmita as referências para retrieve() e 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 });

Consulte a página Geração aumentada de recuperação para ver uma discussão geral sobre indexadores e recuperados.