React Native RAG - v0.2.0
    Preparing search index...

    Function useRAG

    • React hook for Retrieval Augmented Generation. Manages load/unload, generation, and document storage.

      Parameters

      • __namedParameters: { llm: LLM; preventLoad?: boolean; vectorStore: VectorStore }

      Returns {
          addDocument: (
              params: {
                  document?: string;
                  embedding?: number[];
                  id?: string;
                  metadata?: Record<string, any>;
              },
          ) => Promise<string>;
          deleteDocument: (
              params: { predicate: (value: GetResult) => boolean },
          ) => Promise<void>;
          error: null | string;
          generate: (
              params: {
                  augmentedGeneration?: boolean;
                  callback?: (token: string) => void;
                  input: string | Message[];
                  nResults?: number;
                  predicate?: (value: QueryResult) => boolean;
                  promptGenerator?: (
                      messages: Message[],
                      retrievedDocs: QueryResult[],
                  ) => string;
                  questionGenerator?: (messages: Message[]) => string;
              },
          ) => Promise<string>;
          interrupt: () => Promise<void>;
          isGenerating: boolean;
          isReady: boolean;
          isStoring: boolean;
          response: string;
          splitAddDocument: (
              params: {
                  document: string;
                  metadataGenerator?: (chunks: string[]) => Record<string, any>[];
                  textSplitter?: TextSplitter;
              },
          ) => Promise<string[]>;
          updateDocument: (
              params: {
                  document?: string;
                  embedding?: number[];
                  id: string;
                  metadata?: Record<string, any>;
              },
          ) => Promise<void>;
      }

      State and operations: response, isReady, isGenerating, isStoring, error, generate, interrupt, splitAddDocument, addDocument, updateDocument, deleteDocument.

      • addDocument: (
            params: {
                document?: string;
                embedding?: number[];
                id?: string;
                metadata?: Record<string, any>;
            },
        ) => Promise<string>

        Adds a document to the vector store.

        Error if RAG is not ready or is currently storing.

      • deleteDocument: (params: { predicate: (value: GetResult) => boolean }) => Promise<void>

        Deletes documents from the vector store by the provided predicate.

        Error if RAG is not ready or is currently storing.

      • error: null | string
      • generate: (
            params: {
                augmentedGeneration?: boolean;
                callback?: (token: string) => void;
                input: string | Message[];
                nResults?: number;
                predicate?: (value: QueryResult) => boolean;
                promptGenerator?: (
                    messages: Message[],
                    retrievedDocs: QueryResult[],
                ) => string;
                questionGenerator?: (messages: Message[]) => string;
            },
        ) => Promise<string>

        Generates a text response.

        Error if RAG is not ready or is currently generating.

      • interrupt: () => Promise<void>

        Interrupts ongoing text generation.

        If not ready or not generating.

      • isGenerating: boolean
      • isReady: boolean
      • isStoring: boolean
      • response: string
      • splitAddDocument: (
            params: {
                document: string;
                metadataGenerator?: (chunks: string[]) => Record<string, any>[];
                textSplitter?: TextSplitter;
            },
        ) => Promise<string[]>

        Splits and adds a document to the vector store.

      • updateDocument: (
            params: {
                document?: string;
                embedding?: number[];
                id: string;
                metadata?: Record<string, any>;
            },
        ) => Promise<void>

        Updates a document in the vector store by its ID.

        Error if RAG is not ready or is currently storing.