

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

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

Das Modell TwelveLabs Marengo Embed 2.7 generiert Einbettungen aus Video-, Text-, Audio- oder Bildeingaben. Diese Einbettungen können für die Ähnlichkeitssuche, Clustering und andere Machine-Learning-Aufgaben verwendet werden.
+ Anbieter – TwelveLabs
+ Model ID: – twelvelabs.marengo-embed-2-7-v1:0

Das Modell TwelveLabs Marengo Embed 2.7 unterstützt die Laufzeitoperationen von Amazon Bedrock in der folgenden Tabelle. 
+ Weitere Informationen zu den Anwendungsfällen für verschiedene API-Methoden finden Sie unter [Inferenzanfragen stellen](inference.md).
+ Weitere Informationen zu den Modelltypen finden Sie unter [Inferenzanfragen stellen](inference.md).
  + Eine Liste der Modell-IDs sowie die Modelle und AWS Regionen, die TwelveLabs Marengo Embed 2.7 unterstützt werden, finden Sie in der Tabelle unter. [Unterstützte Basismodelle in Amazon Bedrock](models-supported.md)
  + Eine vollständige Liste von Inferenzprofil-IDs finden Sie unter [Unterstützte Regionen und Modelle für Inferenzprofile](inference-profiles-support.md). Die ID des Inferenzprofils basiert auf der AWS Region.


****  

| API-Operation | Unterstützte Modelltypen | Eingabemodalitäten | Ausgabemodalitäten | 
| --- | --- | --- | --- | 
| InvokeModel | [Inferenzprofile](inference-profiles-support.md) | Text<br />Image | Einbettung | 
| StartAsyncInvoke | [Basismodelle](models-supported.md) | Video<br />Audio<br />Image<br />Text | Einbettung | 

**Anmerkung**  
Verwenden Sie `InvokeModel`, um Einbettungen für Suchabfragen zu generieren. Verwenden Sie `StartAsyncInvoke`, um Einbettungen für Assets in großem Umfang zu generieren.

Die folgenden Kontingente gelten für die Eingabe:


****  

| Eingabemodalität | Maximum | 
| --- | --- | 
| Text | 77 Token | 
| Image | 5 MB | 
| Video (S3) | 2 GB | 
| Audio (S3) | 2 GB | 

**Anmerkung**  
Wenn Sie Audio oder Video inline mithilfe der base64-Kodierung definieren, stellen Sie sicher, dass die Nutzdaten des Anforderungstexts das Amazon-Bedrock-Modellaufrufkontingent von 25 MB nicht überschreitet.

