POST /multimodal embeddeds

テキスト、画像、またはその両方の組み合わせで構成されるマルチモーダル入力に対してベクトル埋め込みを作成します。

このエンドポイントとなる接続されたデバイスは、テキストと画像を任意の組み合わせで含めることができる入力を受け入れ、そのベクトル表現を返します。

application/ JSON

body 必須

  • inputs array[オブジェクト] 必須

    ベクトル化するマルチモーダル入力のリスト。

    リストの単一入力は、単一のキー "content" を含む辞書であり、その値はテキストと画像のシーケンスを表します。

    • "content" の値は辞書のリストで、各辞書は 1 つのテキストまたは画像を表します。辞書には次の 4 つのキーがあります。
    • type: コンテンツの部分のタイプを指定します。許可されている値は、textimage_url、または image_base64 です。
    • テキスト: typetext の場合にのみ存在します。値はテキスト string である必要があります。
    • image_base64: typeimage_base64 の場合にのみ存在します。値は、データURL形式data:[<mediatype>];base64,<data> の Base64 エンコードされたイメージである必要があります。現在サポートされている mediatypes は、image/pngimage/jpegimage/webpimage/gif です。
    • image_url: typeimage_url の場合にのみ存在します。値は、イメージにリンクするURLです。PNG、
    • : イメージ データの各辞書には、image_base64 または image_url のいずれかのキーのみを含める必要があります。リクエスト内で 整合性 が必要です。つまり、各リクエストでは、image_base64 または image_url のいずれかを使用し、両方を使用することはできません。

    inputs にURLとして画像が含まれる例のペイロード:

    inputs リストには、テキストと画像(URL経由で提供)で構成される単一の入力が含まれています。

    { "inputs": [ { "content": [ { "type": "text", "text": "This is a banana." }, { "type": "image_url", "image_url": "https://raw.githubusercontent.com/voyage-ai/voyage-multimodal-3/refs/heads/main/images/banana.jpg" } ] } ], "model": "voyage-multimodal-3.5" }
    

    inputs に base64 イメージが含まれるペイロードの例は次のとおりです。

    以下は、イメージ コンテンツがURLではなく base64 イメージである、上記と同等の例です。(Base64 のイメージは長くなる可能性があるため、この例では短縮されたバージョンのみが表示されます)。

    { "inputs": [ { "content": [ { "type": "text", "text": "This is a banana." }, { "type": "image_base64", "image_base64": "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAA..." } ] } ], "model": "voyage-multimodal-3.5" }
    

    inputs リストには次の制約が適用されます。

    • リストには 1000 以下の入力を含めることができます。
    • 各画像には、1600 万ドキュメント以下、またはサイズが 20 MB 以上である必要があります。
    • ページのすべての 560 ドキュメントはトークンとしてカウントされ、リスト内の各入力は 32、000 トークンを超えてはなりません。すべての入力にわたるトークンの合計数は 320,000 を超えてはなりません}。

    1 以上、1000 以下の要素。

    入力属性を非表示 入力属性の表示 オブジェクト
    • コンテンツを array[オブジェクト] 必須

      テキストとイメージのシーケンス。

      少なくとも 1 要素。

      次の 1 つ:
  • モデル string 必須

    使用するマルチモーダル埋め込みモデル。推奨モデル: voyage-multimodal-3.5

    値は voyage-multimodal-3.5 または voyage-multimodal-3 です。

  • input_type

    入力のタイプ。デフォルトは null です。その他のオプション: querydocument

    • input_typenull の場合、埋め込みモデルは inputs を数値ベクトルに直接変換します。検索または検索の目的で、「クエリ」(この場合はテキストまたはイメージ)が、「ドキュメント」と呼ばれるデータのコレクション内で関連情報を検索する場合、inputs がクエリであるか、ドキュメントであるかは、設定によって指定されます。それぞれ、input_typeから query、または document へ。このような場合、Voyage はベクトル化する前に inputs の先頭にプロンプトを自動的に付加し、検索するまたはタスク向けによりカスタマイズされたベクトルを作成します。入力はマルチモーダル化できるため、「クエリ」と「ドキュメント」はテキスト、画像、または両方のモーダルのインターリーブになります。input_type 引数の有無にかかわらず生成された埋め込みは互換性があります。
    • 透過性のために、次のプロンプトが入力の前に追加されます。
    • query の場合、プロンプトは「サポートされているドキュメントを取得するためのクエリを表します: 」
    • document の場合、プロンプトは「取得用のドキュメントを表します: 」です。

    値は querydocument、または null です。

  • 切り捨て ブール値

    コンテキストの長さ内に収まるように入力を切り捨てるかどうか。デフォルトは true です。

    • true の場合、埋め込みモデルによるベクトル化の前に、長さを超える入力はコンテキストの長さ内に収まるように切り捨てられます。切り捨てがイメージの途中で発生すると、イメージ全体が破棄されます。
    • false の場合、いずれかの入力がコンテキストの長さを超えるとエラーが発生します。

    デフォルト値はtrueです。

  • output_encoding

    埋め込みがエンコードされる形式。デフォルトは null です。

    • null の場合、埋め込みは浮動小数点数のリストとして表されます。
    • base64 の場合、埋め込みは base64 でエンコードされた単精度浮動小数点数の NumPy 配列として表されます。

    値は base64 または null です。

