Skip to content

InsightChain is a user-friendly application that functions as a personal chatbot, allowing users to chat with the model for daily tasks and extract information from uploaded PDF documents. It utilizes the ChatOllama model, specifically Llama 3.2, to provide accurate information.

License

Notifications You must be signed in to change notification settings

mrinmoycyber/InsightChain

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

12 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

InsightChain 🧠

Project Goal 🎯

The goal of the InsightChain project is to create an intuitive and interactive chatbot application that enables users to engage in natural language conversations while extracting and processing information from uploaded PDF documents. By leveraging the ChatOllama model (Llama 3.2), InsightChain aims to provide accurate and contextually relevant responses based solely on the content of the PDFs, enhancing user experience and facilitating efficient information retrieval for everyday tasks.

Features ✨

  • User-Friendly Interface πŸ–₯️: Intuitive design that allows users to easily interact with the application through a web interface powered by Streamlit.
  • PDF Upload and Processing πŸ“„: Users can upload multiple PDF documents, which the application processes to extract text content for querying.
  • Conversational AI πŸ’¬: Utilizes the ChatOllama model (Llama 3.2) to provide accurate responses based on the content extracted from uploaded PDFs.
  • Contextual Responses πŸ“š: Ensures that answers to user queries are derived directly from the uploaded documents, minimizing the risk of hallucination.
  • Real-Time Interaction ⏱️: Engage in a back-and-forth conversation, asking questions related to the uploaded PDFs or general topics.
  • Chat History πŸ—‚οΈ: Maintains a history of the conversation, allowing users to review previous interactions and responses.
  • Text Chunking βœ‚οΈ: Implements intelligent text chunking to optimize the processing and retrieval of information from lengthy documents.
  • Embedding πŸ”: Leverages embeddings for efficient searching and retrieval of relevant information from the vector store.
  • Session State Management πŸ”„: Keeps track of the conversation state, uploaded documents, and chat history to provide a seamless user experience.

Project Structure πŸ“

β”œβ”€β”€ app_logic.py
β”œβ”€β”€ app_ui.py 
β”œβ”€β”€ requirements.txt
β”œβ”€β”€ LICENSE
└── README.md

Video Output πŸŽ₯

Please click on the link to watch the demo (the file is more than 100 MB, so I can't upload it directly here) - https://drive.google.com/file/d/1zZ1nDZqV7mFTZLLPFPOv3ITJ0qftAcCX/view?usp=sharing

demo

Requirements πŸ“¦

To run this project, ensure you have the following dependencies installed:

  • streamlit
  • PyPDF2
  • langchain
  • langchain-ollama
  • faiss-cpu
  • transformers
  • torch

You can install the required packages using pip:

pip install streamlit PyPDF2 langchain langchain-ollama huggingface-hub

Model Setup Before running the application, you need to install the Ollama CLI and download the Llama model:

  • Install the Ollama CLI by following the instructions from the Ollama website.
  • After installing the CLI, download the Llama model by running:
ollama pull llama3.2

Usage πŸš€

Clone the repository:

git clone https://github.com/mrinmoycyber/InsightChain.git

Navigate to the project directory:

cd InsightChain

Run the Streamlit app:

streamlit run app_ui.py

About

InsightChain is a user-friendly application that functions as a personal chatbot, allowing users to chat with the model for daily tasks and extract information from uploaded PDF documents. It utilizes the ChatOllama model, specifically Llama 3.2, to provide accurate information.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages