Bedrock supports embedding text and images through Amazon Titan and Cohere models. Obiguard provides a standardized interface for embedding multiple modalities.

Bedrock Titan

Embedding Text

Python
from obiguard import Obiguard

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

embeddings = client.embeddings.create(
  model="amazon.titan-embed-text-v2:0",
  input="Hello this is a test",
  # normalize=False # if you would like to disable normalization
  # dimensions=1024, # embedding dimensions
  # encoding_format="float", # embedding format
)

Embeddings Images

from obiguard import Obiguard

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

embeddings = client.embeddings.create(
  model="amazon.titan-embed-image-v1",
  dimensions=256,
  input=[
    {
      "text": "this is the caption of the image",
      "image": {
        "base64": "UklGRkacAABXRUJQVlA4IDqcAACQggKdASqpAn8B....."
      }
    }
  ]
)

Cohere

Embedding Text

Python
from obiguard import Obiguard

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

embeddings = client.embeddings.create(
  model="cohere.embed-english-v3",
  input=["Hello this is a test", "skibidi"],
  input_type="classification"
)

Embeddings Images

Python
from obiguard import Obiguard

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

embeddings = client.embeddings.create(
  model="cohere.embed-english-v3",
  input_type="image",
  dimensions=256,
  input=[
    {
      "image": {
        "base64": "Data:image/webp;base64,UklGRkacAABXRUJQVlA4IDqcAACQggKdASqpAn8B....."
      }
    }
  ]
)