

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

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

O modelo TwelveLabs Marengo Embed 2.7 gera incorporações com base em entradas de vídeo, texto, áudio ou imagem. Essas incorporações podem ser usadas para pesquisa por similaridade, agrupamento e outras tarefas de machine learning.
+ Fornecedor — TwelveLabs
+ ID de modelo: twelvelabs.marengo-embed-2-7-v1:0

O modelo TwelveLabs Marengo Embed 2.7 permite as operações do Amazon Bedrock Runtime descritas na tabela a seguir. 
+ Para ter mais informações sobre casos de uso para diferentes métodos de API, consulte [Fazendo solicitações de inferência](inference.md).
+ Para ter mais informações sobre os tipos de modelo, consulte [Fazendo solicitações de inferência](inference.md).
  + Para obter uma lista de IDs de modelo e ver os modelos e AWS regiões compatíveis com, pesquise o modelo na tabela em[Modelos de base compatíveis no Amazon Bedrock](models-supported.md). TwelveLabs Marengo Embed 2.7
  + Para ver uma lista completa de IDs de perfil de inferência, consulte [Regiões e modelos que compatíveis com perfis de inferência](inference-profiles-support.md). O ID do perfil de inferência é baseado na AWS região.


****  

| Operação de API | Tipos de modelo compatíveis | Modalidades de entrada | Modalidades de saída | 
| --- | --- | --- | --- | 
| InvokeModel | [Perfis de inferência](inference-profiles-support.md) | Texto<br />Imagem | Incorporação | 
| StartAsyncInvoke | [Modelos básicos](models-supported.md) | Vídeo<br />Áudio<br />Imagem<br />Texto | Incorporação | 

**nota**  
Use `InvokeModel` para gerar incorporações para consulta de pesquisa. Use `StartAsyncInvoke` para gerar incorporações para ativos em grande escala.

As seguintes cotas se aplicam à saída:


****  

| Modalidade de entrada | Máximo | 
| --- | --- | 
| Texto | 77 tokens | 
| Imagem | 5 MB | 
| Vídeo (S3) | 2 GB | 
| Áudio (S3) | 2 GB | 

**nota**  
Se você definir áudio ou vídeo em linha usando a codificação em base64, a carga útil do corpo da solicitação não deve ultrapassar a cota de invocação de 25 MB do modelo do Amazon Bedrock.

