gemini_multipdf_chat

gemini_multipdf_chat

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.

Stars: 102

Visit
 screenshot

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. It features PDF upload, text extraction, conversational AI using the Gemini model, and a chat interface. Users can deploy the application locally or to the cloud, and the project structure includes main application script, environment variable file, requirements, and documentation. Dependencies include PyPDF2, langchain, Streamlit, google.generativeai, and dotenv.

README:

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/

https://github.com/kaifcoder/gemini_multipdf_chat/assets/57701861/f6a841af-a92d-4e54-a4fd-4a52117e17f6

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

For Tasks:

Click tags to check more tools for each tasks

For Jobs:

Alternative AI tools for gemini_multipdf_chat

Similar Open Source Tools

For similar tasks

For similar jobs