This is a Retrieval-Augmented Generation (RAG) system powered by Langchain, Langchain Community, FAISS document store, and GPT4All. It allows users to ask questions about uploaded documents and receive short, precise, and well-sourced answers.
- Python 3.12
- Docker
- Docker Compose
- Clone the repository:
git clone https://github.com/nshefeek/docGPT.git
cd docGPT
- Build and run the Docker containers:
docker-compose up --build -d
- Access the application:
- FastAPI backend:
http://localhost:8000/api - Streamlit frontend:
http://localhost:8501
- Upload documents using the
/uploadendpoint or the Streamlit frontend. - Process directories of documents using the
/process-directoryendpoint. - Ask questions about the uploaded documents using the
/askendpoint or the Streamlit frontend. - Retrieve task status and manage the document store using the corresponding API endpoints.
/ask-question(POST): Ask a question about the uploaded documents./upload/file(POST): Upload a single document file./upload/directory(POST): Process a directory of documents./search-store(POST): Search for documents based on a query./clear-store(POST): Clear the document store./document-count(GET): Get the document counts
For detailed information on the request and response formats, refer to the API documentation.
- If you are using
docker composeinstead ofdocker-composethe application startup would be done after the download of the LLM model into thedatafolder. So please wait for the backend application to start after the download is done.