텍스트, 이미지 또는 이 둘의 조합으로 구성된 멀티모달 입력에 대한 벡터 임베딩을 생성합니다.
이 엔드포인트는 텍스트와 이미지를 어떤 조합으로든 포함할 수 있는 입력을 받아들이고 해당 벡터 표현을 반환합니다.
body
필수 사항
-
벡터화할 멀티모달 입력 목록입니다.
목록의 단일 입력은 단일 키
"content"를 포함하는 사전이며, 이 키의 값은 텍스트와 이미지의 시퀀스를 나타냅니다."content"값은 각각 단일 텍스트 또는 이미지를 나타내는 사전 목록입니다. 사전에는 네 가지 가능한 키가 있습니다.- type: 콘텐츠의 유형을 지정합니다. 허용되는 값은
text,image_url또는image_base64입니다. - text:
type이text인 경우에만 표시됩니다. 값은 텍스트 문자열이어야 합니다. - 이미지_베이스64:
type이(가)image_base64인 경우에만 표시됩니다. 값은 데이터 URL 형식data:[<mediatype>];base64,<data>의 Base64인코딩 이미지여야 합니다. 현재 지원되는mediatypes는image/png,image/jpeg,image/webp및image/gif입니다. - image_url:
type이image_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개 이하의 요소입니다. -
사용할 다중 모드 임베딩 모델입니다. 권장 모델:
voyage-multimodal-3.5.값은
voyage-multimodal-3.5또는voyage-multimodal-3입니다. -
입력 유형입니다. 기본값은
null입니다. 기타 옵션:query,document.input_type가null인 경우 임베딩 모델은inputs를 숫자 벡터로 직접 변환합니다. 검색 또는 검색 을 위해 ' 쿼리"(이 경우 텍스트 또는 이미지일 수 있음)가 '문서'라고 하는 데이터 컬렉션 중에서 관련 정보를 검색하는 경우, 다음을 설정하여inputs이 쿼리인지 문서인지 지정합니다. 각각input_type~query또는document로 변경합니다. 이러한 경우 Voyage는 벡터화하기 전에inputs에 자동으로 프롬프트를 추가하여 검색하다 또는 작업에 더 적합한 벡터를 생성합니다. 입력은 다중 모드일 수 있으므로 '쿼리'와 '문서'는 텍스트, 이미지 또는 두 모달리티의 인터리빙이 될 수 있습니다.input_type인수를 사용하거나 사용하지 않고 생성된 임베딩은 호환됩니다.- 투명성을 위해 다음과 같은 프롬프트가 입력 앞에 추가됩니다.
- 의
query경우 프롬프트는 "Representing the 쿼리 for retreering concern:" 입니다. document의 경우 프롬프트는 "검색할 문서 표시합니다: "입니다.
값은
query,document또는 null입니다. -
컨텍스트 길이에 맞게 입력을 자를지 여부입니다. 기본값은
true입니다.true인 경우 임베딩 모델에 의해 벡터화하기 전에 길이가 긴 입력이 컨텍스트 길이에 맞게 잘립니다. 이미지 중간에서 잘림이 발생하면 전체 이미지가 삭제됩니다.false인 경우, 입력이 컨텍스트 길이를 초과하면 오류가 발생합니다.
기본값은
true입니다. -
임베딩이 인코딩되는 형식입니다. 기본값은
null입니다.null인 경우 임베딩은 부동 소수점 숫자 목록으로 표시됩니다.base64인 경우 임베딩은 기본64인코딩된 단정밀도 부동 소수점 배열로 인코딩된 NumPy 배열 로 표시됩니다.
값이
base64또는 null입니다.
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"
}
{
"object": "list",
"data": [
{
"object": "embedding",
"embedding": [
42.0
],
"index": 42
}
],
"model": "string",
"usage": {
"text_tokens": 42,
"image_pixels": 42,
"total_tokens": 42
}
}
{
"detail": "string"
}
{
"detail": "string"
}
{
"detail": "string"
}
{
"detail": "string"
}
{
"detail": "string"
}
{
"detail": "string"
}
{
"detail": "string"
}
{
"detail": "string"
}