

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

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

TwelveLabs Marengo Embed 3.0Model ini menghasilkan penyematan yang disempurnakan dari input video, teks, audio, atau gambar. Versi terbaru ini menawarkan peningkatan kinerja dan akurasi untuk pencarian kesamaan, pengelompokan, dan tugas pembelajaran mesin lainnya.
+ Penyedia — TwelveLabs
+ ID Model — twelvelabs.marengo-embed-3-0-v1:0

Marengo Embed 3.0 memberikan beberapa penyempurnaan utama:
+ **Kapasitas pemrosesan video yang diperluas** - Memproses hingga 4 jam konten video dan audio. File dapat mencapai 6 GB, yang merupakan dua kali lipat kapasitas versi sebelumnya. Ini membuatnya ideal untuk menganalisis acara olahraga penuh, video pelatihan yang diperpanjang, dan produksi film lengkap.
+ **Analisis olahraga yang ditingkatkan** — Model ini memberikan peningkatan yang signifikan. Ini memberikan pemahaman yang lebih baik tentang dinamika gameplay, gerakan pemain, dan deteksi peristiwa.
+ **Dukungan multibahasa global** - Kemampuan bahasa yang diperluas dari 12 hingga 36 bahasa. Hal ini memungkinkan organisasi global untuk membangun sistem pencarian dan pengambilan terpadu yang bekerja dengan mulus di berbagai wilayah dan pasar.
+ **Presisi pencarian multimodal** - Gabungkan gambar dan teks deskriptif dalam satu permintaan penyematan. Ini menggabungkan kesamaan visual dengan pemahaman semantik untuk memberikan hasil pencarian yang lebih akurat dan relevan secara kontekstual.
+ **Mengurangi dimensi embedding** - Dikurangi dari 1024 menjadi 512, yang dapat membantu mengurangi biaya penyimpanan.

TwelveLabs Marengo Embed 3.0Model ini mendukung operasi Amazon Bedrock Runtime dalam tabel berikut. 
+ Untuk informasi selengkapnya tentang kasus penggunaan untuk metode API yang berbeda, lihat[Pelajari tentang kasus penggunaan untuk metode inferensi model yang berbedaMetode inferensi yang berbeda](inference-methods.md).
+ Untuk informasi selengkapnya tentang jenis model, lihat[Cara kerja inferensi di Amazon BedrockBagaimana inferensi bekerja](inference-how.md).
  + Untuk daftar model IDs dan untuk melihat model dan AWS Wilayah TwelveLabs Marengo Embed 3.0 yang didukung, cari model dalam tabel di[Model pondasi yang didukung di Amazon Bedrock](models-supported.md).
  + Untuk daftar lengkap profil inferensi IDs, lihat[Wilayah dan model yang Didukung untuk profil inferensi](inference-profiles-support.md). ID profil inferensi didasarkan pada AWS Wilayah.


****  

| Operasi API | Jenis model yang didukung | Modalitas masukan | Modalitas keluaran | 
| --- | --- | --- | --- | 
| InvokeModel | US East (Virginia N.) — [Model dasar dan profil](models-supported.md) [Inferensi](inference-profiles-support.md)<br />Eropa (Irlandia) [— Profil inferensi](inference-profiles-support.md)<br />Asia Pasifik (Seoul) - [Model dasar](models-supported.md) | Teks<br />Citra<br />**Catatan:** Teks dan gambar disisipkan juga didukung. | Menyematkan | 
| StartAsyncInvoke | AS Timur (Virginia N.) — Model [dasar](models-supported.md)<br />Eropa (Irlandia) [— Model dasar](models-supported.md)<br />Asia Pasifik (Seoul) - [Model dasar](models-supported.md) | Video<br />Audio<br />Citra<br />Teks<br />**Catatan:** Teks dan gambar disisipkan juga didukung. | Menyematkan | 

**catatan**  
Gunakan `InvokeModel` untuk menghasilkan embeddings untuk permintaan pencarian. Gunakan `StartAsyncInvoke` untuk menghasilkan embeddings untuk aset dalam skala besar.

Kuota berikut berlaku untuk input:


****  

