This repo containerizes BLIP into a serving container using fastapi.
The model license can be found here.
Features:
- Image captioning
- Open-ended visual question answering
- Multimodal / unimodal feature extraction
- Image-text matching
-
Clone repo if you haven't. Navigate to the
blip
folder. -
Build container. Don't forget to change the
project_id
to yours.docker build . -t gcr.io/{project_id}/blip:latest
-
Run container. No GPU is needed for this model.
docker run --rm -p 80:8080 -e AIP_HEALTH_ROUTE=/health -e AIP_HTTP_PORT=8080 -e AIP_PREDICT_ROUTE=/predict gcr.io/{project_id}/blip:latest
-
Make predictions
python test_container.py
You'll need to enable Vertex AI and have authenticated with a service account that has the Vertex AI admin or editor role.
-
Push the image
gcloud auth configure-docker docker build . -t gcr.io/{project_id}/blip:latest docker push gcr.io/{project_id}/blip:latest
-
Deploy in Vertex AI Endpoints.
python ../gcp_deploy.py --image-uri gcr.io/<project_id>/blip:latest --accelerator-count 0 --model-name blip --endpoint-name blip-endpoint --endpoint-deployed-name blip-deployed-name
-
Test the endpoint.
python generate_request_vertex.py