Wtyczka Chroma

Wtyczka Chroma udostępnia implementacje indeksatora i wyszukiwarki, które korzystają z bazy danych wektorów Chroma w trybie klient-serwer.

Instalacja

npm i --save genkitx-chromadb

Konfiguracja

Aby użyć tej wtyczki, określ ją podczas inicjowania Genkit:

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

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

Musisz określić kolekcję Chroma i model wektora dystrybucyjnego, którego chcesz użyć. Dodatkowo dostępne są 2 parametry opcjonalne:

  • clientParams: jeśli serwer Chroma nie działa na tym samym komputerze co proces Genkit, musisz określić opcje uwierzytelniania. Jeśli nie używasz domyślnej konfiguracji serwera Chroma, możesz podać Chroma ChromaClientParams object, aby przekazać go klientowi Chroma:

    clientParams: {
      path: "http://192.168.10.42:8000",
    }
    
  • embedderOptions: użyj tego parametru, aby przekazać opcje do umieszczającego:

    embedderOptions: { taskType: 'RETRIEVAL_DOCUMENT' },
    

Wykorzystanie

Zaimportuj odwołania do pobierania i indeksowania w ten sposób:

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

Następnie użyj odwołań z użyciem ai.retrieve()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 });

Aby dowiedzieć się więcej o indeksowaniu i wyszukiwaniu, zapoznaj się ze stroną generowanie z wykorzystaniem wyszukiwania.