

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

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

Il modello TwelveLabs Marengo Embed 2.7 genera embedding da input video, testo, audio o immagini. Questi embedding possono essere utilizzati per la ricerca di similarità, il clustering e altre attività di machine learning.
+ Fornitore: TwelveLabs
+ ID modello: twelvelabs.marengo-embed-2-7-v1:0

Il modello TwelveLabs Marengo Embed 2.7 supporta le operazioni di runtime per Amazon Bedrock riportate nella tabella seguente. 
+ Per ulteriori informazioni sui casi d’uso per i diversi metodi API, consultare [Effettuare richieste di inferenza](inference.md).
+ Per ulteriori informazioni sui tipi di modello, consultare [Effettuare richieste di inferenza](inference.md).
  + Per un elenco degli ID dei modelli e per visualizzare i modelli e AWS le regioni supportatiTwelveLabs Marengo Embed 2.7, cercate il modello nella tabella all'indirizzo. [Modelli di fondazione supportati in Amazon Bedrock](models-supported.md)
  + Per un elenco completo degli ID dei profili di inferenza, vedere [Regioni e modelli supportati per i profili di inferenza](inference-profiles-support.md). L'ID del profilo di inferenza si basa sulla AWS regione.


****  

| Operazione API | Tipi di modelli supportati | Modalità di input | Modalità di output | 
| --- | --- | --- | --- | 
| InvokeModel | [Profili di inferenza](inference-profiles-support.md) | Testo<br />Immagine | Embedding | 
| StartAsyncInvoke | [Modelli base](models-supported.md) | Video<br />Audio<br />Immagine<br />Testo | Embedding | 

**Nota**  
Utilizzare `InvokeModel` per generare embedding per la query di ricerca. Utilizzare `StartAsyncInvoke` per generare embedding per risorse su larga scala.

All’input si applicano i seguenti limiti:


****  

| Modalità di input | Massimo | 
| --- | --- | 
| Testo | 77 gettoni | 
| Immagine | 5 MB | 
| Video (S3) | 2 GB | 
| Audio (S3) | 2 GB | 

**Nota**  
Se si definiscono audio o video inline utilizzando la codifica base64, assicurarsi che il payload del corpo della richiesta non superi la quota di invocazione del modello Amazon Bedrock di 25 MB.

