POST /multimodalembeddings

텍스트, 이미지 또는 이 둘의 조합으로 구성된 멀티모달 입력에 대한 벡터 임베딩을 생성합니다.

이 엔드포인트는 텍스트와 이미지를 어떤 조합으로든 포함할 수 있는 입력을 받아들이고 해당 벡터 표현을 반환합니다.

application/json

body 필수 사항

  • 입력 배열[객체] 필수 사항

    벡터화할 멀티모달 입력 목록입니다.

    목록의 단일 입력은 단일 키 "content"를 포함하는 사전이며, 이 키의 값은 텍스트와 이미지의 시퀀스를 나타냅니다.

    • "content" 값은 각각 단일 텍스트 또는 이미지를 나타내는 사전 목록입니다. 사전에는 네 가지 가능한 키가 있습니다.
    • type: 콘텐츠의 유형을 지정합니다. 허용되는 값은 text, image_url 또는 image_base64입니다.
    • text: typetext인 경우에만 표시됩니다. 값은 텍스트 문자열이어야 합니다.
    • 이미지_베이스64: type 이(가) image_base64인 경우에만 표시됩니다. 값은 데이터 URL 형식 data:[<mediatype>];base64,<data>의 Base64인코딩 이미지여야 합니다. 현재 지원되는 mediatypesimage/png, image/jpeg, image/webpimage/gif입니다.
    • image_url: typeimage_url인 경우에만 표시됩니다. 값은 이미지로 연결되는 URL 이어야 합니다. PNG, JPEG, WEBP 및 GIF 이미지를 지원 .
    • 참고: 이미지 데이터의 각 사전에는 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 에 기본64 이미지가 포함된 페이로드 예시:

    아래는 이미지 콘텐츠가 URL 아닌 기본64 이미지인 위의 예와 동일한 예시 입니다. (기본64 이미지는 길 수 있으므로 이 예시 축약된 버전만 표시합니다.)

    { "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 개 이상의 입력이 포함되어서는 안 됩니다.
    • 각 이미지는 16 백만 픽셀을 초과하거나 크기가 20 MB를 초과할 수 없습니다.
    • 이미지의 모든 560 픽셀이 토큰으로 계산될 때 목록의 각 입력은 32,000 토큰을 초과하지 않아야 하며, 모든 입력의 총 토큰 수는 320를 초과하지 않아야 합니다.000.

    최소 1 개, 1000 개 이하의 요소입니다.

    입력 속성 숨기기 입력 속성 표시 객체
    • 내용 배열[객체] 필수 사항

      텍스트와 이미지의 시퀀스입니다.

      요소가 1 개 이상이어야 합니다.

      다음 중 하나입니다.
  • 모델 문자열 필수 사항

    사용할 다중 모드 임베딩 모델입니다. 권장 모델: voyage-multimodal-3.5.

    값은 voyage-multimodal-3.5 또는 voyage-multimodal-3입니다.

  • input_type

    입력 유형입니다. 기본값은 null입니다. 기타 옵션: query, document.

    • input_typenull인 경우 임베딩 모델은 inputs 를 숫자 벡터로 직접 변환합니다. 검색 또는 검색 을 위해 ' 쿼리"(이 경우 텍스트 또는 이미지일 수 있음)가 '문서'라고 하는 데이터 컬렉션 중에서 관련 정보를 검색하는 경우, 다음을 설정하여 inputs 이 쿼리인지 문서인지 지정합니다. 각각 input_type ~ query 또는 document 로 변경합니다. 이러한 경우 Voyage는 벡터화하기 전에 inputs 에 자동으로 프롬프트를 추가하여 검색하다 또는 작업에 더 적합한 벡터를 생성합니다. 입력은 다중 모드일 수 있으므로 '쿼리'와 '문서'는 텍스트, 이미지 또는 두 모달리티의 인터리빙이 될 수 있습니다. input_type 인수를 사용하거나 사용하지 않고 생성된 임베딩은 호환됩니다.
    • 투명성을 위해 다음과 같은 프롬프트가 입력 앞에 추가됩니다.
    • query 경우 프롬프트는 "Representing the 쿼리 for retreering concern:" 입니다.
    • document의 경우 프롬프트는 "검색할 문서 표시합니다: "입니다.

    값은 query, document 또는 null입니다.

  • 잘라내기 부울

    컨텍스트 길이에 맞게 입력을 자를지 여부입니다. 기본값은 true입니다.

    • true인 경우 임베딩 모델에 의해 벡터화하기 전에 길이가 긴 입력이 컨텍스트 길이에 맞게 잘립니다. 이미지 중간에서 잘림이 발생하면 전체 이미지가 삭제됩니다.
    • false인 경우, 입력이 컨텍스트 길이를 초과하면 오류가 발생합니다.

    기본값은 true 입니다.

  • output_encoding

    임베딩이 인코딩되는 형식입니다. 기본값은 null입니다.

    • null인 경우 임베딩은 부동 소수점 숫자 목록으로 표시됩니다.
    • base64인 경우 임베딩은 기본64인코딩된 단정밀도 부동 소수점 배열로 인코딩된 NumPy 배열 로 표시됩니다.

    값이 base64 또는 null입니다.

응답

  • 200 application/json

    Success

    응답 속성 숨기기 응답 속성 표시 객체
    • 객체 문자열 필수 사항

      Realm 객체 유형으로, 항상 list입니다.

      값은 list입니다.

    • 데이터 배열[객체] 필수 사항

      임베딩 객체의 배열.

      데이터 속성 숨기기 데이터 속성 표시 객체
      • 객체 문자열 필수 사항

        Realm 객체 유형으로, 항상 embedding입니다.

        값은 embedding입니다.

      • 임베딩 배열[숫자] | string 필수 사항

        임베딩 벡터입니다. output_encoding 이 null인 경우 이는 부동 소수점 숫자의 배열 입니다. output_encodingbase64인 경우 이는 기본64인코딩된 string입니다.

        다음 중 하나입니다.

        output_encoding이 null일 때 배열 형식

        output_encoding이 base64인 경우 Base64로 인코딩된 형식입니다.

      • index integer 필수 사항

        임베딩 목록 내 임베딩 인덱스 를 나타내는 정수입니다.

    • 모델 문자열 필수 사항

      모델의 이름입니다.

    • 사용법 객체 필수 사항
      사용량 속성 숨기기 사용량 속성 표시 객체
      • text_tokens integer 필수 사항

        입력 목록에 있는 텍스트 토큰의 총 개수입니다.

      • 이미지_화소 integer 필수 사항

        입력 목록에 있는 이미지 픽셀의 총 개수입니다.

      • total_tokens integer 필수 사항

        텍스트 및 이미지 토큰의 합계입니다. 모든 560 픽셀은 토큰으로 계산됩니다.

  • 400 application/json

    Invalid Request

    응답 속성 숨기기 응답 속성 표시 객체
    • 세부 정보 문자열

      요청 이 유효하지 않습니다. 이 오류는 잘못된 JSON, 잘못된 매개변수 유형, 잘못된 데이터 유형, 배치 크기가 너무 크거나, 총 토큰이 제한을 초과하거나, 예시 의 토큰이 컨텍스트 길이를 초과하기 때문에 발생할 수 있습니다.

  • 401 application/json

    승인되지 않음

    응답 속성 숨기기 응답 속성 표시 객체
    • 세부 정보 문자열

      잘못된 인증. 모델 API 키가 권한 부여 헤더에 Bearer VOYAGE_API_KEY(으)로 올바르게 지정되어 있는지 확인합니다.

  • 403 application/json

    Forbidden

    응답 속성 숨기기 응답 속성 표시 객체
    • 세부 정보 문자열

      액세스가 금지되어 있습니다. 요청 을 보내는 IP 주소 허용되지 않은 경우 이 문제가 발생할 수 있습니다.

  • 429 application/json

    속도 제한 초과

    응답 속성 숨기기 응답 속성 표시 객체
    • 세부 정보 문자열

      속도 제한을 초과했습니다. 요청 빈도 또는 토큰 사용량이 너무 높습니다. 요청 속도를 낮추거나 잠시 기다렸다가 다시 시도하세요.

  • 500 application/json

    내부 서버 오류

    응답 속성 숨기기 응답 속성 표시 객체
    • 세부 정보 문자열

      서버 에서 예기치 않은 오류가 발생했습니다. 잠시 기다린 후 요청 다시 시도하세요.

  • 502 application/json

    잘못된 게이트웨이

    응답 속성 숨기기 응답 속성 표시 객체
    • 세부 정보 문자열

      서버 업스트림 서버 로부터 잘못된 응답을 받았습니다. 잠시 기다린 후 요청 다시 시도하세요.

  • 503 application/json

    서비스를 사용할 수 없음

    응답 속성 숨기기 응답 속성 표시 객체
    • 세부 정보 문자열

      트래픽 증가 또는 유지 관리로 인해 서비스를 일시적으로 사용할 수 없습니다. 잠시 기다린 후 요청 다시 시도하세요.

  • 504 application/json

    게이트웨이 시간 초과

    응답 속성 숨기기 응답 속성 표시 객체
    • 세부 정보 문자열

      서버 업스트림 서버 로부터 시기적절한 응답을 받지 못했습니다. 잠시 기다린 후 요청 다시 시도하세요.

게시 /multimodalembeddings
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"
}