

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 3.0
<a name="model-parameters-marengo-3"></a>

O TwelveLabs Marengo Embed 3.0 modelo gera incorporações aprimoradas a partir de entradas de vídeo, texto, áudio ou imagem. Essa versão mais recente oferece desempenho e precisão aprimorados para pesquisa por similaridade, agrupamento e outras tarefas de aprendizado de máquina.
+ Fornecedor — TwelveLabs
+ ID de modelo: twelvelabs.marengo-embed-3-0-v1:0

O Marengo Embed 3.0 oferece vários aprimoramentos importantes:
+ **Capacidade de processamento de vídeo estendida** — Processe até 4 horas de conteúdo de vídeo e áudio. Os arquivos podem ter até 6 GB, o dobro da capacidade das versões anteriores. Isso o torna ideal para analisar eventos esportivos completos, vídeos de treinamento estendidos e produções cinematográficas completas.
+ **Análise esportiva aprimorada** — O modelo oferece melhorias significativas. Ele fornece uma melhor compreensão da dinâmica do jogo, dos movimentos do jogador e da detecção de eventos.
+ **Suporte multilíngue global** — capacidades linguísticas expandidas de 12 para 36 idiomas. Isso permite que organizações globais criem sistemas unificados de busca e recuperação que funcionem perfeitamente em diversas regiões e mercados.
+ **Precisão de pesquisa multimodal** — combine imagens e texto descritivo em uma única solicitação de incorporação. Isso combina semelhança visual com compreensão semântica para fornecer resultados de pesquisa mais precisos e contextualmente relevantes.
+ **Dimensão de incorporação reduzida** — Reduzida de 1024 para 512, o que pode ajudar a reduzir os custos de armazenamento.

O modelo TwelveLabs Marengo Embed 3.0 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 [Saiba mais sobre os casos de uso para diferentes métodos de inferência do modelo.Diferentes métodos de inferência](inference-methods.md).
+ Para ter mais informações sobre os tipos de modelo, consulte [Como a inferência funciona no Amazon BedrockComo a inferência funciona](inference-how.md).
  + Para obter uma lista de modelos IDs 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 3.0
  + Para obter uma lista completa do perfil de inferência IDs, 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  |  Leste dos EUA (Norte da Virgínia) — [Modelos básicos](models-supported.md) e perfis de [inferência](inference-profiles-support.md) Europa (Irlanda) [— Perfis de inferência](inference-profiles-support.md) Ásia-Pacífico (Seul) - Modelos [básicos](models-supported.md)  |  Texto Imagem **Observação:** texto e imagem intercalados também são suportados.  |  Incorporação  | 
| StartAsyncInvoke |  Leste dos EUA (Norte da Virgínia) — [Modelos básicos](models-supported.md) Europa (Irlanda) [— Modelos básicos](models-supported.md) Ásia-Pacífico (Seul) - Modelos [básicos](models-supported.md)  |  Vídeo Áudio Imagem Texto **Observação:** texto e imagem intercalados também são suportados.  |  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 | 500 fichas | 
| Imagem | 5 MB por imagem | 
| Vídeo (S3) | 6 GB, 4 horas de duração | 
| Áudio (S3) | 6 GB, 4 horas de duração | 

