Takes a request, makes a request
k8s | ||
svm_prefilter_service | ||
.dockerignore | ||
.drone.yml | ||
.gitignore | ||
Dockerfile | ||
README.md | ||
requirements-dev.txt | ||
requirements.txt | ||
uwsgi.ini |
SVM Prefilter Service
The purpose of this service is to bring the SVM Ai from the Birbox to the Edge.
This service has the same interface as the input service. Upon receiving a request it enqueues it, runst the Ai prediction, if a bird chirp sound is predicted then this service forwards the request to the original input service in the cloud.
This service needs to communicate with the input service and the model service. And optionally it can report its queue length to birb-latency-collector.
Configuration:
This service can be configured trough envvars:
- SECRET_KEY: Flask secret key. See https://flask.palletsprojects.com/en/2.0.x/config/#SECRET_KEY
- SENTRY_DSN: Sentry DSN. See https://docs.sentry.io/product/sentry-basics/dsn-explainer/
- RELEASE_ID: Release ID for Sentry.
- RELEASEMODE: Release mode for sentry.
- MODEL_INFO_URL: URL of the model service endpoint when the information about the used SVM model can be fetched (e.g.:
https://birb.k8s.kmlabz.com/model/svm/$default
) - INPUT_SERVICE_URL: URL of the real input service (e.g.:
https://birb.k8s.kmlabz.com/input
) - REPORT_URL: URL of the birb-latency-collector service to report queue length to (e.g.:
http://192.168.110.100:30420/report/site
) - REPORT_INTERVAL: Seconds between reporting queue length to birb-latency-collector.