VoyageAI by MongoDB: voyage-4
voyage-4는 범용 및 다국어 검색을 위해 텍스트를 임베딩하며, Voyage 4 계열 전반에서 벡터 공간을 공유합니다. 32,000토큰 입력, 선택 가능한 256–2048차원 출력, 검색 및 RAG용 query/document 역할을 지원합니다.
모델 소개
이 설명은 모델의 기능을 다룹니다. Ailoot에서 사용할 수 있는 입력, 출력 및 옵션은 아래에 선택한 메서드별로 표시됩니다.
voyage-4는 Voyage AI의 Voyage 4 계열에 속하는 중간 크기 텍스트 임베딩 모델입니다. 범용 및 다국어 검색을 위해 질의와 문서 텍스트를 수치 벡터로 변환합니다. 계열의 핵심 기능은 공통 임베딩 공간입니다. voyage-4, voyage-4-large, voyage-4-lite, voyage-4-nano는 호환되는 표현을 생성하므로, 검색 작업의 질의와 문서 쪽에서 계열 내 서로 다른 모델을 사용할 수 있습니다.
공통 공간과 비대칭 검색
제조사는 질의와 코퍼스에 다른 모델을 사용하는 방식을 비대칭 검색이라고 부릅니다. 문서화된 한 방식은 코퍼스를 voyage-4-large로 준비하고 voyage-4 질의 임베딩으로 검색하는 것입니다. 코퍼스는 처음 한 번 또는 원본 자료가 바뀔 때 임베딩하고, 질의 벡터는 검색이 들어올 때 생성합니다. 공통 공간 덕분에 계열 내 질의 모델을 바꾸더라도, 그 전환만을 위해 코퍼스를 다시 임베딩할 필요는 없습니다.
비교하는 벡터 간 출력 차원과 표현의 호환성을 유지하세요. 공통 공간에 대한 설명은 명시된 Voyage 4 텍스트 모델에 적용됩니다. 무관한 두 모델이 같은 길이의 배열을 반환한다는 이유만으로 성립하지 않습니다. 따라서 실제 작업에서는 검색 양쪽에 voyage-4를 사용하거나, 표현 설정이 일치하면 기존 voyage-4-large 문서 색인을 voyage-4 질의 벡터로 검색할 수 있습니다.
질의와 문서 역할
검색에서는 Voyage가 입력 텍스트를 query 또는 document로 구분할 것을 권장합니다. 입력 역할 옵션은 벡터화 전에 해당 검색 지시를 제공합니다. 코퍼스 지문을 문서로, 사용자의 검색 표현을 질의로 준비하고, 저장된 각 벡터와 함께 실제 원문 및 식별자를 유지하세요.
예를 들어 지식 검색 컬렉션은 기술 지침과 제품 설명을 색인할 수 있습니다. 가져오기가 실패한 뒤 어떤 일이 일어나는지 묻는 질의에는 해당 동작을 설명하는 원문 지문을 반환해야 합니다. 결과 검색 항목을 살펴보거나 후속 RAG 답변 단계에서 사용할 수 있도록 지문과 함께 제목, 관련 조건, 출처 위치를 보존하세요. 임베딩은 수치 검색 표현이며, 기반 지문이 후속 단계에서 사용하는 근거입니다.
차원과 출력 데이터 유형
문서화된 텍스트별 컨텍스트 범위는 32,000토큰입니다. 선택 가능한 차원은 256, 512, 1024, 2048이며 기본값은 1024입니다. Matryoshka 학습이 이렇게 중첩된 표현 크기를 제공합니다. 계열의 양자화 인식 준비 방식으로 출력에는 32비트 부동소수점, 부호 있는 또는 없는 8비트 정수, 패킹된 바이너리 값을 사용할 수 있습니다.
패킹된 바이너리 출력은 반환된 바이트마다 임베딩 비트 8개를 저장하므로, 바이트 목록 길이가 선택한 차원의 8분의 1입니다. 바이트 수와 임베딩 차원의 의미는 다릅니다. 검색 색인이 해석할 수 있는 표현을 선택하고, 압축 구성을 정하기 전에 컬렉션에서 실제 사용하는 질문과 언어로 후보 관련성을 살펴보세요.
입력 길이, 배치, 잘림
제조사의 현재 텍스트 임베딩 가이드는 voyage-4 요청에서 최대 1,000개 문자열과 총 320,000토큰을 허용합니다. 배치 허용량은 입력마다 적용되는 32,000토큰 범위와 별개입니다. 잘림은 기본적으로 활성화되어 있어, 너무 긴 텍스트가 들어가면 맞도록 줄입니다. 잘림을 비활성화하면 길이 초과 항목은 대신 오류가 됩니다.
긴 보고서나 전사문에서는 입력 경계에서 잘리는 동작에 의존하지 말고, 답을 담은 지문을 의도적으로 준비하세요. 각 지문을 상위 문서 및 원본 버전에 연결하세요. 일반 voyage-4 임베딩 입력은 개별 텍스트입니다. 맥락을 반영하는 청크 그룹 처리는 별도로 문서화된 문맥 임베딩 모델의 기능입니다.
검색 결과 활용하기
벡터를 지문 텍스트 및 안정적인 원본 식별자와 함께 저장하고, 각 질의 벡터를 호환되는 문서 벡터와 비교해 후보 지문을 반환하세요. 계열 릴리스는 기술 문서, 대화, 긴 문서, 코드, 법률, 금융, 웹 텍스트 등의 자료 전반에서 검색을 평가합니다. 별도의 리랭커가 후보를 정교화하고, 후속 답변 단계가 그 텍스트를 사용할 수 있습니다. 반환된 지문을 작업에 맞춰 평가하세요. 공통 공간 호환성은 모델 조합을 가능하게 하지만, 결과의 유용성은 여전히 원본 자료와 질문에 달려 있습니다.
Ailoot Ultra · 임베딩 POST /v1/embeddings voyageai/voyage-4
voyageai/voyage-4시작하기
voyage-4는 범용 및 다국어 검색을 위해 텍스트를 임베딩하며, Voyage 4 계열 전반에서 벡터 공간을 공유합니다. 32,000토큰 입력, 선택 가능한 256–2048차원 출력, 검색 및 RAG용 query/document 역할을 지원합니다.
- 허용 입력
- 텍스트 · token_ids
- 결과
- embedding
Ailoot에서 사용 가능 · 입력 및 메서드
Ailoot Ultra · 임베딩 POST /v1/embeddings
- 입력
text,token_ids- 출력
embedding- 컨텍스트
- 32,000 tokens
- 출력 형식
- json
| 필드 | 유형 | 요건 | 값과 한도 | 기본값 |
|---|---|---|---|---|
필드model | 유형string | 요건필수 | 값과 한도 voyageai/voyage-4 | 기본값— |
필드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.00012 / 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", "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',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
메서드 경로 별칭
위에 표시된 메서드 경로를 사용하세요.
관련 호출용 ID
FAQ · VoyageAI by MongoDB: voyage-4
- 어떤 입력과 결과를 사용할 수 있나요?
POST /v1/embeddings·voyageai/voyage-4:text,token_ids→embedding- 요청은 어떤 필드를 사용하나요?
POST /v1/embeddings·voyageai/voyage-4:model,input,encoding_format,provider- 어떤 제한이 적용되나요?
POST /v1/embeddings·voyageai/voyage-4:ctx:32000;input.budget.maximum:32000(UTF8 바이트);input.min_items:1