**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**
+ [Parâmetros de solicitação do TwelveLabs Marengo Embed 3.0](#model-parameters-marengo-3-async-request)
+ [Resposta TwelveLabs Marengo Embed 3.0](#model-parameters-marengo-3-response)
+ [Exemplos de código do TwelveLabs Marengo Embed 3.0](#model-parameters-marengo-3-examples)

## Parâmetros de solicitação do TwelveLabs Marengo Embed 3.0
<a name="model-parameters-marengo-3-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",
    "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"
}
```

------

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

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

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

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

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

### mediaSource
<a name="model-parameters-marengo-3-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 objeto `mediaSource` no corpo da solicitação depende se a mídia está definida como uma string codificada em base64 ou como um local do S3.
+ **Cadeia de caracteres codificada em Base64**

  ```
  {
      "mediaSource": {
          "base64String": "base64-encoded string"
      }
  }
  ```
  + `base64String`: a string codificada em base64 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 do S3.

### embeddingOption
<a name="model-parameters-marengo-3-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`— Incorporações visuais do vídeo.
  + `audio`: incorporações de áudio no vídeo.
  + `transcription`— Incorporações do texto transcrito.
+ **Valor padrão:**
  + Vídeo: ["visual”, “áudio”, “transcrição"]
  + Áudio: ["áudio”, “transcrição"]
+ **Tipos de entrada compatíveis:** vídeo, áudio

### Escopo de incorporação
<a name="model-parameters-marengo-3-embeddingScope"></a>

Especifica o escopo das incorporações a serem recuperadas.
+ **Tipo**: lista
+ **Obrigatório**: não
+ **Valores válidos para membros da lista:**
  + `clip`— Retorna as incorporações de cada clipe.
  + `asset`— Retorna incorporações para todo o ativo.
+ **Tipos de entrada compatíveis:** vídeo, áudio

### startSec
<a name="model-parameters-marengo-3-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

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

O momento em segundos em que o processamento deve terminar.
+ **Tipo**: duplo
+ **Obrigatório**: não
+ **Valor mínimo:** StartSec \$1 comprimento do segmento
+ **Valor máximo:** duração da mídia
+ **Valor padrão:** duração da mídia.
+ **Tipos de entrada compatíveis:** vídeo, áudio

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

Define como a mídia é dividida em segmentos para geração de incorporação.
+ **Tipo:** objeto
+ **Obrigatório**: não
+ **Tipos de entrada compatíveis:** vídeo, áudio

O objeto de segmentação contém parâmetros específicos de `method` campo e método:
+ `method`— O método de segmentação a ser usado. Valores válidos: `dynamic` \$1 `fixed`
+ `dynamic`— Para vídeo, usa a detecção de limites de captura para dividir o conteúdo dinamicamente. Contém:
  + `minDurationSec`— Duração mínima para cada segmento em segundos. Tipo: número inteiro. Intervalo: 1-5. Padrão: 4.
+ `fixed`— Divide o conteúdo em segmentos de igual duração. Contém:
  + `durationSec`— Duração de cada segmento em segundos. Tipo: número inteiro. Intervalo: 1-10. Padrão: 6.

**Comportamento padrão**:
+ Vídeo: usa segmentação dinâmica com detecção de limites de disparo.
+ Áudio: usa segmentação fixa. O conteúdo é dividido da forma mais uniforme possível com segmentos próximos a 10 segundos.

### ID de inferência
<a name="model-parameters-marengo-3-inferenceId"></a>

Identificador exclusivo para a solicitação de inferência.
+ **Tipo:** string
+ **Obrigatório**: não

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

A localização das incorporações de saída e dos metadados associados depende do método de invocação:
+ InvokeModel — No corpo da resposta.
+ StartAsyncInvoke — No bucket S3 definido em`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:

```
{
  "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
  }
}
```

As incorporações são retornadas como uma matriz de flutuadores.

O local em que você vê essa resposta depende do método de API usado:
+ InvokeModel — Aparece no corpo da resposta.
+ StartAsyncInvoke — Aparece no local do S3 que você especificou na solicitação. A resposta retorna um`invocationArn`. Você pode usar isso para obter metadados sobre a invocação assíncrona. Isso inclui o status e a localização do S3 em que os resultados são gravados.

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

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

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

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

O tipo de incorporação.
+ **Tipo:** string
+ **Valores possíveis:**
  + visual — Incorporações visuais do vídeo.
  + áudio — Incorporações do áudio no vídeo.
  + transcrição — Incorporações do texto transcrito.
+ **Tipos de entrada compatíveis:** vídeo, áudio

### Escopo de incorporação
<a name="model-parameters-marengo-3-embeddingScope"></a>

Especifica o escopo das incorporações a serem recuperadas.
+ **Tipo:** string

Você pode incluir um ou mais dos seguintes valores:
+ clipe: retorna as incorporações de cada clipe.
+ ativo: retorna incorporações para todo o ativo.

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

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

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

O deslocamento final do clipe. Não aplicável para incorporações de texto, imagem e text\$1image.
+ **Tipo**: duplo
+ **Tipos de entrada compatíveis:** vídeo, áudio

## Exemplos de código do TwelveLabs Marengo Embed 3.0
<a name="model-parameters-marengo-3-examples"></a>

Esta seção mostra como usar o modelo TwelveLabs Marengo Embed 3.0 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 texto, imagem e texto com entrada intercalada de 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-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. 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://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}")
```

------