Skip to content

RedManaProperties/Comms911DocTools

Repository files navigation

Comms911DocTools

Based on Gemini PDF Chatbot by kaifcoder, Comms911DocTools is a Streamlit-based application that allows users to build 911 center policy documents. The tool extracts information from uploaded PDF files and uses user input to build policy documents. https://rmp-comms911doctools.streamlit.app/

Special thanks to kaifcoder who developed the original Gemini chatbot these tools are based on.

Features

  • PDF Upload: Users can upload multiple PDF files.
  • Text Extraction: Extracts text from uploaded PDF files.
  • Conversational AI: Uses the Gemini AI model to build policy documents.

Getting Started

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

  • Obtain a Google API key

    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/Comms911DocTools.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
  • google.genai
  • dotenv

Acknowledgments

About

A Streamlit-based application powered by Gemini for 911 center policy and document creation.

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 5