문자열을 임베딩으로 보내기 전에 OpenAI의 tiktoken 토크나이저 라이브러리를 적용해 사용될 토큰 수를 추정할 수 있습니다.
이는 임베딩 모델(예: text-embedding-3-small)에 최대 토큰 한도가 있어 그 범위를 지켜야 한다는 점에서 특히 유용합니다.
Tiktoken으로 토큰 수 세는 방법
tiktoken Python 패키지를 사용해 문자열이 생성할 토큰 수를 계산할 수 있습니다.
아래는 샘플 코드 스니펫입니다:
import tiktoken
def num_tokens_from_string(string: str, encoding_name: str) -> int:
"""텍스트 문자열에 포함된 토큰 수를 반환합니다."""
encoding = tiktoken.get_encoding(encoding_name)
num_tokens = len(encoding.encode(string))
return num_tokens
# 사용 예
num_tokens = num_tokens_from_string("tiktoken is great!", "cl100k_base")
print(num_tokens)중요:
3세대 임베딩 모델(예:
text-embedding-3-small또는text-embedding-3-large)의 경우"cl100k_base"인코딩을 사용해야 합니다.모델에 따라 필요한 인코딩이 다를 수 있으니, 확실하지 않다면 항상 모델 문서를 참고하세요.
토큰 수를 세는 것이 중요한 이유
문자열이 모델의 최대 입력 크기를 초과하면 API 요청이 실패합니다.
미리 정확하게 토큰 수를 계산하면 임베딩 워크플로가 더 매끄러워지고 처리 중 오류를 예방할 수 있습니다.
