Vertex AI offers wide ranging support for embedding text, images and videos. Obiguard provides a standardized interface for embedding multiple modalities.

Embedding Text

Python
from obiguard import Obiguard

client = Obiguard(
  obiguard_api_key="sk-obg***",  # Your Obiguard API key
)

embeddings = client.embeddings.create(
  model="textembedding-gecko@003",
  input_type="classification",
  input="The food was delicious and the waiter...",
  # input=["text to embed", "more text to embed"], # if you would like to embed multiple texts
)

Embeddings Images

Python
from obiguard import Obiguard

client = Obiguard(
  obiguard_api_key="sk-obg***",  # Your Obiguard API key
)

embeddings = client.embeddings.create(
  model="multimodalembedding@001",
  input=[
    {
      "text": "this is the caption of the image",
      "image": {
        "base64": "UklGRkacAABXRUJQVlA4IDqcAACQggKdASqpAn8B.....",
        # "url": "gcs://..." # if you want to use a url
      }
    }
  ]
)

Embeddings Videos

Python
from obiguard import Obiguard

client = Obiguard(
  obiguard_api_key="sk-obg***",  # Your Obiguard API key
)

embeddings = client.embeddings.create(
  model="multimodalembedding@001",
  input=[
    {
      "text": "this is the caption of the video",
      "video": {
        "base64": "UklGRkacAABXRUJQVlA4IDqcAACQggKdASqpAn8B.....",
        "start_offset": 0,
        "end_offset": 10,
        "interval": 5,
        # "url": "gcs://..." # if you want to use a url
      }
    }
  ]
)