You are required to design a Chat with PDF system for interacting with PDF documents. The system should allow users to upload PDF files and interact with the content using AI-powered chat functionality.
Your system must include the features listed in Must have. You can also implement features in Nice to have for bonus points.
- PDF Upload:
- Users can upload PDF files.
- Support scanned PDFs
- Note: The PDF files may contain images, tables, and code.
- AI Chat Functionality:
- Allow users to ask questions.
- Differentiate:
- Document-based questions: Use content from document to generate answer.
- General knowledge questions: Use an external AI API to provide responses unrelated to the document.
- Demo Using Streamlit or Gradio (video or a direct link to the application):
- Build a simple web-based interface to demonstrate the application.
- Include PDF upload and chat functionalities in the demo.
- Multiple Files (PDFs, doc,...): Allow users to upload and interact with multiple files simultaneously.
- Custom UI: Create a simple custom UI (HTML/CSS/JS or frontend framework) to demo the application.
- Language: Python
- Framework: Langchain, Llama-index, CrewAI, AutoGen, Haystack,…
- VectorDatabase: You can use any database you are familiar with such as: Milvus, Qdrant, Chroma, ….
- Duration: Complete the task within 3 days.
- Submission: Push your project to a public GitHub repository.
- Include:
- A README.md file with:
- Project overview.
- Setup and installation instructions.
- How to run the application.
- How to test the application.
- A README.md file with:
- Send the GitHub repository link via the submission form
