RAG 청크 계산기
10,000토큰 문서를 512토큰 청크, 64토큰 오버랩으로 자르면 청크는 23개이고 임베딩 토큰은 모두 11,408개이며 그중 12.3%가 중복입니다. 청크 수 = 1 + 올림((문서 토큰 - 청크 크기) ÷ (청크 크기 - 오버랩)), 총량 = 문서 토큰 + (청크 수 - 1) × 오버랩.
사용 방법
- 문서 길이(토큰 또는 글자 수), 청크 크기, 오버랩을 넣습니다. 비용이 궁금하면 임베딩 100만 토큰당 가격도 넣으십시오.
- 청크 수와 임베딩에 보내는 토큰 총량, 오버랩 때문에 되풀이되는 토큰 수를 확인합니다.
- 어디서 잘리는지 보려면 실제 글을 붙여 넣으십시오. 브라우저에서 토큰으로 나눈 뒤 앞쪽 청크를 보여 주고 오버랩 부분을 표시합니다.
계산 방법
청크 시작 간격은 청크 크기에서 오버랩을 뺀 값입니다. 문서가 청크 하나에 들어가면 1개이고, 아니면 청크 수 = 1 + 올림((문서 토큰 - 청크 크기) ÷ 간격)입니다.
첫 청크를 뺀 모든 청크는 앞 청크의 마지막 오버랩 토큰을 되풀이하므로 임베딩 총량 = 문서 토큰 + (청크 수 - 1) × 오버랩입니다. 중복 비율은 (청크 수 - 1) × 오버랩 ÷ 총량입니다. 마지막 청크는 남는 만큼이라 보통 더 짧습니다.
글자 수는 토큰 1개당 4자로 환산합니다. OpenAI가 영어 글에 제시하는 어림값입니다. 한국어·코드·숫자는 글자당 토큰이 더 많으므로 정확한 값은 글을 붙여 넣어 확인하십시오.
붙여 넣은 글은 실제 바이트 페어 인코딩 표(js-tiktoken)로 브라우저에서 토큰화합니다. 미리보기는 같은 규칙으로 토큰 목록을 창 단위로 잘라 다시 글로 풀어 보여 줍니다. 고정 크기 토큰 창은 문장·문단 경계를 보지 않으며, 경계를 지키는 분할기는 청크 길이가 들쭉날쭉하고 수도 달라집니다.
비용 = 임베딩 토큰 ÷ 1,000,000 × 입력한 100만 토큰당 가격입니다. 가격은 임베딩 제공사의 요금 페이지에서 확인하십시오.
자주 묻는 질문
청크 크기와 오버랩은 얼마가 좋나요?
정해진 값은 없습니다. 수백 토큰에서 1,000토큰 안팎의 크기와 10~20% 정도의 오버랩을 많이 씁니다. 작은 청크는 검색이 정밀하지만 저장할 벡터가 늘고, 큰 청크는 맥락을 더 담지만 검색이 흐려질 수 있습니다. 실제 질문으로 시험해 보십시오.
오버랩을 두면 임베딩 비용이 늘어나나요?
늘어납니다. 겹치는 부분은 두 번 임베딩됩니다. 10,000토큰 문서를 512토큰 청크, 64토큰 오버랩으로 자르면 보낸 11,408토큰 가운데 1,408토큰(12.3%)이 중복이고, 문서 자체보다 14.1% 더 임베딩합니다.
청크 수는 정확한가요?
여기서 쓰는 규칙(고정 크기 토큰 창)에서는 정확합니다. 문장·문단·제목 기준으로 나누는 라이브러리는 청크 크기가 고르지 않아 수가 다릅니다. 글자에서 토큰으로의 환산은 추정입니다.
토크나이저는 무엇을 고르나요?
쓰는 임베딩 모델의 것을 고르십시오. OpenAI text-embedding-3 모델은 cl100k_base를 씁니다. 다른 제공사 모델의 토크나이저는 여기에 없으므로 참고값으로 보십시오.
입력한 글이 서버로 전송되나요?
아니요. 세기와 미리보기는 브라우저 안에서 합니다. 토크나이저 표는 이 사이트에서 한 번 내려받지만 글은 올라가지 않습니다.