This project is a chatbot application that interacts with PDF documents using LangChain and Ollama for local natural language processing capabilities. It also features a frontend built using ReactJS for a user-friendly interface.
- PDF Interaction: The chatbot allows users to interact with PDF documents, extracting information and performing tasks based on natural language commands.
- LangChain Integration: LangChain provides language understanding capabilities, allowing the chatbot to interpret user commands and extract relevant information from PDFs.
- ReactJS Frontend: The frontend interface is built using ReactJS, providing a modern and responsive user experience.
- Local LLaMa: Leverages Meta's open source LLM and Ollama to power local inference.
- Vector DB: Has a standalone Qdrant vector DB to store documents and efficiently query vectors to get meaningful context.
- Scalable FastAPI backend: Engineered a stateless REST FastAPI backend to handle async requests (upload files and infer LLM). Horizantally scalable to handle numerous requests.
- 
Clone the Repository: Clone this repository to your local machine: git clone https://github.com/hssahdev/pdf_reader_ai 
- 
Navigate to Project Directory: Enter the project directory: cd pdf_reader_ai
- 
Set Up Ollama Server: Download Ollama and make sure its running in background. You also need to download the LLM model Llama ollama run llama2 
- 
Start Docker Compose: Run the Docker Compose configuration to start the services: docker-compose up 
- 
Access the Application: Once the services are up and running, you can access the application via your web browser. By default, the frontend should be accessible at http://localhost:5173.
- docker-compose.yaml: This file defines the services required for the project, including LangChain, Ollama, and the frontend ReactJS application.
- LangChain: A natural language processing library used for language understanding and document interaction.
- Ollama: A conversational AI platform that enhances the chatbot's conversational abilities.
- ReactJS: A JavaScript library for building user interfaces, used for the frontend of the application.
Contributions to this project are welcome! Feel free to fork the repository and submit pull requests with any enhancements or fixes.
This project is licensed under the MIT License.
This project was created by [Your Name] and is maintained by the contributors. Special thanks to the developers of LangChain, Ollama, and ReactJS for their amazing tools and libraries.
