Skip to content

A full-ledged Retrieval Augmented Generation application! Powered by Google Gemini and Langchain

License

Notifications You must be signed in to change notification settings

prcpham-dev/ChatDocument

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ChatDocument

This is a simple Retrieval Augmented Generation app (RAG) with a full-fledged user interface!

📄 Features (new updates!)

  • Document Upload: Users can upload PDF files up to 3145728B (~3MB) containing information for analysis.
  • Google Gemini Pro: Leveraging Google's latest LLM with 2 million token contexts to craft responses and embeddings.
  • State-of-the-art UI: Can't go wrong with React + Bootstrap
  • HTTPS: Deployed on a VPS with a valid SSL certificate
  • (new) Celery task queue: paired with Redis to improve application responsiveness + enhanced scalability

🔧 Tech stack

  • Server: Langchain, FastAPI, Redis, Celery
  • Client: React, Bootstrap

📦 Installation

  1. Clone the repository
  2. Make sure you are on the branch main
  3. cd into main
  4. Add GOOGLE_API_KEY and REDIS_URL as variables in the app/.env
  1. docker compose up

🔄 System structure (feedback appreciated!)

image

📋 TODOs:

  • Create the app itself :D
    • PDF reader
    • RAG chain with context and chat history
    • REST api endpoints
    • React app client
  • Deploy on Vercel File too large
  • Deploy on a VPS with nginx and pm2

👥 Contributors

  • Phong Pham
  • Trung Nguyen

About

A full-ledged Retrieval Augmented Generation application! Powered by Google Gemini and Langchain

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 40.4%
  • Python 40.2%
  • CSS 15.5%
  • HTML 3.0%
  • Other 0.9%