2

What are some good end-to-end RAG (Retrieval-Augmented Generation) frameworks for question-answering using an LLM?

My requirements are:

  • Low/no code and simple to setup.
  • Reading and parsing local document files (.PDF, .DOCX, e.g.) into a database and generate vector embeddings of them.
  • Scraping and parsing a website into the database.
  • Of a lesser importance: Loading and parsing images, audios, and videos via image/audio-to-text and/or embeddings.
  • Retrievers that query the database via vector embedding similarity and/or keyword search.
  • Let an LLM choose the best rephrasing of the user-inputted query to search for with the retrievers.
  • Rerank the results returned by the retrievers and select the most relevant parts.
  • Synthesize a response to the end-user utilizing the information retrieved.
  • Provide the sources of the results such as providing the exact path to the files referenced.
  • Optional but great to have: An LLM agent that has memory and makes autonomous decisions regarding what queries to be performed and how to rephrase the query if the previous results are unsatisfactory.

I understand that it might be difficult to find a framework that satisfies all of the requirements, so solutions satisfying a majority of the requirements would be acceptable. I would also accept a simple combination of different frameworks. However, I am not planning to stitch all the individual components together by code. It is OK for me to having to choose which parsers and which retrievers to use, but they need to be simple plug-and-play.

I found that RAGFlow might be a good solution according to the requirements. Additionally, I am also building an agentic RAG framework myself using LlamaIndex, though I would not accept it as an answer to this question as it requires a lot of code to stitch the components together.

1 Answer 1

1

NotebookLM is a zero-code webapp that can read/parse various formats:

https://notebooklm.google

Free to use.

It does not scrape websites, but if you really want to scrape you might try to turn websites into HTML or PDF files, there are various tools for this.

(disclaimer: I work for the same company)

1
  • I think I did not state my requirements clearly, but I am actually thinking of a framework that you can feed e.g. all your personal files to it (many many files of heterogeneous content). NotebookLM is a bit limited in that it has a 50 document limit. Still, I tried it and found it quite impressive for QA of books/papers. I fed a math book to it and it even comprehended a concept I only described roughly, find relevant content, and also told me a more commonly used name for it (which is not actually mentioned in the book itself).
    – Tom Lin
    Commented Sep 9 at 12:26

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.