VoyageAI by MongoDB: voyage-code-4
Voyage AI voyage-code-4는 질문, 이슈 설명, 코딩 에이전트의 목표에서 관련 소스를 찾는 코드 임베딩 모델입니다. 32,000토큰 입력과 256, 512, 1024, 2048차원을 지원하며, 부동소수점 및 양자화 표현을 제공합니다.
모델 소개
이 설명은 모델의 기능을 다룹니다. Ailoot에서 사용할 수 있는 입력, 출력 및 옵션은 아래에 선택한 메서드별로 표시됩니다.
voyage-code-4는 저장소 검색과 코딩 에이전트 검색을 위한 Voyage AI의 코드 특화 임베딩 모델입니다. 이미 알고 있는 식별자가 아니라 질문, 증상, 작업 설명이 출발점일 때 관련 소스를 찾도록 설계됐습니다. 검색을 위해 코드와 텍스트 정보를 수치 벡터로 표현하며, 저장소를 편집하거나 수정안을 생성하지는 않습니다.
조사 중인 이슈에서 코드 검색하기
제조사는 완료된 풀 리퀘스트에서 선별해 자연어 질의를 코드와 연결한 학습 코퍼스를 설명합니다. 이는 주로 소스 파일과 문서 문자열로 구성한 학습 예시와 의미 있게 다릅니다. 검색 작업을 조사해야 할 동작에서 시작할 수 있습니다.
“빈 결과 때문에 성공한 작업이 실패로 보고되는 위치를 찾아주세요” 같은 질의를 준비하세요. 읽을 수 있는 소스 섹션을 파일 경로 및 관련 주석과 함께 색인하세요. 함수 주변 조건이 동작을 설명한다면 유지하세요. 반환된 후보는 독자나 에이전트가 그 후보가 나타내는 소스 섹션으로 돌아가도록 해야 합니다.
의미 검색은 정확한 식별자 검색과 전문 검색을 보완할 수 있습니다. 함수 이름을 이미 안다면 정확한 조회가 여전히 유용합니다. 증상만 안다면 벡터 검색으로 살펴볼 후보를 얻고, 다른 질의로 정교하게 좁힐 수 있습니다.
질의와 문서 역할
Voyage 검색 안내는 query/document 입력 유형으로 질의와 코퍼스 문서를 구분합니다. 코드 검색에서는 이슈나 작업 설명을 질의로, 색인된 소스 또는 문서를 문서 입력으로 사용하세요. 공개된 방식은 임베딩 중 역할별 검색 지시를 추가합니다.
코드의 원래 서식, 이름, 관련 문서를 벡터 외부에서 계속 확인할 수 있도록 하세요. 소스 섹션에는 파일 경로와 위치를, 프로그래밍 가이드에는 제목을 유지하세요. 검색 후 편집을 선택하기 전에 실제 코드와 호출자를 살펴보세요. 후보가 관련 있다는 사실만으로 보고된 문제의 유일한 원인이라고 볼 수는 없습니다.
컨텍스트와 표현 선택
정확한 모델의 공개 컨텍스트 길이는 32,000토큰입니다. 기본 임베딩은 1024차원이며, Matryoshka 학습으로 256, 512, 2048차원도 지원합니다. 발표 자료는 32비트 부동소수점, 부호 있는 및 없는 8비트 정수, 바이너리 표현을 문서화합니다.
컬렉션에 하나의 차원과 표현을 선택하고 메타데이터와 함께 보관하세요. 부동소수점 벡터와 양자화 표현에는 각각에 맞는 저장 및 비교 처리가 필요합니다. 바이너리 표현은 일반 부동소수점 좌표 목록과 다른 방식으로 벡터 정보를 인코딩합니다. 검색 결과를 준비할 때 이 구분을 유지하세요.
긴 파일에서는 출처 위치를 다시 찾을 수 있는 의미적으로 연결된 섹션을 선택하세요. 함수의 조건을 설명하는 데 인접한 타입 정의나 주석이 필요할 수 있고, 지나치게 큰 전체 파일에는 무관한 자료가 들어갈 수 있습니다. 최대 컨텍스트를 권장 청크 크기로 취급하지 말고 검색할 작업에 섹션을 맞추세요.
검색된 소스를 근거로 활용하기
실제 코딩 에이전트 워크플로는 후보 소스를 검색하고, 해당 파일을 읽고, 관련 참조를 따라가며, 조사가 진행됨에 따라 검색을 좁힙니다. 검색된 텍스트는 추론이나 편집 단계의 맥락이 됩니다. 후보를 올바른 소스와 대조하도록 색인한 저장소 리비전과의 연결을 유지하세요.
voyage-code-4의 에디션 고유 기여는 코딩 에이전트가 사용하는 이슈에서 코드로 이어지는 검색 단계에 초점을 두고, 유연한 차원 및 표현을 제공한다는 점입니다. 출력은 검색 벡터이며, 진단, 편집, 검증은 실제 저장소에 근거한 별도 작업으로 남습니다.
Ailoot Ultra · 임베딩 POST /v1/embeddings voyageai/voyage-code-4
voyageai/voyage-code-4시작하기
Voyage AI voyage-code-4는 질문, 이슈 설명, 코딩 에이전트의 목표에서 관련 소스를 찾는 코드 임베딩 모델입니다. 32,000토큰 입력과 256, 512, 1024, 2048차원을 지원하며, 부동소수점 및 양자화 표현을 제공합니다.
- 허용 입력
- 텍스트 · token_ids
- 결과
- embedding
Ailoot에서 사용 가능 · 입력 및 메서드
Ailoot Ultra · 임베딩 POST /v1/embeddings
- 입력
text,token_ids- 출력
embedding- 컨텍스트
- 32,000 tokens
- 출력 형식
- json
| 필드 | 유형 | 요건 | 값과 한도 | 기본값 |
|---|---|---|---|---|
필드model | 유형string | 요건필수 | 값과 한도 voyageai/voyage-code-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.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-code-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-code-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-code-4
메서드 경로 별칭
위에 표시된 메서드 경로를 사용하세요.
관련 호출용 ID
FAQ · VoyageAI by MongoDB: voyage-code-4
- 어떤 입력과 결과를 사용할 수 있나요?
POST /v1/embeddings·voyageai/voyage-code-4:text,token_ids→embedding- 요청은 어떤 필드를 사용하나요?
POST /v1/embeddings·voyageai/voyage-code-4:model,input,encoding_format,provider- 어떤 제한이 적용되나요?
POST /v1/embeddings·voyageai/voyage-code-4:ctx:32000;input.budget.maximum:32000(UTF8 바이트);input.min_items:1