**Topics**
+ [TwelveLabs Marengo Incorpora 2.7 parametri richiesta](#model-parameters-marengo-async-request)
+ [TwelveLabs Marengo Embed 2.7 risposta](#model-parameters-marengo-response)
+ [TwelveLabs Marengo Embed 2.7 esempi di codice](#model-parameters-marengo-examples)

## TwelveLabs Marengo Incorpora 2.7 parametri richiesta
<a name="model-parameters-marengo-async-request"></a>

Quando si effettua una richiesta, il campo in cui viene specificato l’input specifico del modello dipende dall’operazione dell’API:
+ [InvokeModel](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_InvokeModel.html)— Nella richiesta. `body`
+ [StartAsyncInvoke](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_StartAsyncInvoke.html)— Nel `modelInput` campo del corpo della richiesta.

Il formato dell’input del modello dipende dalla modalità di input:

------
#### [ 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}}
}
```

------

Espandi le seguenti sezioni per ulteriori informazioni sui parametri di input:

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

Modalità per l’embedding.
+ **Tipo:** stringa
+ **Obbligatorio:** sì
+ **Valori validi**: `video` \| `text` \| `audio` \| `image`

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

Testo da incorporare.
+ ▬**Tipo:** stringa
+ **Obbligatorio:** sì (per i tipi di input compatibili)
+ **Tipi di input compatibili:** testo

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

Specifica in che modo la piattaforma tronca il testo.
+ ▬**Tipo:** stringa
+ **Obbligatorio:** no
+ **Valori validi**:
  + `end`: tronca la fine del testo.
  + `none`: restituisce un errore se il testo supera il limite.
+ **Valore predefinito:** end
+ **Tipi di input compatibili:** testo

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

Contiene informazioni sull’origine multimediale.
+ **Tipo:** oggetto
+ **Obbligatorio:** sì (se il tipo è compatibile)
+ **Tipi di input compatibili:** immagine, video, audio

Il formato dell'`mediaSource`oggetto nel corpo della richiesta dipende dal fatto che il supporto sia definito come Base64-encoded stringa o come posizione S3.
+ **Base64-encoded stringa**

  ```
  {
      "mediaSource": {
          "base64String": "base64-encoded string"
      }
  }
  ```
  + `base64String`— La Base64-encoded stringa per il file multimediale.
+ **Posizione S3**: specifica l'URI S3 e il proprietario del bucket.

  ```
  {
      "s3Location": {
          "uri": "string",
          "bucketOwner": "string"
      }
  }
  ```
  + `uri`: URI S3 contenente il file multimediale.
  + `bucketOwner`— L'ID dell' AWS account del proprietario del bucket S3.

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

Specifica i tipi di embedding da recuperare.
+ Tipo: elenco
+ **Obbligatorio:** no
+ **Valori validi per i membri dell’elenco:**
  + `visual-text`: embedding visivi ottimizzati per la ricerca di testo.
  + `visual-image`: embedding visivi ottimizzati per la ricerca di immagine.
  + `audio`: embedding dell’audio nel video.
+ **Valore predefinito:** [“visual-text”, “visual-image”, “audio”]
+ **Tipi di input compatibili:** video, audio

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

Punto temporale in secondi del clip in cui deve iniziare l’elaborazione.
+ **Tipo:** numero a doppia precisione
+ **Obbligatorio:** no
+ **Valore minimo:** 0
+ **Valore predefinito**: 0
+ **Tipi di input compatibili:** video, audio

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

Tempo in secondi, contando a partire dal momento temporale `startSec`, dopo il quale l’elaborazione dovrebbe interrompersi.
+ **Tipo:** numero a doppia precisione
+ **Obbligatorio:** no
+ **Valori validi:** 0 - Durata del file multimediale
+ **Valore predefinito:** durata del file multimediale
+ **Tipi di input compatibili:** video, audio

Esempio:
+ startSec: 5
+ lengthSec: 20
+ Risultato: la clip viene elaborata da 0:05 a 0:25 (5 secondi \+ 20 secondi).

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

Durata di ogni clip per il quale il modello deve generare un embedding.
+ **Tipo:** numero a doppia precisione
+ **Obbligatorio:** no
+ **Parametri del valore:** 2 - 10. Deve essere maggiore o uguale a `minClipSec`.
+ **Valore predefinito:** dipende dal tipo di file multimediale:
  + **Video:** diviso dinamicamente mediante il rilevamento dei confini del colpo.
  + **Audio:** diviso in modo uniforme con segmenti il più vicini possibile a 10 secondi.

    Esempi:
    + Una clip di 50 secondi è divisa in 5 segmenti da 10 secondi.
    + Una clip di 16 secondi è divisa in 2 segmenti da 8 secondi.
+ **Tipi di input compatibili:** video, audio
+ **Note:** deve essere maggiore o uguale a `minClipSec`.

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

Imposta un valore minimo per ogni clip in secondi.
+ **Type:** int
+ **Obbligatorio:** no
+ **Parametri del valore:** intervallo: 1-5
+ **Valore predefinito:** 4
+ **Tipi di input compatibili:** video
+ **Note:** deve essere maggiore o uguale a `useFixedLengthSec`.

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

La posizione degli embedding di output e dei metadati associati dipende dal metodo di invocazione:
+ [InvokeModel](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_InvokeModel.html)— Nel corpo di risposta.
+ [StartAsyncInvoke](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_StartAsyncInvoke.html)— Nel bucket S3 definito in`s3OutputDataConfig`, dopo il completamento del processo di invocazione asincrona.

Se sono presenti più vettori di embedding, l’output è un elenco di oggetti, ciascuno contenente un vettore e i relativi metadati associati.

Il formato del vettore degli embedding di output è il seguente:

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

Espandere le seguenti sezioni per ulteriori informazioni sui parametri della risposta:

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

Rappresentazione dei vettori di embedding dell’input.
+ **Tipo**: elenco di numeri a doppia precisione

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

Tipo di embedding.
+ ▬**Tipo:** stringa
+ **Valori possibili:**
  + `visual-text`: embedding visivi ottimizzati per la ricerca di testo.
  + `visual-image`: embedding visivi ottimizzati per la ricerca di immagine.
  + `audio`: embedding dell’audio nel video.
+ **Tipi di input compatibili:** video

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

Offset iniziale del clip.
+ **Tipo:** numero a doppia precisione
+ **Tipi di input compatibili:** video, audio

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

Offset finale del clip, in secondi.
+ **Tipo:** numero a doppia precisione
+ **Tipi di input compatibili:** video, audio

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

Questa sezione mostra come utilizzare il modello TwelveLabs Marengo Embed 2.7 con diversi tipi di input utilizzando Python. Gli esempi mostrano come definire l'input specifico del modello ed eseguire le chiamate del modello.

**Nota**  
InvokeModel supporta solo l'immissione di testo e immagini. Per l'ingresso video e audio, usa StartAsyncInvoke.

Assemblare il codice seguendo questa procedura:

**1. Definisci l’input specifico del modello**  
Definire l’input specifico del modello in base al tipo di input:

------
#### [ 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. Eseguire l’invocazione del modello utilizzando l’input del modello**  
Poi aggiungere il frammento di codice che corrisponde al metodo di invocazione del modello scelto.

------
#### [ 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}")
```

------