Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/majidraimi/chat-with-pdf

Small project where you can chat with pdf using langchain framework.
https://github.com/majidraimi/chat-with-pdf

chroma langchain llama2 llm python

Last synced: 4 days ago
JSON representation

Small project where you can chat with pdf using langchain framework.

Awesome Lists containing this project

README

        

# Chat with PDF 📚🤖

## Introduction

"Chat with PDF" is an innovative tool developed for the NLP course at our university. This application is uniquely designed to interact with PDF documents using natural language processing. It is built with the LangChain framework and the Llama2 model, supported by a Chroma Vector database for data handling. The user interface is developed using Streamlit, providing a seamless and user-friendly experience.

## Installation

Follow these steps to set up "Chat with PDF":

1. Clone the repository:
```bash
git clone https://github.com/MajidRaimi/Chat-With-PDF
```
2. Change directory:
```bash
cd Chat-With-PDF
```
3. Install required Python packages:
```bash
git pip install -r requirements.txt
```
4. Launch the Streamlit app:
```bash
streamlit run app.py
```

Ensure Python and pip are installed on your system.

## Features 🌟

- **PDF Text Extraction**: Uses PyPDF2 for reading and extracting text from PDF documents.
- **Natural Language Processing**: Employs the LangChain framework and Llama2 model for processing natural language queries.
- **Vector Storage**: Integrates a Chroma Vector database for efficient data management.
- **Interactive UI**: Crafted with Streamlit, ensuring a user-friendly interaction.
- **Dynamic Conversation Handling**: Manages user input and bot responses effectively, providing a conversational interface.

## How It Works 🛠

The application works by first extracting text from uploaded PDF documents. It then splits this text into manageable chunks and stores these in a Chroma Vector database. When a user inputs a question, the system uses natural language processing (LangChain and Llama2 model) to understand and retrieve relevant information from the text, displaying it in a conversational format.

## Contributors 👥

- Majid Saleh Al-Raimi
- Mahmoud Sahal Noor
- Alwaleed Ahmad Al-Qurashi
- Rashid Sami Al-Binali
- Abdulrahman Sami Al-Juhani
- Mashari Adel Al-Jiban

We acknowledge the hard work and dedication of our team members in developing this project.

## License 📜

This project is under the [MIT License](LICENSE.md). Feel free to explore, modify, and distribute as per the license terms.

## Acknowledgments 🙏

Special thanks to our instructors and peers in the NLP course for their invaluable guidance and support in bringing this project to fruition.