TwelveLabs Marengo Embed 2.7 - Amazon Bedrock

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

TwelveLabs Marengo Embed 2.7

TwelveLabs Marengo Embed 2.7Model menghasilkan embeddings dari video, teks, audio, atau input gambar. Embeddings ini dapat digunakan untuk pencarian kesamaan, pengelompokan, dan tugas pembelajaran mesin lainnya.

  • Penyedia — TwelveLabs

  • ID Model — twelvelabs.marengo-embed-2-7-v1:0

TwelveLabs Marengo Embed 2.7Model ini mendukung operasi Amazon Bedrock Runtime dalam tabel berikut.

Operasi API Jenis model yang didukung Modalitas masukan Modalitas keluaran

InvokeModel

Profil inferensi

Teks

Citra

Menyematkan

StartAsyncInvoke Model dasar

Video

Audio

Citra

Teks

Menyematkan

catatan

Gunakan InvokeModel untuk menghasilkan embeddings untuk kueri penelusuran. Gunakan StartAsyncInvoke untuk menghasilkan embeddings untuk aset dalam skala besar.

Kuota berikut berlaku untuk input:

Modalitas masukan Maksimum
Teks 77 token
Citra 5 MB
Video (S3) 2 GB
Audio (S3) 2 GB
catatan

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

TwelveLabs Marengo Embed 2.7parameter permintaan

Saat Anda membuat permintaan, bidang di mana input khusus model ditentukan bergantung pada operasi API:

Format input model tergantung pada modalitas 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 }

Perluas bagian berikut untuk detail tentang parameter input:

Modalitas untuk penyematan.

  • Tipe: String

  • Wajib: Ya

  • Nilai yang valid: video | text | audio | image

Teks yang akan disematkan.

  • Tipe: String

  • Diperlukan: Ya (untuk jenis input yang kompatibel)

  • Jenis masukan yang kompatibel: Teks

Menentukan bagaimana platform memotong teks.

  • Tipe: String

  • Wajib: Tidak

  • Nilai yang valid:

    • end— Memotong akhir teks.

    • none— Mengembalikan kesalahan jika teks melebihi batas

  • Nilai default: akhir

  • Jenis masukan yang kompatibel: Teks

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

    { "s3Location": { "uri": "string", "bucketOwner": "string" } }
    • uri— URI S3 yang berisi media.

    • bucketOwner— ID AWS akun pemilik bucket S3.

Menentukan jenis embeddings untuk mengambil.

  • Tipe: Daftar

  • Wajib: Tidak

  • Nilai yang valid untuk anggota daftar:

    • visual-text— Penyematan visual yang dioptimalkan untuk pencarian teks.

    • visual-image- Penyematan visual yang dioptimalkan untuk pencarian gambar.

    • audio— Penyematan audio dalam video.

  • Nilai default: ["visual-text”, “visual-image”, “audio"]

  • Jenis input yang kompatibel: Video, Audio

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

Waktu dalam hitungan detik, dihitung dari titik startSec waktu, setelah itu pemrosesan harus berhenti.

  • Tipe: Ganda

  • Wajib: Tidak

  • Nilai yang valid: 0 - Durasi media

  • Nilai default: Durasi media

  • Jenis input yang kompatibel: Video, Audio

Misalnya:

  • StartSec: 5

  • PanjangSec: 20

  • Hasil: Klip akan diproses dari 0:05 hingga 0:20.

Durasi setiap klip yang modelnya harus menghasilkan penyematan.

  • Tipe: Ganda

  • Wajib: Tidak

  • Parameter nilai: 2 - 10. Harus lebih besar dari atau sama denganminClipSec.

  • Nilai default: Tergantung pada jenis media:

    • Video: Dibagi secara dinamis dengan deteksi batas bidikan

    • Audio: Dibagi secara merata dan sedekat mungkin dengan 10. Misalnya:

      • Klip 50 detik akan dibagi menjadi 5 segmen 10 detik.

      • Klip 16 detik akan dibagi menjadi 2 segmen 8 detik.

  • Jenis input yang kompatibel: - Video, Audio

  • Catatan: Harus lebih besar dari atau sama denganminClipSec.

Menetapkan nilai minimum untuk setiap klip dalam hitungan detik.

  • Jenis: int

  • Wajib: Tidak

  • Parameter nilai: Rentang: 1-5

  • Nilai default: 4

  • Jenis masukan yang kompatibel: Video

  • Catatan: Harus kurang dari atau sama denganuseFixedLengthSec.

TwelveLabs Marengo Embed 2.7respon

Lokasi embeddings output dan metadata terkait tergantung pada metode pemanggilan:

  • InvokeModelDalam tubuh respon.

  • StartAsyncInvoke— Dalam bucket S3 yang ditentukan dalams3OutputDataConfig, setelah pekerjaan pemanggilan asinkron selesai.

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

Format vektor embeddings output adalah sebagai berikut:

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

Perluas bagian berikut untuk detail tentang parameter respons:

Embeddings vektor representasi input.

  • Jenis: Daftar ganda

Jenis embeddings.

  • Tipe: String

  • Nilai yang mungkin:

    • visual-text— Penyematan visual yang dioptimalkan untuk pencarian teks.

    • visual-image- Penyematan visual yang dioptimalkan untuk pencarian gambar.

    • audio— Penyematan audio dalam video.

  • Jenis masukan yang kompatibel: Video

Offset awal klip.

  • Tipe: Ganda

  • Jenis input yang kompatibel: Video, Audio

Offset akhir klip, dalam hitungan detik.

  • Tipe: Ganda

  • Jenis input yang kompatibel: Video, Audio

TwelveLabs Marengo Embed 2.7contoh kode

Bagian ini menunjukkan cara menggunakan TwelveLabs Marengo Embed 2.7 model dengan tipe input yang berbeda menggunakan Python.

catatan

Saat ini, InvokeModel hanya mendukung input teks dan gambar.

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-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. 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://&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}")