genai-apps / aggrag

Other
8 stars 13 forks source link

Abstract aggrag class and other code so much that adding a new rag requires only a single script. #2

Open garvk opened 1 month ago

garvk commented 1 month ago

High level tasks for abstraction:

  1. Abstract aggrag.py and individual rags in the ragstore.py;
  2. Abstract the five - six steps in each rag; for example adding a document loader should be as simple as choosing AI service, where we get multiple options to parse the document.
  3. Needs solution after step 1 and step2: Make it compatible with 'pip install aggrag'. So that anyone who is installing aggrag library in their application development cycle can also add their own 'private' rag implementations which they don't want to share with the world. This could work as simply as creating a new RAG class say MyCustomRAG(INHERIT_RAG_ABSTRACT_CLASS_FROM_AGGRAG) in their application, and decorate MyCustomRAG(...) class with @AddThisRagToAggragRagstore. The decorator will then include MyCustomRAG within the UI and will be usable by AggRAG class if someone wishes to use jupyter notebooks etc to do development

@himanshu-mishra3

Munir-fractal commented 3 weeks ago

Integrating a RAG into AggRAG

RAGIntegrationFinal.pdf

https://fractalanalytic-my.sharepoint.com/:w:/g/personal/munir_m_fractal_ai/ETrzBwTvC4lPgvEDcgUlisMBl11wl5b5t9CeDWecMmga4w?e=j1RUcj