

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# TwelveLabs Marengo Embed 3.0
<a name="model-parameters-marengo-3"></a>

Le TwelveLabs Marengo Embed 3.0 modèle génère des intégrations améliorées à partir d'entrées vidéo, texte, audio ou image. Cette dernière version offre des performances et une précision améliorées pour la recherche de similarités, le clustering et d'autres tâches d'apprentissage automatique.
+ Fournisseur — TwelveLabs
+ ID du modèle : twelvelabs.marengo-embed-3-0-v1:0

Marengo Embed 3.0 apporte plusieurs améliorations clés :
+ **Capacité de traitement vidéo étendue** : traitez jusqu'à 4 heures de contenu vidéo et audio. Les fichiers peuvent atteindre 6 Go, soit le double de la capacité des versions précédentes. Il est donc idéal pour analyser des événements sportifs complets, des vidéos de formation étendues et des productions cinématographiques complètes.
+ **Analyse sportive améliorée** — Le modèle apporte des améliorations significatives. Il permet de mieux comprendre la dynamique du jeu, les mouvements des joueurs et la détection des événements.
+ **Support multilingue mondial** — Capacités linguistiques étendues de 12 à 36 langues. Cela permet aux organisations internationales de créer des systèmes de recherche et de récupération unifiés qui fonctionnent parfaitement dans divers marchés et régions.
+ **Précision de recherche multimodale** : combinez des images et du texte descriptif dans une seule demande d'intégration. Cela combine similarité visuelle et compréhension sémantique pour fournir des résultats de recherche plus précis et contextuellement pertinents.
+ **Dimension d'intégration réduite** : réduction de 1024 à 512, ce qui peut contribuer à réduire les coûts de stockage.

Le modèle TwelveLabs Marengo Embed 3.0 prend en charge les opérations d’exécution d’Amazon Bedrock décrites dans le tableau suivant. 
+ Pour plus d’informations sur les cas d’utilisation, pour les différentes méthodes d’API, consultez [En savoir plus sur les cas d’utilisation des différentes méthodes d’inférence de modèleDifférentes méthodes d'inférence](inference-methods.md).
+ Pour plus d’informations sur les types de modèles, consultez [Fonctionnement de l’inférence dans Amazon BedrockFonctionnement de l’inférence](inference-how.md).
  + Pour obtenir la liste des modèles IDs et voir les modèles et AWS les TwelveLabs Marengo Embed 3.0 régions pris en charge, recherchez le modèle dans le tableau à l'adresse[Modèles de fondation pris en charge dans Amazon Bedrock](models-supported.md).
  + Pour une liste complète des profils d'inférence IDs, voir[Régions et modèles pris en charge pour les profils d'inférence](inference-profiles-support.md). L'ID du profil d'inférence est basé sur la AWS région.


****  

| Opération API | Types de nœuds pris en charge | Modalités d’entrée | Modalités de sortie | 
| --- | --- | --- | --- | 
|  InvokeModel  |  USA Est (Virginie du Nord) — [Modèles de base](models-supported.md) et profils [d'inférence](inference-profiles-support.md) Europe (Irlande) [— Profils d'inférence](inference-profiles-support.md) Asie-Pacifique (Séoul) - [Modèles de base](models-supported.md)  |  Texte Image **Remarque :** Le texte et l'image entrelacés sont également pris en charge.  |  Vectorisation  | 
| StartAsyncInvoke | [Modèles de base](models-supported.md) |  Vidéo Audio Image Texte **Remarque :** Le texte et l'image entrelacés sont également pris en charge.  |  Vectorisation  | 

**Note**  
Utilisez `InvokeModel` pour générer des vectorisations pour une requête de recherche. Utilisez `StartAsyncInvoke` pour générer des vectorisations pour des actifs à grande échelle.

Les quotas suivants s’appliquent à l’entrée :


****  

| Modalité d’entrée | Maximum | 
| --- | --- | 
| Texte | 500 jetons | 
| Image | 5 Mo par image | 
| Vidéo (S3) | 6 Go, durée de 4 heures | 
| Audio (S3) | 6 Go, durée de 4 heures | 

