UNPKG

@forge-ml/rag

Version:

A RAG (Retrieval-Augmented Generation) package for Forge ML

30 lines (29 loc) 1.21 kB
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;