gemini_multipdf_chat
gemini_multipdf_chat copied to clipboard
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 detail...
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/
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
.envfile.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.
-
Clone the Repository:
git clone https://github.com/your-username/gemini-pdf-chatbot.git -
Install Dependencies:
pip install -r requirements.txt -
Set up Google API Key:
- Obtain a Google API key and set it in the
.envfile.
GOOGLE_API_KEY=your_api_key_here - Obtain a Google API key and set it in the
-
Run the Application:
streamlit run main.py -
Upload PDFs:
- Use the sidebar to upload PDF files.
- Click on "Submit & Process" to extract text and generate embeddings.
-
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
- Google Gemini: For providing the underlying language model.
- Streamlit: For the user interface framework.