GeoWeaver Chatbot is a React-based chatbot application designed to assist with wildfire forecasting. The chatbot uses a pre-trained language model fine-tuned with wildfire data to generate scientifically supported answers. The project leverages the DeepChat library for the chat interface and integrates with a backend API for question answering.
- Responsive chat interface with Bootstrap
- Sidebar for message history
- Integration with a backend API for wildfire forecasting
- Full-screen layout similar to ChatGPT
-
Clone the repository:
git clone https://github.com/earth-artificial-intelligence/geoweaver-chatbot.git cd geoweaver-chatbot
-
Install dependencies:
cd frontend
npm install
cd ../backend
pip install -r requirements.txt
- Unix-based systems (macOS, Linux):
export NODE_OPTIONS=--openssl-legacy-provider
- Windows:
set NODE_OPTIONS=--openssl-legacy-provider
npm start
Open your browser and navigate to http://localhost:3000.
geoweaver-chatbot/
├── backend/ # Backend server (Flask)
│ ├── app.py # Main backend script
│ ├── requirements.txt # Backend dependencies
├── frontend/ # Frontend application (React)
│ ├── public/
│ │ ├── index.html
│ ├── src/
│ │ ├── components/
│ │ │ ├── Chatbot.js
│ │ │ ├── Chatbot.css
│ │ ├── App.js
│ │ ├── index.js
│ ├── package.json
│ ├── .env
├── README.md
We welcome contributions from the community! Follow these steps to set up your local development environment and start contributing:
Fork the repository: Click the "Fork" button on the upper right corner of the repository page.
- Clone your fork:
git clone https://github.com/yourusername/geoweaver-chatbot.git
cd geoweaver-chatbot
- Create a new branch:
git checkout -b feature/your-feature-name
- Make your changes:
Ensure your code follows the project's coding standards.
Update documentation as needed.
- Commit your changes:
git add .
git commit -m "Add your descriptive commit message"
- Push to your fork:
git push origin feature/your-feature-name
- Create a Pull Request: Go to the repository in your GitHub account and click the "New Pull Request" button.
This project is licensed under the Apache 2.0 License. See the LICENSE file for more details.