OpenAI: Text Embedding 3 Large
OpenAI의 대형 3세대 텍스트 임베딩 모델은 기본적으로 3,072차원 벡터를 반환하고, 더 짧은 표현을 위한 제공자 제어를 지원합니다. 의미 검색, 다국어 비교, 관련 콘텐츠 또는 분류 워크플로에 사용하세요.
- Ailoot Ultra · 임베딩
POST /v1/embeddingsopenai/text-embedding-3-large - Ailoot Ultra · 임베딩 · text-embedding-3-large
POST /v1/embeddingstext-embedding-3-large
모델 소개
이 설명은 모델의 기능을 다룹니다. Ailoot에서 사용할 수 있는 입력, 출력 및 옵션은 아래에 선택한 메서드별로 표시됩니다.
text-embedding-3-large는 영어 및 비영어 작업을 위한 OpenAI의 더 큰 3세대 텍스트 임베딩 모델입니다. 글로 된 자료를 수치 벡터에 매핑하며 기본적으로 3,072개 성분을 반환합니다. 벡터는 제공된 콘텐츠의 관계를 표현하고, 검색이나 분류 과정은 이를 사용해 자료를 선택하거나 다른 결정을 내립니다.
3세대 모델은 제공자의 dimensions 제어를 통해 더 짧은 표현을 지원하도록 학습됐습니다. 제조사는 벡터 저장소가 해당 크기를 요구할 때의 예로 1,024차원을 제시합니다. 더 짧은 벡터는 저장하고 비교할 데이터량을 줄이지만, 표현 변경은 검색 품질에 영향을 줄 수 있습니다. 애플리케이션 요구에 맞게 크기를 선택하고 코퍼스와 질의에 같은 선택을 사용하세요.
예시 문서 검색 워크플로는 원본 자료를 의미 있는 지문으로 나누고 식별자를 유지한 뒤 각 지문의 벡터를 얻습니다. 질문도 같은 모델과 차원으로 임베딩해 지문 벡터와 비교합니다. 애플리케이션이 필터를 제공하고 순위 결과를 선택해 원본 참조를 보여줍니다. 후속 텍스트 생성 모델은 검색 자료로 답변을 만들 수 있지만, 임베딩 모델의 결과는 수치 데이터로 남습니다.
그 밖에 문서화된 활용에는 코드 또는 텍스트 검색, 비슷한 레코드 그룹화, 관련 콘텐츠 추천, 분류, 이상 감지, 컬렉션 다양성 측정이 있습니다. 추천에서는 관계에 관련된 용어로 대상을 설명하세요. 분류에서는 범주 표현과 비교하거나 벡터를 분류기 특성으로 사용하세요. 유사도를 제품이 요구하는 결과로 바꾸는 규칙을 정의하세요.
OpenAI는 텍스트당 최대 입력을 8,192토큰으로 제시합니다. 임베딩 API는 문자열이나 토큰화된 텍스트를 받아 여러 입력을 지원하며 빈 문자열을 거부합니다. 요청 하나에 합계 300,000토큰 한도도 적용합니다. 긴 문서는 의미 있는 경계와 맥락을 온전히 유지하며 나누고, 각 벡터를 원본 지문에 연결해야 합니다.
제공자는 기본 출력으로 부동소수점 벡터를, 대체 인코딩으로 base64를 문서화합니다. 가이드는 코사인 유사도를 권장하며 OpenAI 임베딩이 단위 길이로 정규화되어 있다고 설명합니다. 따라서 내적으로 코사인 유사도를 계산할 수 있고 유클리드 거리에서도 동등한 순위를 얻습니다. 생성 후 3세대 벡터를 수동으로 줄이면, 제조사는 애플리케이션에 단축 벡터를 다시 정규화하라고 안내합니다. dimensions 제어 사용이 권장 경로입니다.
일관된 텍스트 표현을 준비하고 모델, 차원, 원본 식별자를 기록하세요. 유용한 최종 산출물은 선택 규칙이 명시된 지문, 관련 항목, 그룹 레코드의 순위 집합입니다. 결과가 질의에 답하는지 평가하고 다음 단계에 쓸 원본 근거를 보존하세요. 벡터 유사도를 레코드의 사실 주장이 검증됐다는 뜻으로 취급하지 마세요.
Ailoot Ultra · 임베딩 POST /v1/embeddings openai/text-embedding-3-large
openai/text-embedding-3-largeopenai/text-embedding-3-largetext-embedding-3-large
시작하기
OpenAI의 대형 3세대 텍스트 임베딩 모델은 기본적으로 3,072차원 벡터를 반환하고, 더 짧은 표현을 위한 제공자 제어를 지원합니다. 의미 검색, 다국어 비교, 관련 콘텐츠 또는 분류 워크플로에 사용하세요.
- 허용 입력
- 텍스트 · token_ids
- 결과
- embedding
Ailoot에서 사용 가능 · 입력 및 메서드
Ailoot Ultra · 임베딩 POST /v1/embeddings
- 입력
text,token_ids- 출력
embedding- 컨텍스트
- 8,192 tokens
- 출력 형식
- json
| 필드 | 유형 | 요건 | 값과 한도 | 기본값 |
|---|---|---|---|---|
필드model | 유형string | 요건필수 | 값과 한도 openai/text-embedding-3-large | 기본값— |
필드input | 유형string|string[]|integer[]|integer[][] | 요건필수 | 값과 한도 최소 항목 수: 1 조건: 비어 있지 않은 동일 형식의 배치입니다. 토큰 ID는 0 이상의 정수입니다. 입력 허용량: 최댓값: 8,192 · 텍스트 단위: 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 | 명세8192 |
매개변수multimodal_objects | 명세false |
매개변수material_types | 명세text, token_ids |
수명 주기: synchronous_json
모든 벡터의 인덱스와 차원을 보관하세요.
모델 이름이 멀티모달이어도 이 특정 경로에서 이미지 객체를 사용할 수 있는 것은 아닙니다.
요금
요금 정보는 요청 옵션을 추가하지 않습니다. 지원되는 매개변수는 선택한 메서드에 표시됩니다.
- 빠른 모드
- 표준 요금 빠른 모드를 선택한 경우
- Flex 모드
- 표준 요금 flex 모드를 선택한 경우
- 최대 추론 수준
- 표준 요금 최대 추론 수준에 default 조정값을 적용하는 경우
Ailoot 요금
설정별 가격
| 설정 | 요금표 | 요금 |
|---|---|---|
| 설정토큰의 기본 단가 | 요금표기본 요금 | 요금 입력 · 입력 토큰 $0.00026 / 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": "openai/text-embedding-3-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='openai/text-embedding-3-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 openai/text-embedding-3-large, text-embedding-3-large
메서드 경로 별칭
위에 표시된 메서드 경로를 사용하세요.
관련 호출용 ID
Ailoot Ultra · 임베딩 · text-embedding-3-large POST /v1/embeddings text-embedding-3-large
text-embedding-3-largeopenai/text-embedding-3-largetext-embedding-3-large
시작하기
OpenAI의 대형 3세대 텍스트 임베딩 모델은 기본적으로 3,072차원 벡터를 반환하고, 더 짧은 표현을 위한 제공자 제어를 지원합니다. 의미 검색, 다국어 비교, 관련 콘텐츠 또는 분류 워크플로에 사용하세요.
- 허용 입력
- 텍스트
- 결과
- embedding
Ailoot에서 사용 가능 · 입력 및 메서드
Ailoot Ultra · 임베딩 · text-embedding-3-large POST /v1/embeddings
- 입력
text- 출력
embedding- 컨텍스트
- 8,192 tokens
- 출력 형식
- json
| 필드 | 유형 | 요건 | 값과 한도 | 기본값 |
|---|---|---|---|---|
필드model | 유형string | 요건필수 | 값과 한도 text-embedding-3-large | 기본값— |
필드input | 유형string|string[]|integer[]|integer[][] | 요건필수 | 값과 한도 최소 항목 수: 1 조건: 비어 있지 않은 동일 형식의 배치입니다. 토큰 ID는 0 이상의 정수입니다. 입력 허용량: 최댓값: 8,192 · 텍스트 단위: 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 | 명세8192 |
매개변수multimodal_objects | 명세false |
매개변수material_types | 명세text |
매개변수text_file_material | 명세실제 UTF-8 문서를 읽고 그 텍스트를 지정된 입력 또는 메시지 콘텐츠 문자열에 넣으세요. |
수명 주기: synchronous_json
정확한 모델 ID와 필수 필드를 전송하세요.
반환된 모든 항목과 원래 식별자를 보존하세요.
요금
요금 정보는 요청 옵션을 추가하지 않습니다. 지원되는 매개변수는 선택한 메서드에 표시됩니다.
- 빠른 모드
- 표준 요금 빠른 모드를 선택한 경우
- Flex 모드
- 표준 요금 flex 모드를 선택한 경우
- 최대 추론 수준
- 표준 요금 최대 추론 수준에 default 조정값을 적용하는 경우
Ailoot 요금
설정별 가격
| 설정 | 요금표 | 요금 |
|---|---|---|
| 설정토큰의 기본 단가 | 요금표기본 요금 | 요금 입력 · 입력 토큰 $0.00026 / 1K 토큰 출력 · 출력 토큰 $0 / 1K 토큰 입력 · 캐시 읽기 — / 1K 토큰 입력 · 캐시 쓰기 — / 1K 토큰 입력 · 캐시 쓰기, 1시간 — / 1K 토큰 |
Ailoot는 요청 전에 예상 금액을 미리 확보합니다. 결과를 받은 뒤 측정된 사용량을 기준으로 최종 요금을 정산합니다. 스트리밍 정산에는 최종 사용량 기록을 사용합니다. 금액 확보와 정산 방식 →
요청 예제
Ailoot Ultra · 임베딩 · text-embedding-3-large
{
"model": "text-embedding-3-large",
"input": [
"First document",
"Second document"
],
"encoding_format": "float"
}set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_TEXT_FILE:?Set your actual UTF-8 document}"
export AILOOT_TEXT_FILE
python3 - <<'PY_REQUEST'
import json, os
from pathlib import Path
source_file = Path(os.environ['AILOOT_TEXT_FILE'])
if not source_file.is_file():
raise SystemExit('Set AILOOT_TEXT_FILE to your actual UTF-8 document')
text = source_file.read_text(encoding='utf-8')
if not text.strip():
raise SystemExit('Choose a document containing text')
payload = {'model': 'text-embedding-3-large', 'input': ['First document', 'Second document'], 'encoding_format': 'float'}
payload['input'] = [text]
Path('request.json').write_text(json.dumps(payload, ensure_ascii=False), encoding='utf-8')
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
result = json.loads(Path('result.json').read_text(encoding='utf-8'))
print(json.dumps(result, ensure_ascii=False, indent=2))
for vector in result.get('data', []):
print('Vector', vector.get('index'), json.dumps(vector.get('embedding')))
PY_RESULT
import json, os
from pathlib import Path
source_file = Path(os.environ['AILOOT_TEXT_FILE'])
if not source_file.is_file():
raise SystemExit('Set AILOOT_TEXT_FILE to your actual UTF-8 document')
text = source_file.read_text(encoding='utf-8')
if not text.strip():
raise SystemExit('Choose a document containing text')
payload = {'model': 'text-embedding-3-large', 'input': ['First document', 'Second document'], 'encoding_format': 'float'}
payload['input'] = [text]
from urllib.request import Request, urlopen
from urllib.error import HTTPError
api_key = os.environ['AILOOT_API_KEY']
if not api_key.strip():
raise SystemExit('Set AILOOT_API_KEY before making a request')
headers = {'Authorization': 'Bearer PLACEHOLDER_KEY', 'Content-Type': 'application/json'}
headers['Authorization'] = 'Bearer ' + api_key
request = Request('https://api.ailoot.ai/v1/embeddings', data=json.dumps(payload, ensure_ascii=False).encode('utf-8'), headers=headers, method='POST')
try:
with urlopen(request, timeout=120) as response:
raw = response.read()
Path('response-headers.txt').write_text(str(response.headers), encoding='utf-8')
except HTTPError as error:
Path('result.json').write_bytes(error.read())
Path('response-headers.txt').write_text(str(error.headers), encoding='utf-8')
raise
Path('result.json').write_bytes(raw)
import json
from pathlib import Path
result = json.loads(Path('result.json').read_text(encoding='utf-8'))
print(json.dumps(result, ensure_ascii=False, indent=2))
for vector in result.get('data', []):
print('Vector', vector.get('index'), json.dumps(vector.get('embedding')))
결과 수신 및 저장
Ailoot Ultra · 임베딩 · text-embedding-3-large
json
완료된 결과 모두 보관
반환된 완전한 응답, 파일, 콘텐츠 부분을 모두 보관하세요.
유한한 값으로 구성된 모든 벡터와 원래 인덱스를 보존하세요. 모든 차원과 전체 usage 객체를 유지하세요.
원래 응답을 확인해야 할 경우
임베딩 작업 엔드포인트는 추가되지 않습니다.
응답 필드
| 필드 | 유형 |
|---|---|
필드object | 유형string |
필드model | 유형string |
필드data[].index | 유형integer |
필드data[].embedding | 유형finite float[] |
필드usage | 유형object |
오류와 다음 단계
| 응답 | 조건 | 다음 단계 |
|---|---|---|
응답400 · invalid_request_error | 조건필수 필드, 자료 표현 방식 또는 파라미터 값이 올바르지 않음 | 다음 단계새 생성 요청 전에 표시된 필드를 수정하세요. |
별칭
모델 별칭
Ailoot Ultra openai/text-embedding-3-large, text-embedding-3-large
메서드 경로 별칭
위에 표시된 메서드 경로를 사용하세요.
관련 호출용 ID
FAQ · OpenAI: Text Embedding 3 Large
- 어떤 입력과 결과를 사용할 수 있나요?
POST /v1/embeddings·openai/text-embedding-3-large:text,token_ids→embeddingPOST /v1/embeddings·text-embedding-3-large:text→embedding- 요청은 어떤 필드를 사용하나요?
POST /v1/embeddings·openai/text-embedding-3-large:model,input,encoding_format,providerPOST /v1/embeddings·text-embedding-3-large:model,input,encoding_format,provider- 어떤 제한이 적용되나요?
POST /v1/embeddings·openai/text-embedding-3-large:ctx:8192;input.budget.maximum:8192(UTF8 바이트);input.min_items:1POST /v1/embeddings·text-embedding-3-large:ctx:8192;input.budget.maximum:8192(UTF8 바이트);input.min_items:1