Skip to Content

Embeddings

POST /v1/embeddings 로 텍스트를 임베딩 벡터로 변환합니다. RAG, 검색, 유사도 계산에 사용합니다.

POST https://gw.letsur.ai/v1/embeddings

인증

방식헤더
Gateway 키Authorization: Bearer <API_KEY>

요청 파라미터

파라미터타입필수기본값설명
modelstring임베딩 모델 코드 (카탈로그)
inputstring | array단일 문자열 또는 배치(배열)
encoding_formatstring×floatfloat 또는 base64
dimensionsinteger×모델별출력 차원 (모델이 지원할 때만)

입력 제약

항목
단일 입력 토큰 한계모델별 (예: text-embedding-3-small은 8,191 토큰)
배치 최대 크기모델별 (보통 2,048 입력)
한 번에 보낼 수 있는 총 토큰모델별

정확한 한계는 카탈로그에서 확인합니다. 한계를 초과하면 input_too_long 또는 batch_too_large 에러를 반환합니다.

차원 (dimensions)

OpenAI text-embedding-3 시리즈 등 일부 모델에서는 출력 차원을 줄여 받을 수 있습니다 (예: 기본 1,536 → 512). 저장과 검색 비용을 줄일 때 사용합니다.

client.embeddings.create( model="text-embedding-3-small", input="안녕", dimensions=512, )

지원하지 않는 모델에 dimensions를 보내면 값이 무시되거나 invalid_parameter 에러를 반환합니다. 지원 여부는 카탈로그에서 확인합니다.

응답 (200)

{ "object": "list", "data": [ { "object": "embedding", "index": 0, "embedding": [0.001, -0.024] } ], "model": "text-embedding-3-small", "usage": { "prompt_tokens": 5, "total_tokens": 5, "estimated_cost": 0.00000001 } }
필드의미
data[].embeddingfloat 배열입니다 (encoding_formatbase64면 base64 문자열). 순서는 input 배열 순서를 따릅니다
usage.prompt_tokens입력 토큰 수입니다 (output 토큰 없음)
usage.estimated_costLetsur가 추가한 필드로, input 토큰 단가에 토큰 수를 곱한 값입니다 (요금)

예시

curl https://gw.letsur.ai/v1/embeddings \ -H "Authorization: Bearer <API_KEY>" \ -H "Content-Type: application/json" \ -d '{ "model": "text-embedding-3-small", "input": "안녕" }'

배치 입력

input 에 배열을 넘기면 여러 문장을 한 번에 임베딩할 수 있습니다.

response = client.embeddings.create( model="text-embedding-3-small", input=["문장 1", "문장 2", "문장 3"], ) vectors = [item.embedding for item in response.data] # vectors[0]은 "문장 1"의 임베딩, vectors[1]은 "문장 2", ...

배치는 한 호출에 묶인 입력을 합쳐 한도를 1회만 차감합니다. 입력 1개씩 N번 호출할 때보다 비용이 적게 듭니다.

에러 (이 엔드포인트 고유)

코드HTTP의미
model_not_found404카탈로그에 없는 모델입니다
input_too_long400단일 입력 토큰이 모델 한계를 초과했습니다
batch_too_large400배치 크기가 모델 한계를 초과했습니다
invalid_parameter400dimensions를 지원하지 않는 모델에 보낸 경우 등입니다

공통 에러는 에러 코드에서 확인합니다.

한도와 제약

  • 비용은 input 토큰만 기준으로 계산합니다 (output 토큰 없음).
  • 스트리밍은 지원하지 않습니다. 임베딩은 한 번에 결과를 돌려주는 동기 호출입니다.
  • 단일 입력 토큰 한계와 배치 최대 크기는 모델마다 다릅니다. 정확한 한계는 카탈로그에서 확인합니다.

관련 문서

Last updated on