**Topics**
+ [TwelveLabs Marengo Embed 2.7 parâmetros de solicitação](#model-parameters-marengo-async-request)
+ [TwelveLabs Marengo Embed 2.7 resposta](#model-parameters-marengo-response)
+ [TwelveLabs Marengo Embed 2.7 exemplos de código](#model-parameters-marengo-examples)

## TwelveLabs Marengo Embed 2.7 parâmetros de solicitação
<a name="model-parameters-marengo-async-request"></a>

Quando você faz uma solicitação, o campo no qual a entrada específica do modelo é estipulada depende da operação de API:
+ [InvokeModel](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_InvokeModel.html)— Na solicitação`body`.
+ [StartAsyncInvoke](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_StartAsyncInvoke.html)— No `modelInput` campo do corpo da solicitação.

O formato da entrada do modelo depende da modalidade de entrada:

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

------

Expanda as seguintes seções para obter detalhes sobre os parâmetros de entrada:

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

Modalidade para a incorporação.
+ **Tipo:** string
+ **Obrigatório**: Sim
+ **Valores válidos**: `video` \| `text` \| `audio` \| `image`

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

Texto a ser incorporado.
+ **Tipo:** string
+ **Obrigatório:** sim (para tipos de entrada compatíveis)
+ **Tipos de entrada compatíveis:** texto

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

Especifica como a plataforma trunca o texto.
+ **Tipo:** string
+ **Obrigatório**: não
+ **Valores válidos:**
  + `end`: trunca o final do texto.
  + `none`: exibe um erro se o texto exceder o limite.
+ **Valor padrão:** end
+ **Tipos de entrada compatíveis:** texto

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

Contém informações sobre a fonte de mídia.
+ **Tipo:** objeto
+ **Obrigatório:** sim (se for do tipo compatível)
+ **Tipos de entrada compatíveis:** imagem, vídeo, áudio

O formato do `mediaSource` objeto no corpo da solicitação depende se a mídia está definida como uma Base64-encoded string ou como um local do S3.
+ **Base64-encoded string**

  ```
  {
      "mediaSource": {
          "base64String": "base64-encoded string"
      }
  }
  ```
  + `base64String`— A Base64-encoded string para a mídia.
+ **Localização do S3** — especifique o URI do S3 e o proprietário do bucket.

  ```
  {
      "s3Location": {
          "uri": "string",
          "bucketOwner": "string"
      }
  }
  ```
  + `uri`: o URI do S3 que contém a mídia.
  + `bucketOwner`— O ID da AWS conta do proprietário do bucket S3.

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

Especifica quais tipos de incorporação devem ser recuperadas.
+ **Tipo**: lista
+ **Obrigatório**: não
+ **Valores válidos para membros da lista:**
  + `visual-text`: incorporações visuais otimizadas para pesquisa de texto.
  + `visual-image`: incorporações visuais otimizadas para pesquisa de imagens.
  + `audio`: incorporações de áudio no vídeo.
+ **Valor padrão:** [“visual-text”, “visual-image”, “audio”]
+ **Tipos de entrada compatíveis:** vídeo, áudio

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

O ponto no tempo em segundos do clipe em que o processamento deve começar.
+ **Tipo**: duplo
+ **Obrigatório**: não
+ **Valor mínimo**: 0
+ **Valor padrão:** 0
+ **Tipos de entrada compatíveis:** vídeo, áudio

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

O tempo em segundos, contado a partir do ponto `startSec`, após o qual o processamento deve ser interrompido.
+ **Tipo**: duplo
+ **Obrigatório**: não
+ **Valores válidos:** 0 (duração da mídia).
+ **Valor padrão:** duração da mídia.
+ **Tipos de entrada compatíveis:** vídeo, áudio

Exemplo:
+ startSec: 5
+ lengthSec: 20
+ Resultado: O clipe é processado de 0:05 a 0:25 (5 segundos \+ 20 segundos).

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

A duração de cada clipe para o qual o modelo deve gerar uma incorporação.
+ **Tipo**: duplo
+ **Obrigatório**: não
+ **Parâmetros de valor:** 2-10. Deve ser maior que ou igual a `minClipSec`.
+ **Valor padrão:** depende do tipo de mídia:
  + **Vídeo:** Dividido dinamicamente pela detecção do limite de disparo.
  + **Áudio:** dividido uniformemente com segmentos o mais próximo possível de 10 segundos.

    Exemplos:
    + Um clipe de 50 segundos é dividido em 5 segmentos de 10 segundos.
    + Um clipe de 16 segundos é dividido em 2 segmentos de 8 segundos.
+ **Tipos de entrada compatíveis:**: vídeo, áudio
+ **Observações**: deve ser maior que ou igual a `minClipSec`.

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

Define um valor mínimo para cada clipe em segundos.
+ Tipo: inteiro
+ **Obrigatório**: não
+ **Parâmetros de valor:** intervalo: 1-5
+ **Valor padrão:** 4
+ **Tipos de entrada compatíveis:** vídeo
+ **Observações**: deve ser menor que ou igual a `useFixedLengthSec`.

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

A localização das incorporações de saída e dos metadados associados depende do método de invocação:
+ [InvokeModel](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_InvokeModel.html)— No corpo da resposta.
+ [StartAsyncInvoke](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_StartAsyncInvoke.html)— No bucket do S3 definido no`s3OutputDataConfig`, após a conclusão do trabalho de invocação assíncrona.

Se houver vários vetores de incorporação, a saída será uma lista de objetos, cada um contendo um vetor e os metadados correspondentes.

O formato do vetor de incorporações de saída é o seguinte:

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

Expanda as seguintes seções para obter detalhes sobre os parâmetros de resposta:

### incorporação
<a name="model-parameters-marengo-embedding"></a>

Representação vetorial de incorporações da entrada.
+ **Tipo**: lista de duplos

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

O tipo de incorporação.
+ **Tipo:** string
+ **Valores possíveis:**
  + `visual-text`: incorporações visuais otimizadas para pesquisa de texto.
  + `visual-image`: incorporações visuais otimizadas para pesquisa de imagens.
  + `audio`: incorporações de áudio no vídeo.
+ **Tipos de entrada compatíveis:** vídeo

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

O deslocamento inicial do clipe.
+ **Tipo**: duplo
+ **Tipos de entrada compatíveis:** vídeo, áudio

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

O deslocamento final do clipe, em segundos.
+ **Tipo**: duplo
+ **Tipos de entrada compatíveis:** vídeo, áudio

## TwelveLabs Marengo Embed 2.7 exemplos de código
<a name="model-parameters-marengo-examples"></a>

Esta seção mostra como usar o modelo TwelveLabs Marengo Embed 2.7 com diferentes tipos de entrada usando Python. Os exemplos demonstram como definir a entrada específica do modelo e executar invocações do modelo.

**nota**  
InvokeModel suporta somente entrada de texto e imagem. Para entrada de vídeo e áudio, use StartAsyncInvoke.

Organize seu código nas seguintes etapas:

**1. Defina a entrada específica do modelo**  
Defina a entrada específica do modelo dependendo do tipo de entrada:

------
#### [ 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. Execute a invocação do modelo usando a entrada do modelo**  
Em seguida, adicione o trecho de código que corresponde ao método de invocação do modelo de sua preferência.

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

------