**Note**  
Si vous définissez l’audio ou la vidéo en ligne à l’aide du codage Base64, assurez-vous que les données utiles du corps de la demande ne dépassent pas le quota d’invocation du modèle Amazon Bedrock de 25 Mo.

**Topics**
+ [Paramètres de demande TwelveLabs Marengo Embed 3.0](#model-parameters-marengo-3-async-request)
+ [Réponse de TwelveLabs Marengo Embed 3.0](#model-parameters-marengo-3-response)
+ [Exemples de code pour l’TwelveLabs Marengo Embed 3.0](#model-parameters-marengo-3-examples)

## Paramètres de demande TwelveLabs Marengo Embed 3.0
<a name="model-parameters-marengo-3-async-request"></a>

Lorsque vous faites une demande, le champ dans lequel l’entrée spécifique au modèle est spécifiée dépend du fonctionnement de l’API :
+ [InvokeModel](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_InvokeModel.html)— Dans la demande`body`.
+ [StartAsyncInvoke](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_StartAsyncInvoke.html)— Dans le `modelInput` champ du corps de la demande.

Le format de l’entrée du modèle dépend de la modalité d’entrée :

------
#### [ Text ]

```
{
    "inputType": "text",
    "text": {
        "inputText": "string"
    }
}
```

------
#### [ Image ]

```
{
  "inputType": "image",
  "image": {
    "mediaSource": {
      "base64String": "base64-encoded string", // base64String OR s3Location, exactly one
      "s3Location": {
        "uri": "s3://amzn-s3-demo-bucket/folder/dog.jpg",
        "bucketOwner": "123456789012"
      }
    }
  }
}
```

------
#### [ Text & image ]

```
{
  "inputType": "text_image",
  "text_image": {
    "inputText": "man walking a dog",
    "mediaSource": {
      "base64String": "base64-encoded string", // base64String OR s3Location, exactly one
      "s3Location": {
        "uri": "s3://amzn-s3-demo-bucket/folder/dog.jpg",
        "bucketOwner": "123456789012"
      }
    }
  }
}
```

------
#### [ Audio ]

```
{
  "inputType": "audio",
  "audio": {
    "mediaSource": {
      "base64String": "base64-encoded string", // base64String OR s3Location, exactly one
      "s3Location": {
        "uri": "s3://amzn-s3-demo-bucket/audio/a.wav",
        "bucketOwner": "123456789012"
      }
    },
    "startSec": 0,
    "endSec": 6,
    "segmentation": {
      "method": "fixed", 
      "fixed": {
        "durationSec": 6
      }
    },
    "embeddingOption": [
      "audio",
      "transcription"
    ], // optional, default=both
    "embeddingScope": [
      "clip",
      "asset"
    ] // optional, one or both
  }
}
```

------
#### [ Video ]

```
{
  "inputType": "video",
  "video": {
    "mediaSource": {
      "base64String": "base64-encoded string", // base64String OR s3Location, exactly one
      "s3Location": {
        "uri": "s3://amzn-s3-demo-bucket/video/clip.mp4",
        "bucketOwner": "123456789012"
      }
    },
    "startSec": 0,
    "endSec": 6,
    "segmentation": {
      "method": "dynamic", // dynamic OR fixed, exactly one
      "dynamic": {
        "minDurationSec": 4
      }
      "method": "fixed",
      "fixed": {
        "durationSec": 6
      }
    },
    "embeddingOption": [
      "visual",
      "audio", 
      "transcription"
    ], // optional, default=all
    "embeddingScope": [
      "clip",
      "asset"
    ] // optional, one or both
  },
  "inferenceId": "some inference id"
}
```

------

Développez les sections suivantes pour obtenir des détails sur les paramètres d’entrée :

### inputType
<a name="model-parameters-marengo-3-inputType"></a>

Modalité de la vectorisation.
+ **Type** : chaîne
+ **Obligatoire** : oui
+ **Valeurs valides** : `text` \$1 `image` \$1 `text_image` \$1 `audio` \$1 `video`

### inputText
<a name="model-parameters-marengo-3-inputText"></a>

Texte à vectoriser.
+ **Type** : chaîne
+ **Obligatoire :** oui (pour les types d’entrée compatibles)
+ **Types d’entrée compatibles :** texte

### mediaSource
<a name="model-parameters-marengo-3-mediaSource"></a>

Contient des informations concernant la source du média.
+ **Type :** objet
+ **Obligatoire :** oui (si le type est compatible)
+ **Types d’entrées compatibles :** image, vidéo, audio

Le format de l’objet `mediaSource` dans le corps de la demande varie selon que le média est défini comme une chaîne codée en Base64 ou comme un emplacement S3.
+ **Chaîne codée en Base64**

  ```
  {
      "mediaSource": {
          "base64String": "base64-encoded string"
      }
  }
  ```
  + `base64String` : chaîne codée en Base64 pour le média.
+ **Emplacement S3** — Spécifiez l'URI S3 et le propriétaire du compartiment.

  ```
  {
      "s3Location": {
          "uri": "string",
          "bucketOwner": "string"
      }
  }
  ```
  + `uri` : URI S3 contenant le média.
  + `bucketOwner`— L'ID de AWS compte du propriétaire du compartiment S3.

### embeddingOption
<a name="model-parameters-marengo-3-embeddingOption"></a>

Spécifie les types de vectorisations à extraire.
+ **Type** : liste
+ **Obligatoire** : non
+ **Valeurs valides pour les membres de la liste :**
  + `visual`— Intégrations visuelles issues de la vidéo.
  + `audio` : vectorisation de l’audio dans la vidéo.
  + `transcription`— Insertions du texte transcrit.
+ **Valeur par défaut :**
  + Vidéo : ["visuel », « audio », « transcription"]
  + Audio : ["audio », « transcription"]
+ **Types d’entrées compatibles :** vidéo, audio

### Champ d'intégration
<a name="model-parameters-marengo-3-embeddingScope"></a>

Spécifie l'étendue des intégrations à récupérer.
+ **Type** : liste
+ **Obligatoire** : non
+ **Valeurs valides pour les membres de la liste :**
  + `clip`— Renvoie les intégrations pour chaque clip.
  + `asset`— Renvoie les intégrations pour l'ensemble de l'actif.
+ **Types d’entrées compatibles :** vidéo, audio

### startSec
<a name="model-parameters-marengo-3-startSec"></a>

Point temporel du clip, en secondes, auquel le traitement doit commencer.
+ **Type** : double
+ **Obligatoire** : non
+ **Valeur minimale** : 0
+ **Valeur par défaut :** 0
+ **Types d’entrées compatibles :** vidéo, audio

### endSec
<a name="model-parameters-marengo-3-endSec"></a>

Moment en secondes auquel le traitement doit prendre fin.
+ **Type** : double
+ **Obligatoire** : non
+ **Valeur minimale :** StartSec \$1 longueur du segment
+ **Valeur maximale :** Durée du média
+ **Valeur par défaut :** durée du média
+ **Types d’entrées compatibles :** vidéo, audio

### segmentation
<a name="model-parameters-marengo-3-segmentation"></a>

Définit la manière dont le média est divisé en segments pour l'intégration de la génération.
+ **Type :** objet
+ **Obligatoire** : non
+ **Types d’entrées compatibles :** vidéo, audio

L'objet de segmentation contient un `method` champ et des paramètres spécifiques à la méthode :
+ `method`— La méthode de segmentation à utiliser. Valeurs valides : `dynamic` \$1 `fixed`
+ `dynamic`— Pour les vidéos, utilise la détection des limites de prise de vue pour diviser le contenu de manière dynamique. Contient :
  + `minDurationSec`— Durée minimale de chaque segment en secondes. Type : entier. Gamme : 1 à 5. Par défaut : 4.
+ `fixed`— Divise le contenu en segments de durée égale. Contient :
  + `durationSec`— Durée de chaque segment en secondes. Type : entier. Gamme : 1 à 10. Par défaut : 6.

**Comportement par défaut :**
+ Vidéo : utilise la segmentation dynamique avec détection des limites de prise de vue.
+ Audio : utilise une segmentation fixe. Le contenu est divisé le plus équitablement possible avec des segments de près de 10 secondes.

### ID d'inférence
<a name="model-parameters-marengo-3-inferenceId"></a>

Identifiant unique pour la demande d'inférence.
+ **Type** : chaîne
+ **Obligatoire** : non

## Réponse de TwelveLabs Marengo Embed 3.0
<a name="model-parameters-marengo-3-response"></a>

L’emplacement des vectorisations de sortie et des métadonnées associées dépend de la méthode d’invocation :
+ InvokeModel — Dans le corps de réponse.
+ StartAsyncInvoke — Dans le compartiment S3 défini dans`s3OutputDataConfig`, une fois la tâche d'invocation asynchrone terminée.

S’il existe plusieurs vecteurs, le résultat est une liste d’objets, chacun contenant un vecteur et les métadonnées associées.

Le format du vecteur de vectorisation en sortie est le suivant :

```
{
  "data": {
    "embedding": [
    0.111, 0.234, ...
    ],
    "embeddingOption": ["visual", "audio", "transcription" (for video input) | "audio", "transcription" (for audio input)],
    "embeddingScope": ["asset" | "clip"],
    "startSec": 0,
    "endSec": 4.2
  }
}
```

Les intégrations sont renvoyées sous forme de tableau de flottants.

L'endroit où cette réponse s'affiche dépend de la méthode d'API que vous avez utilisée :
+ InvokeModel — Apparaît dans le corps de la réponse.
+ StartAsyncInvoke — Apparaît à l'emplacement S3 que vous avez spécifié dans la demande. La réponse renvoie un`invocationArn`. Vous pouvez l'utiliser pour obtenir des métadonnées relatives à l'appel asynchrone. Cela inclut le statut et l'emplacement S3 où les résultats sont écrits.

Développez les sections suivantes pour obtenir des détails sur les paramètres de réponse :

### embedding
<a name="model-parameters-marengo-3-embedding"></a>

Vectorisation : représentation vectorielle de l’entrée.
+ **Type** : liste de doubles

### embeddingOption
<a name="model-parameters-marengo-3-embeddingOption-response"></a>

Type des vectorisations.
+ **Type** : chaîne
+ **Valeurs possibles :**
  + visual — Intégrations visuelles issues de la vidéo.
  + audio — Incorporation de l'audio dans la vidéo.
  + transcription — Incorporation du texte transcrit.
+ **Types d’entrées compatibles :** vidéo, audio

### Champ d'intégration
<a name="model-parameters-marengo-3-embeddingScope"></a>

Spécifie l'étendue des intégrations à récupérer.
+ **Type** : chaîne

Vous pouvez inclure une ou plusieurs des valeurs suivantes :
+ clip : renvoie les intégrations pour chaque clip.
+ actif : renvoie les intégrations pour l'ensemble de l'actif.

### startSec
<a name="model-parameters-marengo-3-startSec-response"></a>

Décalage de départ du clip.
+ **Type** : double
+ **Types d’entrées compatibles :** vidéo, audio

### endSec
<a name="model-parameters-marengo-3-endSec-response"></a>

Le décalage final du clip. Non applicable aux intégrations de texte, d'image et de text\$1image.
+ **Type** : double
+ **Types d’entrées compatibles :** vidéo, audio

## Exemples de code pour l’TwelveLabs Marengo Embed 3.0
<a name="model-parameters-marengo-3-examples"></a>

Cette section explique comment utiliser le modèle TwelveLabs Marengo Embed 3.0 avec différents types d’entrées à l’aide de Python. Les exemples montrent comment définir une entrée spécifique au modèle et exécuter des invocations de modèle.

**Note**  
InvokeModel prend en charge le texte, l'image et le texte avec entrée d'image entrelacée. Pour les entrées vidéo et audio, utilisez StartAsyncInvoke.

Composez votre code en procédant comme suit :

**1. Définir une entrée spécifique au modèle**  
Définissez l’entrée spécifique au modèle en fonction de votre type d’entrée :

------
#### [ Text ]

```
# Create the model-specific input
model_id = "twelvelabs.marengo-embed-3-0-v1:0"
# Replace the us prefix depending on your region
inference_profile_id = "us.twelvelabs.marengo-embed-3-0-v1:0"

model_input = {
    "inputType": "text",
    "text": {
        "inputText": "man walking a dog"
    }
}
```

------
#### [ Image ]

```
# Create the model-specific input
model_id = "twelvelabs.marengo-embed-3-0-v1:0"
# Replace the us prefix depending on your region
inference_profile_id = "us.twelvelabs.marengo-embed-3-0-v1:0"

model_input = {
    "inputType": "image",
    "image": {
        "mediaSource": {
            "s3Location": {
                "uri": "s3://amzn-s3-demo-bucket/my_image.png",
                "bucketOwner": "123456789012"
            }
        }
    }
}
```

------
#### [ Text & image ]

```
# Create the model-specific input
model_id = "twelvelabs.marengo-embed-3-0-v1:0"
# Replace the us prefix depending on your region
inference_profile_id = "us.twelvelabs.marengo-embed-3-0-v1:0"

model_input = {
    "inputType": "text_image",
    "text_image": {
        "inputText": "man walking a dog",
        "mediaSource": {
            "s3Location": {
                "uri": "s3://amzn-s3-demo-bucket/my_image.jpg",
                "bucketOwner": "123456789012"
            }
        }
    }
}
```

------
#### [ Audio ]

```
# Create the model-specific input
model_id = "twelvelabs.marengo-embed-3-0-v1:0"
# Replace the us prefix depending on your region
inference_profile_id = "us.twelvelabs.marengo-embed-3-0-v1:0"
 
model_input = {
    "inputType": "audio",
    "audio": {
        "mediaSource": {  
            "s3Location": { 
                "uri": "s3://amzn-s3-demo-bucket/my-audio.wav", 
                "bucketOwner": "123456789012" 
            }
        },
        "startSec": 0,
        "endSec": 5,
        "segmentation": {
            "method": "fixed",
            "fixed": {
                "durationSec": 5
            }
        },
        "embeddingScope": ["clip", "asset"],
        "embeddingOption": ["audio"]
    }
}
```

------
#### [ Video ]

```
# Create the model-specific input
model_id = "twelvelabs.marengo-embed-3-0-v1:0"
# Replace the us prefix depending on your region
inference_profile_id = "us.twelvelabs.marengo-embed-3-0-v1:0"
 
model_input = {
    "inputType": "video",
    "video": {
        "mediaSource": {
            "s3Location": {
                "uri": "s3://amzn-s3-demo-bucket/my-video.mp4",
                "bucketOwner": "123456789012"
            }
        },
        "startSec": 10,
        "endSec": 20,
        "segmentation": {
            "method": "fixed",
            "fixed": {
                "durationSec": 5
            }
        },
        "embeddingOption": [
            "visual", 
            "audio"
        ],
        "embeddingScope": [
            "clip",
            "asset"
        ]
    }
}
```

------

**2. Exécuter l’invocation du modèle à l’aide de l’entrée du modèle**  
Ajoutez ensuite le fragment de code correspondant à la méthode d’invocation du modèle que vous avez choisie.

------
#### [ InvokeModel ]

```
# Run model invocation with InvokeModel
import boto3
import json

# Initialize the Bedrock Runtime client
client = boto3.client('bedrock-runtime')

# Make the request
response = client.invoke_model(
    modelId=inference_profile_id,
    body=json.dumps(model_input)
)

# Print the response body
response_body = json.loads(response['body'].read().decode('utf-8'))

print(response_body)
```

------
#### [ StartAsyncInvoke ]

```
# Run model invocation asynchronously
import boto3
import json

# Initalize the Bedrock Runtime client.
client = boto3.client("bedrock-runtime")

try:
    # Start the asynchronous job
    invocation = client.start_async_invoke(
        modelId=model_id,
        modelInput=model_input,
        outputDataConfig={
            "s3OutputDataConfig": {
                "s3Uri": "s3://amzn-s3-demo-bucket"
            }
        }
    )

    # Print the response JSON
    print("Response:")
    print(json.dumps(invocation, indent=2, default=str))

except Exception as e:
    # Implement error handling here.
    message = e.response["Error"]["Message"]
    print(f"Error: {message}")
```

------