Qwen: Qwen3 Embedding 4B
Qwen3-Embedding-4B는 텍스트를 의미 벡터로 표현해 다국어 검색, 코드 검색, 분류, 군집화에 활용합니다. 이 4B 모델은 32K토큰의 시퀀스 길이와 32~2,560차원의 사용자 지정 벡터를 지원합니다.
모델 소개
이 설명은 모델의 기능을 다룹니다. Ailoot에서 사용할 수 있는 입력, 출력 및 옵션은 아래에 선택한 메서드별로 표시됩니다.
Qwen3-Embedding-4B는 Qwen의 임베딩 및 리랭킹 제품군에 속하는 4B 텍스트 임베딩 버전입니다. 밀집형 Qwen3 기반 모델을 바탕으로 텍스트 구간의 의미를 수치 표현으로 변환합니다. Qwen은 텍스트 검색, 코드 검색, 분류, 군집화, 병렬 텍스트 마이닝을 활용 분야로 제시합니다. 애플리케이션에서 관련 구절을 찾거나, 비슷한 기록을 묶거나, 서로 다른 언어의 텍스트를 비교해야 할 때 유용합니다. 모델의 출력은 임베딩 벡터이며, 대화형 응답이나 다시 작성한 문서가 아닙니다.
이 버전의 시퀀스 길이는 32K토큰이며, 임베딩 차원은 최대 2,560입니다. Matryoshka Representation Learning을 통해 32~2,560차원의 사용자 지정 출력을 지원합니다. 선택한 벡터 길이는 표현의 저장 및 비교 방식에 영향을 주므로, 하나의 컬렉션에서는 질의 벡터와 문서 벡터의 길이를 일관되게 유지하세요. Qwen3-Embedding-8B는 모델 크기가 다르고 최대 차원이 4,096입니다. 그 출력 크기나 8B 모델의 정체성을 이 4B 버전에 적용해서는 안 됩니다. 기존 인덱스는 자체적으로 선택한 표현 방식을 일관되게 유지해야 합니다.
제작사는 프로그래밍 언어를 포함해 100개가 넘는 언어를 지원하며, 다국어 검색, 언어 간 검색, 코드 검색을 제공한다고 설명합니다. 예를 들어 고객 도움말 검색에서는 사용자의 질문을 여러 언어로 작성된 구절과 비교한 뒤 주제가 맞는 원문 구절을 반환할 수 있습니다. 코드 검색에서는 자연어 설명을 관련 함수 및 함수 문서와 비교할 수 있습니다. 텍스트를 준비할 때는 의미 있는 제목, 분야별 용어, 식별자를 보존하고, 애플리케이션에서 일치하는 자료를 보여줄 수 있도록 벡터로 표현한 각 구절을 원본과 연결하세요.
Qwen3-Embedding-4B는 지시문을 반영합니다. Qwen은 각 질의에 의도한 검색 관계에 맞춘 한 문장짜리 작업 설명을 넣을 것을 권장하며, 다국어 환경에서는 영어 지시문을 권장합니다. 직접 실행 예제에서는 작업 설명 앞에 Instruct:를, 질의 텍스트 앞에 Query:를 배치합니다. 해당 검색 문서는 이 질의 지시문 없이 인코딩합니다. 실제 작업용 지시문에는 보고된 오류를 설명하는 문서 구절을 찾거나, 설명한 동작을 구현하는 소스 코드 발췌문을 찾도록 명시할 수 있습니다. 이는 모델에 답변 작성을 요청하는 대신 애플리케이션의 질문에 맞게 표현을 유도합니다.
공식 예제는 질의와 문서 텍스트를 인코딩하고 코사인 유사도로 임베딩을 비교하며, 마지막 토큰의 은닉 상태를 풀링한 뒤 정규화하는 방법을 보여줍니다. 이 저수준 예제에서는 선택한 8,192토큰 설정에 맞춰 입력을 잘라내며, 문서화된 모델 시퀀스 길이는 여전히 32K입니다. 긴 자료에서는 어떤 구절을 벡터로 표현할지 정하고, 잘라내는 과정에서 질의에 필요한 부분이 알림 없이 사라지지 않도록 하세요. 벡터를 안정적인 원본 참조와 함께 저장하고, 준비한 질의를 컬렉션과 비교한 뒤 연결된 구절을 유사도 순으로 반환하세요.
Qwen의 임베딩 모델은 듀얼 인코더 방식을 사용하며, 별도의 리랭킹 모델들은 크로스 인코더로 질의·문서 쌍을 평가합니다. 출시 설명에서는 이 모듈들을 함께 사용하는 방식을 소개합니다. 임베딩으로 초기 후보를 찾고, 리랭커로 그 순서를 정교하게 조정할 수 있습니다. Qwen3-Embedding-4B 자체는 단일 텍스트의 표현을 제공합니다. 그 벡터는 리랭커 점수, 검증된 사실 진술, 생성된 답변이 아닙니다. 최종 작업에서 검색한 자료를 바탕으로 질문에 답한다면, 선택한 원문 구절이 후속 단계에 전달되는 근거가 됩니다.
Ailoot Ultra · 임베딩 POST /v1/embeddings qwen/qwen3-embedding-4b
qwen/qwen3-embedding-4b시작하기
Qwen3-Embedding-4B는 텍스트를 의미 벡터로 표현해 다국어 검색, 코드 검색, 분류, 군집화에 활용합니다. 이 4B 모델은 32K토큰의 시퀀스 길이와 32~2,560차원의 사용자 지정 벡터를 지원합니다.
- 허용 입력
- 텍스트 · token_ids
- 결과
- embedding
Ailoot에서 사용 가능 · 입력 및 메서드
Ailoot Ultra · 임베딩 POST /v1/embeddings
- 입력
text,token_ids- 출력
embedding- 출력 형식
- json
| 필드 | 유형 | 요건 | 값과 한도 | 기본값 |
|---|---|---|---|---|
필드model | 유형string | 요건필수 | 값과 한도 qwen/qwen3-embedding-4b | 기본값— |
필드input | 유형string|string[]|integer[]|integer[][] | 요건필수 | 값과 한도 최소 항목 수: 1 조건: 비어 있지 않은 동일 형식의 배치입니다. 토큰 ID는 0 이상의 정수입니다. 입력 허용량: 최댓값: 32,768 · 텍스트 단위: 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 | 명세32768 |
매개변수multimodal_objects | 명세false |
매개변수material_types | 명세text, token_ids |
수명 주기: synchronous_json
모든 벡터의 인덱스와 차원을 보관하세요.
모델 이름이 멀티모달이어도 이 특정 경로에서 이미지 객체를 사용할 수 있는 것은 아닙니다.
요금
요금 정보는 요청 옵션을 추가하지 않습니다. 지원되는 매개변수는 선택한 메서드에 표시됩니다.
- 빠른 모드
- 미지정 빠른 모드를 선택한 경우
- Flex 모드
- 미지정 flex 모드를 선택한 경우
- 최대 추론 수준
- 미지정 최대 추론 수준에 default 조정값을 적용하는 경우
Ailoot 요금
설정별 가격
| 설정 | 요금표 | 요금 |
|---|---|---|
| 설정토큰의 기본 단가 | 요금표기본 요금 | 요금 입력 · 입력 토큰 $0.00004 / 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": "qwen/qwen3-embedding-4b", "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='qwen/qwen3-embedding-4b',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 qwen/qwen3-embedding-4b
메서드 경로 별칭
위에 표시된 메서드 경로를 사용하세요.
관련 호출용 ID
FAQ · Qwen: Qwen3 Embedding 4B
- 어떤 입력과 결과를 사용할 수 있나요?
POST /v1/embeddings·qwen/qwen3-embedding-4b:text,token_ids→embedding- 요청은 어떤 필드를 사용하나요?
POST /v1/embeddings·qwen/qwen3-embedding-4b:model,input,encoding_format,provider- 어떤 제한이 적용되나요?
POST /v1/embeddings·qwen/qwen3-embedding-4b:input.budget.maximum:32768(UTF8 바이트);input.min_items:1