DeepSight-AI monitors various datasources for ocean-specific risks to ships hosting aircraft landing pads and employs generative AI to present risks and alerts to operators.
-
Data Collector
- Scrapes various websites collects and hashes data
-
Data Processor
- Orchestrates data flow between all other services
- Stores data, user input, and llm responses in a postgres relational db
- validates data triggers appropriate modules to ensure data is not out of date
-
FastAPI
- Layer between our backend and the UI
-
Rag App
- Generates response based on user request and stored website data
-
React UI
- Allows user to provide a prompt to the system
- Generates reports of user prompts and responses
- Containers of modules, allows for standardized deployment of microservices
-
Useful docker commands. These commands all need to be run from the project root as they start with the Docker-Compose.yml file.
docker-compose --profile <profile> up- brings all services that have listed in their profile list of the docker-compose file
docker-compose --profile <profile> stop- stops all running containers that have listed in ther profile list of the docker-compose file
docker-compose --profile <profile> down- removes all images of services that have listed in ther profile list of the docker-compose file
docker-compose --profile <profile> build- builds a new image based off of the dockerfile in each service with that profile
- This needs to be done when code changes, if you add a new import (pip install something new), or make changes to the dockerfile itself
docker system prune -a --volumes- This will delete all* unused images and volumes. (It will try to...you may need to double check since there are often volumes left 'hanging' after prune)
-
New profiles can be created, or unused profiles removed, just be sure to check the
depends onblock in the docker-compose file to ensure a services dependencies are included. -
While I would recommend using the compose file with profiles from above you can also build an image directly from the folder that contains the dockerfile
- There may be incompatabilities as required services won't automatically start if you do this, you will need to make sure all required services are available and running.
- You may also need environment variables that are currently being passed through the docker-compose file.
docker build,docker up, etc from the folder that contains the dockerfile you're trying to build and run
-
- RabbitMQ
- facilitates publisher/subscriber pattern communication between modules.