**Topics**
+ [TwelveLabs Marengo Embed 2.7 Anforderungsparameter](#model-parameters-marengo-async-request)
+ [TwelveLabs Marengo Embed 2.7 response](#model-parameters-marengo-response)
+ [TwelveLabs Marengo Embed 2.7 Codebeispiele](#model-parameters-marengo-examples)

## TwelveLabs Marengo Embed 2.7 Anforderungsparameter
<a name="model-parameters-marengo-async-request"></a>

Wenn Sie eine Anforderung stellen, hängt das Feld, in dem die modellspezifische Eingabe angegeben wird, von der API-Operation ab:
+ [InvokeModel](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_InvokeModel.html)— In der Anfrage. `body`
+ [StartAsyncInvoke](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_StartAsyncInvoke.html)— Im `modelInput` Feld des Hauptteils der Anfrage.

Das Format der Modelleingabe hängt von der Eingabemodalität ab:

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

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

------
#### [ Inline image ]

```
{
     "inputType": "image",
     "mediaSource": {
          "base64String": "{{base64-encoded string}}"
     }
}
```

------
#### [ S3 image ]

```
{
    "inputType": "image",
    "mediaSource": {
        "s3Location": {
            "uri": "{{string}}",
            "bucketOwner": "{{string}}"
        }
    }
}
```

------
#### [ Inline video ]

```
{
    "inputType": "video",
    "mediaSource": {
        "s3Location": {
            "base64String": "{{base64-encoded string}}"
        }
    },
    "startSec": {{double}},
    "lengthSec": {{double}},
    "useFixedLengthSec": {{double}},
    "embeddingOption": "visual-text" | "visual-image" | "audio"
}
```

------
#### [ S3 video ]

```
{
    "inputType": "image",
    "mediaSource": {
        "s3Location": {
           "uri": "{{string}}",
           "bucketOwner": "{{string}}"
        }
    },
    "startSec": {{double}},
    "lengthSec": {{double}},
    "useFixedLengthSec": {{double}},
    "minClipSec": {{int}},
    "embeddingOption": ["{{string}}"]
}
```

------
#### [ Inline audio ]

```
{
    "inputType": "audio", 
    "mediaSource": { 
        "base64String": "{{base64-encoded string}}"
    },
    "startSec": {{double}},
    "lengthSec": {{double}},
    "useFixedLengthSec": {{double}}
}
```

------
#### [ S3 audio ]

```
{
    "inputType": "audio",
    "mediaSource": {
        "s3Location": {
           "uri": "{{string}}",
           "bucketOwner": "{{string}}"
        }
    },
    "startSec": {{double}},
    "lengthSec": {{double}},
    "useFixedLengthSec": {{double}}
}
```

------

Erweitern Sie die folgenden Abschnitte, um ausführliche Informationen zu den Eingabeparametern zu erhalten:

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

Modalität für die Einbettung
+ **Typ:** Zeichenfolge
+ **Erforderlich**: Ja
+ **Zulässige Werte**: `video` \| `text` \| `audio` \| `image`

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

Text, der eingebettet werden soll
+ **Typ:** Zeichenfolge
+ **Erforderlich:** Ja (für kompatible Eingabetypen)
+ **Kompatible Eingabetypen:** Text

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

Gibt an, wie die Plattform Text kürzt
+ **Typ:** Zeichenfolge
+ **Required**: No
+ **Zulässige Werte**:
  + `end` – Kürzt das Textende
  + `none` – Gibt einen Fehler zurück, wenn der Text das Limit überschreitet
+ **Standardwert:** Ende
+ **Kompatible Eingabetypen:** Text

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

Enthält Informationen zur Medienquelle
+ **Typ:** Objekt
+ **Erforderlich:** Ja (falls kompatibler Typ)
+ **Kompatible Eingabetypen:** Bild, Video, Audio

Das Format des `mediaSource` Objekts im Hauptteil der Anfrage hängt davon ab, ob das Medium als Base64-encoded Zeichenfolge oder als S3-Speicherort definiert ist.
+ **Base64-encoded string**

  ```
  {
      "mediaSource": {
          "base64String": "base64-encoded string"
      }
  }
  ```
  + `base64String`— Die Base64-encoded Zeichenfolge für das Medium.
+ **S3-Standort** — Geben Sie den S3-URI und den Bucket-Besitzer an.

  ```
  {
      "s3Location": {
          "uri": "string",
          "bucketOwner": "string"
      }
  }
  ```
  + `uri` – Der S3-URI, der das Medium enthält
  + `bucketOwner`— Die AWS Konto-ID des S3-Bucket-Besitzers.

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

Gibt an, welche Arten von Einbettungen abgerufen werden sollen.
+ **Typ**: Liste
+ **Required**: No
+ **Gültige Werte für Listenmitglieder:**
  + `visual-text` – Visuelle Einbettungen, die für die Textsuche optimiert sind
  + `visual-image` – Visuelle Einbettungen, die für die Bildsuche optimiert sind
  + `audio` – Einbettungen des Audios in das Video
+ **Standardwert:** [„visual-text“, „visual-image“, „audio"]
+ **Kompatible Eingabetypen:** Video, Audio

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

Der Zeitpunkt in Sekunden des Clips, zu dem die Verarbeitung beginnen soll
+ **Type**: Double
+ **Required**: No
+ **Mindestwert** 0
+ **Standardwert:** 0
+ **Kompatible Eingabetypen:** Video, Audio

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

Die Zeit in Sekunden, gerechnet ab dem `startSec`-Zeitpunkt, nach dem die Verarbeitung beendet werden soll
+ **Type**: Double
+ **Required**: No
+ **Gültige Werte:** 0 – Dauer des Mediums
+ **Standardwert:** Dauer des Mediums
+ **Kompatible Eingabetypen:** Video, Audio

Beispiel:
+ startSec: 5
+ lengthSec: 20
+ Ergebnis: Der Clip wird von 0:05 bis 0:25 (5 Sekunden \+ 20 Sekunden) verarbeitet.

### verwenden FixedLengthSec
<a name="model-parameters-marengo-useFixedLengthSec"></a>

Die Dauer jedes Clips, für den das Modell eine Einbettung generieren soll
+ **Type**: Double
+ **Required**: No
+ **Wertparameter:** 2–10. Der Wert muss gleich oder größer als `minClipSec` sein.
+ **Standardwert:** Hängt vom Medientyp ab:
  + **Video:** Dynamisch aufgeteilt durch Erkennung von Schussgrenzen.
  + **Audio:** Gleichmäßig aufgeteilt mit Segmenten, die so nah wie möglich an 10 Sekunden heranreichen.

    Beispiele:
    + Ein 50-Sekunden-Clip ist in 5 10-Sekunden-Segmente unterteilt.
    + Ein 16-Sekunden-Clip ist in 2 8-Sekunden-Segmente unterteilt.
+ **Kompatible Eingabetypen:** – Video, Audio
+ **Hinweis:** Der Wert muss gleich oder größer als `minClipSec` sein.

### min ClipSec
<a name="model-parameters-marengo-minClipSec"></a>

Legt für jeden Clip einen Mindestwert in Sekunden fest
+ **Typ:** int
+ **Required**: No
+ **Wertparameter:** Wertebereich: 1–5
+ **Standardwert:** 4
+ **Kompatible Eingabetypen:** Video
+ **Hinweis:** Der Wert muss gleich oder kleiner als `useFixedLengthSec` sein.

## TwelveLabs Marengo Embed 2.7 response
<a name="model-parameters-marengo-response"></a>

Der Speicherort der Ausgabeeinbettungen und der zugehörigen Metadaten hängt von der Aufrufmethode ab:
+ [InvokeModel](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_InvokeModel.html)— Im Antworttext.
+ [StartAsyncInvoke](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_StartAsyncInvoke.html)— Im S3-Bucket, der in definiert ist`s3OutputDataConfig`, nachdem der asynchrone Aufruf-Job abgeschlossen ist.

Wenn es mehrere Einbettungsvektoren gibt, besteht die Ausgabe aus einer Liste von Objekten, die jeweils einen Vektor und die zugehörigen Metadaten enthalten.

Das Format des Einbettungsvektors der Ausgabe lautet wie folgt:

```
{
    "embedding": ["{{string}}"],
    "embeddingOption": "visual-text" | "visual-image" | "audio",
    "startSec": {{double}},
    "endsec": {{double}}
}
```

Erweitern Sie die folgenden Abschnitte, um ausführliche Informationen zu den Antwortparametern zu erhalten:

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

Darstellung des Einbettungsvektors der Eingabe
+ **Typ**: Liste von Double-Werten

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

Die Art der Einbettungen
+ **Typ:** Zeichenfolge
+ **Mögliche Werte:**
  + `visual-text` – Visuelle Einbettungen, die für die Textsuche optimiert sind
  + `visual-image` – Visuelle Einbettungen, die für die Bildsuche optimiert sind
  + `audio` – Einbettungen des Audios in das Video
+ **Kompatible Eingabetypen:** Video

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

Der Startversatz des Clips
+ **Type**: Double
+ **Kompatible Eingabetypen:** Video, Audio

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

Der Endversatz des Clips in Sekunden
+ **Type**: Double
+ **Kompatible Eingabetypen:** Video, Audio

## TwelveLabs Marengo Embed 2.7 Codebeispiele
<a name="model-parameters-marengo-examples"></a>

In diesem Abschnitt wird gezeigt, wie Sie das Modell TwelveLabs Marengo Embed 2.7 mit verschiedenen Eingabetypen mithilfe von Python verwenden. Die Beispiele zeigen, wie modellspezifische Eingaben definiert und Modellaufrufe ausgeführt werden.

**Anmerkung**  
InvokeModel unterstützt nur Text- und Bildeingaben. Verwenden Sie für die Video- und Audioeingabe StartAsyncInvoke.

Stellen Sie Ihren Code in den folgenden Schritten zusammen:

**1. Definieren der modellspezifische Eingabe**  
Definieren Sie die modellspezifische Eingabe abhängig von Ihrem Eingabetyp:

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

```
# Create the model-specific input
model_id = "twelvelabs.marengo-embed-2-7-v1:0"
# Replace the {{us}} prefix depending on your region
inference_profile_id = "{{us}}.twelvelabs.marengo-embed-2-7-v1:0"
                            
model_input = {
  "inputType": "text",
  "inputText": "man walking a dog"
}
```

------
#### [ Inline image ]

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

model_input = {
   "inputType": "image",
   "mediaSource": {
      "base64String": "example-base64-image"
   }
}
```

------
#### [ S3 image ]

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

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

------
#### [ Inline video ]

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

model_input = {
    "inputType": "video",
    "mediaSource": {
        "base64String": "base_64_encoded_string_of_video"
    },
    "startSec": 0,
    "lengthSec": 13,
    "useFixedLengthSec": 5,
    "embeddingOption": [
        "visual-text", 
        "audio"
    ]
}
```

------
#### [ S3 video ]

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

model_input = {
    "inputType": "video",
    "mediaSource": {
        "s3Location": {
            "uri": "amzn-s3-demo-bucket/my-video.mp4",
            "bucketOwner": "123456789012"
        }
    },
    "startSec": 0,
    "lengthSec": 13,
    "useFixedLengthSec": 5,
    "embeddingOption": [
        "visual-text", 
        "audio"
    ]
}
```

------
#### [ Inline audio ]

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

model_input = {
    "inputType": "audio", 
    "mediaSource": { 
        "base64String": "base_64_encoded_string_of_audio"
    },
    "startSec": 0,
    "lengthSec": 13,
    "useFixedLengthSec": 10
}
```

------
#### [ S3 audio ]

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

model_input = {
    "inputType": "audio",
    "mediaSource": {  
        "s3Location": { 
            "uri": "s3://amzn-s3-demo-bucket/my-audio.wav", 
            "bucketOwner": "123456789012" 
        }
    },
    "startSec": 0,
    "lengthSec": 13,
    "useFixedLengthSec": 10
}
```

------

**2. Ausführen des Modellaufrufs mithilfe der Modelleingabe**  
Fügen Sie dann den Codeausschnitt hinzu, der der Methode Ihrer Wahl für den Modellaufruf entspricht.

------
#### [ 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://&example-s3-destination-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}")
```

------