Multi2vec Bind module
🎯 Overview
This is a multi modal inference container it uses Meta's open source ImageBind implementation as base for this module.
📦 Requirements
The best way to start working with it would be to first to create a virtual env, activate it and adjust PYTHONPATH
environment variable to have the modules to be visible to python.
- Create a new virtual environment
python3 -m venv .venv
source .venv/bin/activate
export PYTHONPATH="${PYTHONPATH}:${PWD}:${PWD}/ImageBind"
- Install all dependencies specified in the
requirements.txt
file
pip3 install -r requirements.txt
- Install additional dependencies needed for running tests
pip3 install -r requirements-test.txt
- Download the ImageBind model locally
python3 download.py
- Run the inference server
uvicorn app:app --host 0.0.0.0 --port 8000
💡 Testing
For sanity checks that to check that all works properly you can run our smoke tests against your server
python3 smoke_tests.py
🐳 Docker support
In order to build locally a docker image one can run this command in project's root folder
LOCAL_REPO="local-bind" ./cicd/build.sh
In order to test the built docker image run this command in project's root folder
LOCAL_REPO="local-bind" ./cicd/test.sh