| Modalitas masukan | Maksimum | 
| --- | --- | 
| Teks | 500 token | 
| Citra | 5 MB per gambar | 
| Video (S3) | 6 GB, panjang 4 jam | 
| Audio (S3) | 6 GB, panjang 4 jam | 

**catatan**  
Jika Anda menentukan audio atau video sebaris menggunakan pengkodean base64-, pastikan payload isi permintaan tidak melebihi kuota pemanggilan model Amazon Bedrock 25 MB.

**Topics**
+ [TwelveLabs Marengo Embed 3.0parameter permintaan](#model-parameters-marengo-3-async-request)
+ [TwelveLabs Marengo Embed 3.0respon](#model-parameters-marengo-3-response)
+ [TwelveLabs Marengo Embed 3.0contoh kode](#model-parameters-marengo-3-examples)

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

Saat Anda membuat permintaan, bidang di mana input khusus model ditentukan bergantung pada operasi API:
+ [InvokeModel](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_InvokeModel.html)- Dalam permintaan`body`.
+ [StartAsyncInvoke](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_StartAsyncInvoke.html)— Di `modelInput` bidang badan permintaan.

Format input model tergantung pada modalitas input:

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

------

Perluas bagian berikut untuk detail tentang parameter input:

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

Modalitas untuk penyematan.
+ **Tipe**: String
+ **Wajib**: Ya
+ **Nilai yang valid:** `text` \| `image` \| `text_image` \| `audio` \| `video`

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

Teks yang akan disematkan.
+ **Tipe**: String
+ **Diperlukan:** Ya (untuk jenis input yang kompatibel)
+ **Jenis masukan yang kompatibel:** Teks

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

Berisi informasi tentang sumber media.
+ **Jenis:** Objek
+ **Diperlukan:** Ya (jika tipe kompatibel)
+ **Jenis input yang kompatibel:** Gambar, Video, Audio

Format `mediaSource` objek dalam badan permintaan tergantung pada apakah media didefinisikan sebagai string yang dikodekan Base64 atau sebagai lokasi S3.
+ **String yang dikodekan Base64**

  ```
  {
      "mediaSource": {
          "base64String": "base64-encoded string"
      }
  }
  ```
  + `base64String`— String yang dikodekan Base64 untuk media.
+ **Lokasi S3** — Tentukan URI S3 dan pemilik bucket.

  ```
  {
      "s3Location": {
          "uri": "string",
          "bucketOwner": "string"
      }
  }
  ```
  + `uri`— URI S3 yang berisi media.
  + `bucketOwner`— ID AWS akun pemilik bucket S3.

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

Menentukan jenis embeddings untuk mengambil.
+ **Tipe**: Daftar
+ **Wajib**: Tidak
+ **Nilai yang valid untuk anggota daftar:**
  + `visual`— Penyematan visual dari video.
  + `audio`— Penyematan audio dalam video.
  + `transcription`— Penyematan teks yang ditranskripsi.
+ **Nilai default:**
  + Video: ["visual”, “audio”, “transkripsi"]
  + Audio: ["audio”, “transkripsi"]
+ **Jenis input yang kompatibel:** Video, Audio

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

Menentukan ruang lingkup embeddings untuk mengambil.
+ **Tipe**: Daftar
+ **Wajib**: Tidak
+ **Nilai yang valid untuk anggota daftar:**
  + `clip`— Mengembalikan embeddings untuk setiap klip.
  + `asset`— Mengembalikan embeddings untuk seluruh aset.
+ **Jenis input yang kompatibel:** Video, Audio

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

Titik waktu dalam detik klip tempat pemrosesan harus dimulai.
+ **Tipe:** Ganda
+ **Wajib**: Tidak
+ **Nilai minimum:** 0
+ **Nilai default:** 0
+ **Jenis input yang kompatibel:** Video, Audio

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

Titik waktu dalam detik di mana pemrosesan harus berakhir.
+ **Tipe:** Ganda
+ **Wajib**: Tidak
+ **Nilai minimum:** StartSec \+ panjang segmen
+ **Nilai maksimum:** Durasi media
+ **Nilai default:** Durasi media
+ **Jenis input yang kompatibel:** Video, Audio

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

Mendefinisikan bagaimana media dibagi menjadi beberapa segmen untuk pembuatan embedding.
+ **Jenis:** Objek
+ **Wajib**: Tidak
+ **Jenis input yang kompatibel:** Video, Audio

Objek segmentasi berisi `method` bidang dan parameter khusus metode:
+ `method`Metode segmentasi yang digunakan. Nilai yang valid: `dynamic` \| `fixed`
+ `dynamic`— Untuk video, gunakan deteksi batas bidikan untuk membagi konten secara dinamis. Berisi:
  + `minDurationSec`— Durasi minimum untuk setiap segmen dalam hitungan detik. Jenis: Integer. Rentang: 1-5. Default: 4.
+ `fixed`— Membagi konten menjadi segmen dengan durasi yang sama. Berisi:
  + `durationSec`— Durasi setiap segmen dalam hitungan detik. Jenis: Integer. Rentang: 1-10. Default: 6.

**Perilaku default:**
+ Video: Menggunakan segmentasi dinamis dengan deteksi batas bidikan.
+ Audio: Menggunakan segmentasi tetap. Konten dibagi serata mungkin dengan segmen mendekati 10 detik.

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

Pengidentifikasi unik untuk permintaan inferensi.
+ **Tipe**: String
+ **Wajib**: Tidak

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

Lokasi embeddings output dan metadata terkait tergantung pada metode pemanggilan:
+ InvokeModel Dalam tubuh respon.
+ StartAsyncInvoke — Dalam bucket S3 yang ditentukan dalam`s3OutputDataConfig`, setelah pekerjaan pemanggilan asinkron selesai.

Jika ada beberapa vektor embeddings, outputnya adalah daftar objek, masing-masing berisi vektor dan metadata terkait.

Format vektor embeddings output adalah sebagai berikut:

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

Embeddings dikembalikan sebagai susunan pelampung.

Di mana Anda melihat respons ini bergantung pada metode API yang Anda gunakan:
+ InvokeModel — Muncul di badan respons.
+ StartAsyncInvoke — Muncul di lokasi S3 yang Anda tentukan dalam permintaan. Respons mengembalikan sebuah`invocationArn`. Anda dapat menggunakan ini untuk mendapatkan metadata tentang pemanggilan asinkron. Ini termasuk status dan lokasi S3 di mana hasilnya ditulis.

Perluas bagian berikut untuk detail tentang parameter respons:

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

Embeddings vektor representasi input.
+ **Jenis:** Daftar ganda

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

Jenis embeddings.
+ **Tipe**: String
+ **Nilai yang mungkin:**
  + visual — Penyematan visual dari video.
  + audio — Penyematan audio dalam video.
  + transkripsi — Penyematan teks yang ditranskripsi.
+ **Jenis input yang kompatibel:** Video, Audio

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

Menentukan ruang lingkup embeddings untuk mengambil.
+ **Tipe**: String

Anda dapat menyertakan satu atau lebih dari nilai-nilai berikut:
+ clip: Mengembalikan embeddings untuk setiap klip.
+ aset: Mengembalikan embeddings untuk seluruh aset.

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

Offset awal klip.
+ **Tipe:** Ganda
+ **Jenis input yang kompatibel:** Video, Audio

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

Offset akhir klip. Tidak berlaku untuk penyematan teks, gambar, dan text\_image.
+ **Tipe:** Ganda
+ **Jenis input yang kompatibel:** Video, Audio

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

Bagian ini menunjukkan cara menggunakan TwelveLabs Marengo Embed 3.0 model dengan tipe input yang berbeda menggunakan Python. Contoh menunjukkan bagaimana mendefinisikan input khusus model dan menjalankan pemanggilan model.

**catatan**  
InvokeModel mendukung teks, gambar, dan teks dengan input gambar yang disisipkan. Untuk input video dan audio, gunakan StartAsyncInvoke.

Satukan kode Anda dalam langkah-langkah berikut:

**1. Tentukan masukan khusus model**  
Tentukan input khusus model tergantung pada jenis input Anda:

------
#### [ 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. Jalankan pemanggilan model menggunakan input model**  
Kemudian, tambahkan cuplikan kode yang sesuai dengan metode pemanggilan model pilihan Anda.

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

------