본문으로 건너뛰기
API 사용법임베딩

임베딩

POST /v1/embeddings — 문장을 벡터로 바꿉니다.

호출하기

문장을 숫자 배열(벡터)로 바꿉니다. 검색·유사 문서 찾기·중복 판별처럼 “비슷한 정도”를 계산해야 하는 곳에 씁니다. OpenAI 임베딩 엔드포인트와 같은 형식이라 baseURL 만 바꾸면 됩니다.

curl https://ai.cubion.kr/v1/embeddings \
  -H "Authorization: Bearer $GATEWAY_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"text-embedding-3-small","input":"검색할 문장"}'

모델은 text-embedding-3-small 입니다. 이 키로 쓸 수 있는 임베딩 모델은 모델 목록 에서 확인하세요 — 목록에 없는 모델을 부르면 403 model_not_allowed 입니다.

응답

응답은 OpenAI 와 같은 모양입니다. 벡터는 data[0].embedding 에 들어 있는 숫자 배열이고,usage 에는 이번 호출에 쓰인 토큰 수가 옵니다.

응답
{
  "object": "list",
  "model": "text-embedding-3-small",
  "data": [
    { "object": "embedding", "index": 0, "embedding": [0.0023, -0.0117, 0.0091, ...] }
  ],
  "usage": { "prompt_tokens": 8, "total_tokens": 8 }
}

여러 문장 한 번에

input 에 배열을 넣으면 한 번의 호출로 여러 문장을 처리합니다. 문장마다 따로 부르는 것보다 왕복이 줄어 훨씬 빠릅니다.

curl https://ai.cubion.kr/v1/embeddings \
  -H "Authorization: Bearer $GATEWAY_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"text-embedding-3-small","input":["첫 번째 문장","두 번째 문장"]}'

data 는 보낸 순서대로 돌아오고, 각 항목의 index 로도 어느 입력의 결과인지 확인할 수 있습니다.

알아 둘 점

  • 요금은 보낸 토큰 수로 계산됩니다. 같은 문장을 반복해 임베딩하지 말고 결과를 저장해 두세요 — 문서는 한 번만 임베딩하고, 매번 새로 만드는 건 검색어 쪽뿐이면 충분합니다.
  • 벡터를 비교하려면 같은 모델로 만든 것끼리여야 합니다. 모델을 바꾸면 저장해 둔 벡터도 다시 만들어야 합니다.
  • 호출이 막혔을 때의 상태 코드와 본문 형태는 오류 처리 에 정리해 두었습니다.