Plug-in Chroma

O plug-in do Chroma fornece implementações do indexador e do 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 incorporação que você quer usar. Em Além disso, há dois parâmetros opcionais:

  • clientParams: se o servidor do Chroma não estiver sendo executado na mesma máquina como seu fluxo do Genkit, você precisa especificar opções de autenticação, caso contrário, ao executar uma configuração padrão de servidor do Chroma, é possível especificar Objeto ChromaClientParams para passar 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 do recuperador e do indexador da seguinte forma:

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 discussão sobre indexadores e recuperados.