VoyageAI by MongoDB: voyage-4-large
voyage-4-large는 범용 및 다국어 검색을 위한 Voyage AI의 혼합 전문가 텍스트 임베딩 모델입니다. 벡터는 Voyage 4 계열 공간을 공유하므로, Large로 만든 코퍼스 임베딩을 같은 계열의 다른 모델의 호환되는 질의 임베딩으로 검색할 수 있습니다.
모델 소개
이 설명은 모델의 기능을 다룹니다. Ailoot에서 사용할 수 있는 입력, 출력 및 옵션은 아래에 선택한 메서드별로 표시됩니다.
voyage-4-large는 Voyage 4 계열에 속하는 Voyage AI의 주력 텍스트 임베딩 모델입니다. 범용 및 다국어 검색을 위해 원문 구절과 쿼리를 수치 벡터로 표현합니다. 두 가지 구별되는 특징은 전문가 혼합 모델 설계와 voyage-4-large, voyage-4, voyage-4-lite, voyage-4-nano가 사용하는 공유 임베딩 공간입니다.
공유 공간: 말뭉치와 쿼리에서 별도로 선택하기
제조사는 비대칭 검색을 설명합니다. 문서는 voyage-4-large로 임베딩하고, 쿼리 벡터는 다른 Voyage 4 계열 모델로 준비할 수 있습니다. 예를 들어 Large로 표현한 말뭉치를 voyage-4 쿼리로 검색할 수 있습니다. 이는 검색의 양쪽에서 서로 다른 모델을 선택하면서도 문서화된 호환 공간을 유지하게 합니다.
따라서 실제 자료 모음에서는 Large로 안정적인 문서 구절을 준비하고 쿼리 측 모델을 독립적으로 선택할 수 있습니다. 문서는 말뭉치를 만들거나 갱신할 때 임베딩하고, 쿼리는 사용자가 검색할 때 벡터화합니다. 계열 발표는 호환 계열 안에서 쿼리 모델만 바꾸는 경우 그 변경만을 위해 문서 말뭉치를 다시 벡터화할 필요가 없다고 설명합니다. 비교하는 벡터의 차원 수를 맞추고 검색 시스템이 함께 해석할 수 있는 표현을 유지하세요.
전문가 혼합 임베딩 설계
밀집 피드포워드 레이어는 모든 토큰을 전체 파라미터 집합으로 처리합니다. voyage-4-large에 설명된 MoE 방식은 라우터와 전문가 피드포워드 네트워크를 사용해 각 토큰을 처리할 전문가를 선택합니다. 이는 전체 모델 용량과 특정 토큰에 활성화되는 파라미터를 구별합니다. Voyage는 top-k 라우팅을 사용하는 이 모델의 MoE 설계에서 활성화 비율을 1/10로 보고합니다.
제조사의 기술 설명은 개발 과정의 두 가지 선택도 다룹니다. 전문가 용량은 넘치는 토큰이 잔차 경로로 전문가 레이어를 우회하는지에 영향을 줍니다. 팀은 검색 품질 손실을 피하기 위해 실현 가능한 가장 큰 용량 계수를 선택했습니다. 최종 학습 단계에서는 원본 모델을 보간할 때 학습된 전문가 선택 라우팅이 바뀌지 않도록 모델 병합 전에 라우터 파라미터를 고정합니다. 이는 모델 준비의 특성이며, 입력을 준비할 때 사용하는 텍스트 길이나 잘림 설정과는 별개입니다.
차원 수와 출력 표현
공식 모델 표는 32,000토큰 컨텍스트 창과 선택 가능한 256, 512, 1024, 2048차원 임베딩을 명시하며 기본값은 1024입니다. 이 계열은 중첩된 표현 크기를 위해 Matryoshka 학습을 사용하고, 32비트 부동소수점, 부호가 있거나 없는 8비트 정수, 압축된 바이너리 출력이라는 양자화 선택지를 지원합니다.
바이너리 출력에서는 바이트마다 임베딩 비트 여덟 개가 들어가므로 반환되는 바이트 목록 길이는 선택한 차원 수의 8분의 1입니다. 차원 수와 데이터 유형 선택을 색인과 함께 보관하고 해당 표현을 지원하는 비교 방법을 사용하세요. 더 작거나 압축된 벡터는 검색에 사용하는 표현을 바꿉니다. 자료 모음에 채택하기 전에 실제 질문에서 반환된 구절의 관련성을 평가하세요.
문서와 쿼리 입력 준비하기
Voyage는 말뭉치 구절에 document 역할, 검색 문구에 query 역할을 사용할 것을 권장합니다. 역할 옵션은 임베딩 전에 대응하는 검색 지시를 추가합니다. 구절의 유용한 제목, 조건, 출처 위치를 보존하고 반환된 벡터를 원문 및 안정적인 식별자와 함께 저장하세요.
기술 지식 모음에서 장애 형태에 대한 질문은 해당 형태와 관련 조건을 설명하는 구절로 이어져야 합니다. 여러 언어의 문서 모음에서는 원문 언어를 보존하고 사용자가 검색할 질문과 용어로 평가하세요. 이 버전은 기술 문서, 대화, 긴 문서, 코드, 법률, 금융, 웹 텍스트 등의 검색 자료를 다룹니다. 임베딩은 후보 자료를 찾고, 이후 리랭커나 답변 단계는 원문을 사용합니다.
컨텍스트, 배치, 잘림 한도
제조사의 현재 가이드는 voyage-4-large 요청당 최대 1,000개 문자열과 전체 입력 120,000토큰을 허용합니다. 이는 voyage-4에 명시된 배치 허용량과 다르지만, 두 모델 모두 텍스트당 입력 창은 32,000토큰입니다. 기본 잘림은 길이를 초과한 입력을 창에 맞게 줄입니다. 잘림을 끄면 너무 긴 텍스트에 오류를 반환합니다.
긴 원문에서 잘린 끝부분의 중요한 한정 조건을 잃지 않도록 답이 들어 있는 구절의 경계를 의도적으로 선택하세요. 검색 결과를 반환할 때 출처 연결을 유지하고, 벡터의 근접성을 내용 검증으로 취급하지 말고 실제 후보 텍스트를 확인하세요. 공유 공간 호환성은 문서화된 Voyage 4 텍스트 계열에 적용됩니다. 문맥화된 청크 처리, 이미지·동영상 임베딩, 후속 모델 버전은 각각 고유한 모델별 워크플로입니다.
Ailoot Ultra · 임베딩 POST /v1/embeddings voyageai/voyage-4-large
voyageai/voyage-4-large시작하기
voyage-4-large는 범용 및 다국어 검색을 위한 Voyage AI의 혼합 전문가 텍스트 임베딩 모델입니다. 벡터는 Voyage 4 계열 공간을 공유하므로, Large로 만든 코퍼스 임베딩을 같은 계열의 다른 모델의 호환되는 질의 임베딩으로 검색할 수 있습니다.
- 허용 입력
- 텍스트 · token_ids
- 결과
- embedding
Ailoot에서 사용 가능 · 입력 및 메서드
Ailoot Ultra · 임베딩 POST /v1/embeddings
- 입력
text,token_ids- 출력
embedding- 컨텍스트
- 32,000 tokens
- 출력 형식
- json
| 필드 | 유형 | 요건 | 값과 한도 | 기본값 |
|---|---|---|---|---|
필드model | 유형string | 요건필수 | 값과 한도 voyageai/voyage-4-large | 기본값— |
필드input | 유형string|string[]|integer[]|integer[][] | 요건필수 | 값과 한도 최소 항목 수: 1 조건: 비어 있지 않은 동일 형식의 배치입니다. 토큰 ID는 0 이상의 정수입니다. 입력 허용량: 최댓값: 32,000 · 텍스트 단위: UTF8 바이트 · 토큰 단위: 토큰 배열 요소 | 기본값— |
필드encoding_format | 유형string | 요건선택 사항 | 값과 한도 float | 기본값float |
필드dimensions | 유형integer | 요건지원되지 않음 | 값과 한도 최솟값: 1 | 기본값— |
필드user | 유형json_value | 요건선택 사항 | 값과 한도 조건: 원본에서 이 JSON 메타데이터 필드를 허용하며, 정확한 업스트림 동작은 모델별로 다릅니다. | 기본값— |
필드session_id | 유형json_value | 요건선택 사항 | 값과 한도 조건: 원본에서 이 JSON 메타데이터 필드를 허용하며, 정확한 업스트림 동작은 모델별로 다릅니다. | 기본값— |
필드trace | 유형json_value | 요건선택 사항 | 값과 한도 조건: 원본에서 이 JSON 메타데이터 필드를 허용하며, 정확한 업스트림 동작은 모델별로 다릅니다. | 기본값— |
필드provider | 유형object | 요건선택 사항 | 값과 한도 조건: provider.options가 거부됨 | 기본값— |
입력 자료 조합
text_to_embedding
메서드 매개변수와 수명 주기
| 매개변수 | 명세 |
|---|---|
매개변수content_type | 명세application/json |
매개변수required | 명세model, input |
매개변수input_shapes | 명세string, string[], nonnegative_integer_token_array, nonnegative_integer_token_array[] |
매개변수encoding_format | 명세float |
매개변수dimensions_override | 명세false |
매개변수max_input_budget_units | 명세32000 |
매개변수multimodal_objects | 명세false |
매개변수material_types | 명세text, token_ids |
수명 주기: synchronous_json
모든 벡터의 인덱스와 차원을 보관하세요.
모델 이름이 멀티모달이어도 이 특정 경로에서 이미지 객체를 사용할 수 있는 것은 아닙니다.
요금
요금 정보는 요청 옵션을 추가하지 않습니다. 지원되는 매개변수는 선택한 메서드에 표시됩니다.
- 빠른 모드
- 표준 요금 빠른 모드를 선택한 경우
- Flex 모드
- 표준 요금 flex 모드를 선택한 경우
- 최대 추론 수준
- 표준 요금 최대 추론 수준에 default 조정값을 적용하는 경우
Ailoot 요금
설정별 가격
| 설정 | 요금표 | 요금 |
|---|---|---|
| 설정토큰의 기본 단가 | 요금표기본 요금 | 요금 입력 · 입력 토큰 $0.00024 / 1K 토큰 출력 · 출력 토큰 $0 / 1K 토큰 입력 · 캐시 읽기 — / 1K 토큰 입력 · 캐시 쓰기 — / 1K 토큰 입력 · 캐시 쓰기, 1시간 — / 1K 토큰 |
Ailoot는 요청 전에 예상 금액을 미리 확보합니다. 결과를 받은 뒤 측정된 사용량을 기준으로 최종 요금을 정산합니다. 스트리밍 정산에는 최종 사용량 기록을 사용합니다. 금액 확보와 정산 방식 →
요청 예제
Ailoot Ultra · 임베딩
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "voyageai/voyage-4-large", "input": ["First document", "Second document"]}')
Path("request.json").write_text(json.dumps(p,ensure_ascii=False))
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/embeddings \
-H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
--data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
r=json.loads(Path("result.json").read_text())
for x in r.get("data",[]): print(json.dumps({"index":x.get("index"),"embedding":x.get("embedding")}))
PY_RESULT
from openai import OpenAI
import os
client=OpenAI(base_url="https://api.ailoot.ai/v1",api_key=os.environ["AILOOT_API_KEY"],max_retries=0)
result=client.embeddings.create(model='voyageai/voyage-4-large',input=["First document","Second document"])
print(result)
for item in result.data:print(item.index,item.embedding)
결과 수신 및 저장
Ailoot Ultra · 임베딩
json
완료된 결과 모두 보관
반환된 완전한 응답, 파일, 콘텐츠 부분을 모두 보관하세요.
모든 벡터를 인덱스와 함께 보관하세요. 벡터 수는 입력 수와 같아야 하며 차원은 일관되어야 합니다.
원래 응답을 확인해야 할 경우
임베딩 작업 엔드포인트는 추가되지 않습니다.
응답 필드
| 필드 | 유형 |
|---|---|
필드object | 유형string |
필드model | 유형string |
필드data[].index | 유형integer |
필드data[].embedding | 유형finite float[] |
필드usage | 유형object |
오류와 다음 단계
| 응답 | 조건 | 다음 단계 |
|---|---|---|
응답400 · invalid_request_error | 조건필수 필드, 자료 표현 방식 또는 파라미터 값이 올바르지 않음 | 다음 단계새 생성 요청 전에 표시된 필드를 수정하세요. |
별칭
모델 별칭
Ailoot Ultra voyageai/voyage-4-large
메서드 경로 별칭
위에 표시된 메서드 경로를 사용하세요.
관련 호출용 ID
FAQ · VoyageAI by MongoDB: voyage-4-large
- 어떤 입력과 결과를 사용할 수 있나요?
POST /v1/embeddings·voyageai/voyage-4-large:text,token_ids→embedding- 요청은 어떤 필드를 사용하나요?
POST /v1/embeddings·voyageai/voyage-4-large:model,input,encoding_format,provider- 어떤 제한이 적용되나요?
POST /v1/embeddings·voyageai/voyage-4-large:ctx:32000;input.budget.maximum:32000(UTF8 바이트);input.min_items:1