Chroma 플러그인은 클라이언트/서버 모드에서 Chroma 벡터 데이터베이스를 사용하는 색인 생성기 및 검색기 구현을 제공합니다.
설치
npm i --save genkitx-chromadb
구성
이 플러그인을 사용하려면 Genkit를 초기화할 때 지정합니다.
import { genkit } from 'genkit';
import { chroma } from 'genkitx-chromadb';
const ai = genkit({
plugins: [
chroma([
{
collectionName: 'bob_collection',
embedder: textEmbedding004,
},
]),
],
});
Chroma 컬렉션과 사용할 임베딩 모델을 지정해야 합니다. 또한 다음과 같은 두 가지 선택적 매개변수가 있습니다.
clientParams
: Genkit 흐름과 동일한 머신에서 Chroma 서버를 실행하지 않는 경우 인증 옵션을 지정해야 합니다. 또는 기본 Chroma 서버 구성을 실행하지 않는 경우 Chroma 클라이언트로 전달할 ChromaChromaClientParams object
를 지정할 수 있습니다.clientParams: { path: "http://192.168.10.42:8000", }
embedderOptions
: 이 매개변수를 사용하여 옵션을 삽입 도구에 전달합니다.embedderOptions: { taskType: 'RETRIEVAL_DOCUMENT' },
용도
다음과 같이 검색기 및 색인 생성기 참조를 가져옵니다.
import { chromaRetrieverRef } from 'genkitx-chromadb';
import { chromaIndexerRef } from 'genkitx-chromadb';
그런 다음 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 });
색인 생성기 및 검색기에 관한 일반적인 내용은 검색 증강 생성 페이지를 참고하세요.