応答

  • 200 application/ JSON

    成功

    応答属性の非表示 応答属性の表示 オブジェクト
    • オブジェクト string 必須

      Realm オブジェクトタイプ。常に list です。

      値は list です。

    • データ array[オブジェクト] 必須

      埋め込みオブジェクトの配列。

      データ属性の非表示 データ属性の表示 オブジェクト
      • オブジェクト string 必須

        Realm オブジェクトタイプ。常に embedding です。

        値は embedding です。

      • 埋め込み 配列[number] | string 必須

        埋め込みベクトル。output_encoding が null の場合、これは浮動小数点数の配列になります。output_encodingbase64 の場合、これは base64 でエンコードされた string になります。

        次の 1 つ:

        output_encoding が null の場合の配列形式

        output_encoding が base64 の場合に base64 でエンコードされた形式

      • index integer 必須

        埋め込みのリスト内の埋め込みのインデックスを表す整数。

    • モデル string 必須

      モデルの名前。

    • 使用法 オブジェクト 必須
      使用属性の非表示 使用属性の表示 オブジェクト
      • text_tokens integer 必須

        入力リスト内のテキスト トークンの合計数。

      • image_triggers integer 必須

        入力リスト内のイメージ ドットの合計数。

      • total_tokens integer 必須

        テキスト トークンとイメージ トークンの合計。すべての 560 ドキュメントはトークンとしてカウントされます。

  • 400 application/ JSON

    Invalid Request

    応答属性を非表示 応答属性の表示 オブジェクト
    • 詳細 string

      リクエストは無効です。このエラーは、無効なJSON、無効なパラメータ型、誤ったデータ型、バッチするサイズが大きすぎる、トークンの合計が制限を超える、または例内のトークンがコンテキストの長さを超えるために発生する可能性があります。

  • 401 application/ JSON

    許可されていない

    応答属性を非表示 応答属性の表示 オブジェクト
    • 詳細 string

      認証 が無効です。モデルAPIキーが Authorization ヘッダーに Bearer VOYAGE_API_KEY として正しく指定されていることを確認します。

  • 403 application/ JSON

    Forbidden

    応答属性を非表示 応答属性の表示 オブジェクト
    • 詳細 string

      アクセスは禁止されています。リクエストのリクエスト元IPアドレスが許可されていない場合、この状況が発生することがあります。

  • 429 application/ JSON

    レート制限を超えました

    応答属性を非表示 応答属性の表示 オブジェクト
    • 詳細 string

      レート制限を超えました。リクエスト頻度またはトークン使用量が高すぎます。リクエストレートを減らすか、再試行する前に待機します。

  • 500 application/ JSON

    内部サーバーエラー

    応答属性を非表示 応答属性の表示 オブジェクト
    • 詳細 string

      サーバーで予期しないエラーが発生しました。短時間待機した後に、リクエストを再試行します。

  • 502 application/ JSON

    バード ゲートウェイ

    応答属性を非表示 応答属性の表示 オブジェクト
    • 詳細 string

      サーバーはアップストリームサーバーから無効な応答を受信しました。短時間待機した後に、リクエストを再試行します。

  • 503 application/ JSON

    サービスは利用できません

    応答属性を非表示 応答属性の表示 オブジェクト
    • 詳細 string

      トラフィック量やメンテナンスが多いため、サービスは一時的に利用できなくなります。短時間待機した後に、リクエストを再試行します。

  • 504 application/ JSON

    ゲートウェイ タイムアウト

    応答属性を非表示 応答属性の表示 オブジェクト
    • 詳細 string

      サーバーは上流サーバーから時間に応じた応答を受信しませんでした。短時間待機した後に、リクエストを再試行します。

POST /multimodal embeddeds
curl \
 --request POST 'https://ai.mongodb.com/v1/multimodalembeddings' \
 --header "Authorization: Bearer $ACCESS_TOKEN" \
 --header "Content-Type: application/json" \
 --data '{"inputs":[{"content":[{"type":"text","text":"string"}]}],"model":"voyage-multimodal-3.5","input_type":"query","truncation":true,"output_encoding":"base64"}'
リクエスト例
{
  "inputs": [
    {
      "content": [
        {
          "type": "text",
          "text": "string"
        }
      ]
    }
  ],
  "model": "voyage-multimodal-3.5",
  "input_type": "query",
  "truncation": true,
  "output_encoding": "base64"
}
応答の例(200)
{
  "object": "list",
  "data": [
    {
      "object": "embedding",
      "embedding": [
        42.0
      ],
      "index": 42
    }
  ],
  "model": "string",
  "usage": {
    "text_tokens": 42,
    "image_pixels": 42,
    "total_tokens": 42
  }
}
応答の例(400)
{
  "detail": "string"
}
応答の例(401)
{
  "detail": "string"
}
応答の例(403)
{
  "detail": "string"
}
応答の例(429)
{
  "detail": "string"
}
応答の例(500)
{
  "detail": "string"
}
応答の例(502)
{
  "detail": "string"
}
応答の例(503)
{
  "detail": "string"
}
応答の例(504)
{
  "detail": "string"
}