BAAI: bge-base-en-v1.5
BAAI bge-base-en-v1.5는 의미 검색과 유사도 작업을 위해 영어 텍스트를 768차원 벡터로 변환합니다. 512토큰의 입력 범위와 질의에만 붙이는 검색 지시문은 문서 또는 지식 검색 색인에서 초점을 좁힌 지문을 다루기에 적합합니다.
모델 소개
이 설명은 모델의 기능을 다룹니다. Ailoot에서 사용할 수 있는 입력, 출력 및 옵션은 아래에 선택한 메서드별로 표시됩니다.
bge-base-en-v1.5는 BAAI의 베이스 크기 영어 밀집 임베딩 모델입니다. 검색과 의미 비교를 위해 각 텍스트를 768차원 수치 표현으로 변환합니다. 이 모델은 이전 계열의 유사도 점수 분포를 개선하고, 지시문이 없을 때 검색 성능을 높인 BGE v1.5 제품군에 속합니다. 출력은 텍스트를 비교하거나 관련 지문을 찾는 데 사용하는 벡터입니다.
질의와 지문 준비하기
짧은 질의로 더 긴 지문을 검색할 때 BAAI는 질의 앞에 “Represent this sentence for searching relevant passages:”를 붙일 것을 권장합니다. 코퍼스 지문에는 이 지시문을 붙이지 않습니다. 다른 작업에서는 원문을 직접 임베딩할 수 있습니다. 제조사는 v1.5가 지시문 없이도 작동한다고 설명하므로, 접두사만이 유일하게 유효한 입력이라고 보기보다 작업에 맞춰 준비 방식을 선택해야 합니다.
실제 검색 컬렉션에는 도움말 문서, 제품 설명 또는 기술 지침이 포함될 수 있습니다. “내보내기 형식을 어떻게 바꾸나요?”와 같은 질의는 해당 동작을 설명하는 지문을 검색해야 합니다. 섹션 제목, 관련 조건, 실제 원문을 함께 유지하세요. 검색 결과에서 사용자가 읽을 수 있는 내용을 반환하거나, 후속 답변 단계에서 인용할 수 있도록 지문의 식별자와 위치를 벡터와 함께 저장하세요.
벡터 형식과 비교
문서에 명시된 표현은 첫 번째 토큰, 즉 CLS 토큰의 최종 은닉 상태를 문장 임베딩으로 사용합니다. 제조사의 예제는 벡터를 정규화한 뒤 정규화된 임베딩을 내적으로 비교하며, 이는 코사인 유사도와 같습니다. 768차원은 이 모델의 출력 표현 크기이며, 선택 가능한 컨텍스트 길이나 텍스트 생성 허용량이 아닙니다.
비교하는 질의 및 코퍼스 벡터에는 같은 모델과 준비 규칙을 사용하세요. 실제 사용자 질문의 작은 집합으로 답을 담고 있음이 확인된 지문을 검색한 뒤 반환된 텍스트를 살펴보는 것이 실용적인 확인 방법입니다. 호환되는 벡터 형태는 색인에 표현을 저장할 수 있게 해주며, 원문 지문은 결과가 실제로 무엇을 말하는지 보여줍니다.
입력 길이와 문서 준비
문서에 명시된 모델의 시퀀스 길이는 512토큰입니다. 따라서 긴 원문은 임베딩 전에 의미적으로 연결되고 답을 담은 지문으로 나눠야 합니다. 정의와 예외는 그것이 한정하는 진술과 함께 유지하고, 지문과 상위 문서의 연결을 보존하세요. 추가한 지시문이나 제목도 임베딩 대상 텍스트에 포함되므로, 간결하게 준비하면 유용한 원문 내용에 더 많은 공간을 할당할 수 있습니다.
보고서나 매뉴얼은 섹션 또는 소수의 관련 문단을 중심으로 경계를 정하세요. 제목만 있거나 주어 없이 일부 조각만 포함된 지문은 검색됐을 때 해석하기 어려울 수 있습니다. 문서가 바뀌면 색인 갱신 시 해당 자료를 교체할 수 있도록 원문과 원본 버전을 유지하세요.
점수와 유용한 출력
BAAI는 두 텍스트의 의미가 같은지 결정하는 데 절대 유사도 값을 보편적인 임곗값으로 사용하지 말라고 안내합니다. 상대적 순위가 중요하며, 필터 임곗값은 해당 작업 데이터의 분포를 기준으로 선택해야 합니다. 높은 벡터 유사도는 검색 신호이며, 지문의 사실 내용을 검증한 결과가 아닙니다.
유용한 산출물은 영어 지문 색인, 질의 벡터 집합 또는 의미 비교를 위한 수치형 특성입니다. 별도의 리랭커로 검색 후보를 정교화하고, 별도의 생성 단계에서 그 텍스트를 바탕으로 답을 작성할 수 있습니다. 이 정확한 베이스 영어 v1.5 모델은 BGE Large, 중국어 에디션, BGE-M3의 다국어 및 하이브리드 검색 프로필과 구분됩니다.
Ailoot Ultra · 임베딩 POST /v1/embeddings baai/bge-base-en-v1.5
baai/bge-base-en-v1.5시작하기
BAAI bge-base-en-v1.5는 의미 검색과 유사도 작업을 위해 영어 텍스트를 768차원 벡터로 변환합니다. 512토큰의 입력 범위와 질의에만 붙이는 검색 지시문은 문서 또는 지식 검색 색인에서 초점을 좁힌 지문을 다루기에 적합합니다.
- 허용 입력
- 텍스트 · token_ids
- 결과
- embedding
Ailoot에서 사용 가능 · 입력 및 메서드
Ailoot Ultra · 임베딩 POST /v1/embeddings
- 입력
text,token_ids- 출력
embedding- 출력 형식
- json
| 필드 | 유형 | 요건 | 값과 한도 | 기본값 |
|---|---|---|---|---|
필드model | 유형string | 요건필수 | 값과 한도 baai/bge-base-en-v1.5 | 기본값— |
필드input | 유형string|string[]|integer[]|integer[][] | 요건필수 | 값과 한도 최소 항목 수: 1 조건: 비어 있지 않은 동일 형식의 배치입니다. 토큰 ID는 0 이상의 정수입니다. 입력 허용량: 최댓값: 512 · 텍스트 단위: 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 | 명세512 |
매개변수multimodal_objects | 명세false |
매개변수material_types | 명세text, token_ids |
수명 주기: synchronous_json
모든 벡터의 인덱스와 차원을 보관하세요.
모델 이름이 멀티모달이어도 이 특정 경로에서 이미지 객체를 사용할 수 있는 것은 아닙니다.
요금
요금 정보는 요청 옵션을 추가하지 않습니다. 지원되는 매개변수는 선택한 메서드에 표시됩니다.
- 빠른 모드
- 미지정 빠른 모드를 선택한 경우
- Flex 모드
- 미지정 flex 모드를 선택한 경우
- 최대 추론 수준
- 미지정 최대 추론 수준에 default 조정값을 적용하는 경우
Ailoot 요금
설정별 가격
| 설정 | 요금표 | 요금 |
|---|---|---|
| 설정토큰의 기본 단가 | 요금표기본 요금 | 요금 입력 · 입력 토큰 $0.00001 / 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": "baai/bge-base-en-v1.5", "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='baai/bge-base-en-v1.5',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 baai/bge-base-en-v1.5
메서드 경로 별칭
위에 표시된 메서드 경로를 사용하세요.
관련 호출용 ID
FAQ · BAAI: bge-base-en-v1.5
- 어떤 입력과 결과를 사용할 수 있나요?
POST /v1/embeddings·baai/bge-base-en-v1.5:text,token_ids→embedding- 요청은 어떤 필드를 사용하나요?
POST /v1/embeddings·baai/bge-base-en-v1.5:model,input,encoding_format,provider- 어떤 제한이 적용되나요?
POST /v1/embeddings·baai/bge-base-en-v1.5:input.budget.maximum:512(UTF8 바이트);input.min_items:1