Skip to content

Gemini PDF Chatbot: A Streamlit-based application powered by the Gemini conversational AI model. Upload multiple PDF files, extract text, and engage in natural language conversations to receive detailed responses based on the document context. Enhance your interaction with PDF documents using this intuitive and intelligent chatbot.

kaifcoder/gemini_multipdf_chat

Repository files navigation

Gemini PDF Chatbot

Gemini PDF Chatbot is a Streamlit-based application that allows users to chat with a conversational AI model trained on PDF documents. The chatbot extracts information from uploaded PDF files and answers user questions based on the provided context. https://gmultichat.streamlit.app/

gemini.multidocs.chat.demo.mp4

Features

  • PDF Upload: Users can upload multiple PDF files.
  • Text Extraction: Extracts text from uploaded PDF files.
  • Conversational AI: Uses the Gemini conversational AI model to answer user questions.
  • Chat Interface: Provides a chat interface to interact with the chatbot.

Getting Started

If you have docker installed, you can run the application using the following command:

  • Obtain a Google API key and set it in the .env file.

    GOOGLE_API_KEY=your_api_key_here
docker compose up --build

Your application will be available at http://localhost:8501.

Deploying your application to the cloud

First, build your image, e.g.: docker build -t myapp .. If your cloud uses a different CPU architecture than your development machine (e.g., you are on a Mac M1 and your cloud provider is amd64), you'll want to build the image for that platform, e.g.: docker build --platform=linux/amd64 -t myapp ..

Then, push it to your registry, e.g. docker push myregistry.com/myapp.

Consult Docker's getting started docs for more detail on building and pushing.

References

Local Development

Follow these instructions to set up and run this project on your local machine.

Note: This project requires Python 3.10 or higher.

  1. Clone the Repository:

    git clone https://github.com/your-username/gemini-pdf-chatbot.git
  2. Install Dependencies:

    pip install -r requirements.txt
  3. Set up Google API Key:

    • Obtain a Google API key and set it in the .env file.
    GOOGLE_API_KEY=your_api_key_here
  4. Run the Application:

    streamlit run main.py
  5. Upload PDFs:

    • Use the sidebar to upload PDF files.
    • Click on "Submit & Process" to extract text and generate embeddings.
  6. Chat Interface:

    • Chat with the AI in the main interface.

Project Structure

  • app.py: Main application script.
  • .env: file which will contain your environment variable.
  • requirements.txt: Python packages required for working of the app.
  • README.md: Project documentation.

Dependencies

  • PyPDF2
  • langchain
  • Streamlit
  • google.generativeai
  • dotenv

Acknowledgments

About

Gemini PDF Chatbot: A Streamlit-based application powered by the Gemini conversational AI model. Upload multiple PDF files, extract text, and engage in natural language conversations to receive detailed responses based on the document context. Enhance your interaction with PDF documents using this intuitive and intelligent chatbot.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published