@forge-ml/rag
Version:
A RAG (Retrieval-Augmented Generation) package for Forge ML
30 lines (29 loc) • 1.21 kB
TypeScript
import { Client } from "minio";
import { Chunk, DocStore, DocumentClass, RelevantChunk, ScoredEmbedding } from "../../../types";
import Document from "../../../documents/documents";
interface MinioDocStoreParams {
endpoint: string;
port?: number;
useSSL?: boolean;
accessKey: string;
secretKey: string;
}
declare class MinioDocStore implements DocStore {
client: Client;
bucketName: string;
documentName: string;
private static readonly DOCUMENT_FILE;
chunksName: string;
private static readonly CHUNKS_FILE;
constructor({ endpoint, port, useSSL, accessKey, secretKey, }: MinioDocStoreParams);
private initializeBucket;
storeDocument(document: DocumentClass, chunks: Chunk[]): Promise<void>;
retrieveDocument(documentId: string): Promise<Document>;
updateDocument(document: Document, documentId: string): Promise<void>;
deleteDocument(documentId: string): Promise<void>;
retrieveChunks(documentIds: string[]): Promise<Chunk[]>;
mergeChunksAndEmbeddings(embeddings: ScoredEmbedding[], documentIds: string[]): Promise<RelevantChunk[]>;
deleteBucket(): Promise<void>;
private streamToString;
}
export default MinioDocStore;