■ Encoding 클래스를 사용해 한국어와 영어 토큰수를 비교한 결과를 보여준다.
▶ main.py
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
import tiktoken encoding = tiktoken.get_encoding("cl100k_base") englishTokenList = encoding.encode("Hello, World!") englishBinaryTokenList = encoding.decode_tokens_bytes(englishTokenList) englishText = encoding.decode(englishTokenList) koreanTokenList = encoding.encode("헬로우 월드!") koreanBinaryTokenList = encoding.decode_tokens_bytes(koreanTokenList) koreanText = encoding.decode(koreanTokenList) print( "[영어]") print(f" 토큰 리스트 길이 : {len(englishTokenList) }") print(f" 토큰 리스트 : {englishTokenList }") print(f" 바이너리 토큰 리스트 : {englishBinaryTokenList}") print(f" 텍스트 : {englishText }") print( "[한국어]") print(f" 토큰 리스트 길이 : {len(koreanTokenList) }") print(f" 토큰 리스트 : {koreanTokenList }") print(f" 바이너리 토큰 리스트 : {koreanBinaryTokenList}") print(f" 텍스트 : {koreanText }") """ [영어] 토큰 리스트 길이 : 4 토큰 리스트 : [9906, 11, 4435, 0] 바이너리 토큰 리스트 : [b'Hello', b',', b' World', b'!'] 텍스트 : Hello, World! [한국어] 토큰 리스트 길이 : 9 토큰 리스트 : [169, 245, 105, 17835, 41381, 86513, 242, 30446, 0] 바이너리 토큰 리스트 : [b'\xed', b'\x97', b'\xac', b'\xeb\xa1\x9c', b'\xec\x9a\xb0', b' \xec\x9b', b'\x94', b'\xeb\x93\x9c', b'!'] 텍스트 : 헬로우 월드! """ |
▶ requirements.txt
1 2 3 4 5 6 7 8 9 |
certifi==2024.6.2 charset-normalizer==3.3.2 idna==3.7 regex==2024.5.15 requests==2.32.3 tiktoken==0.7.0 urllib3==2.2.1 |
※ pip install tiktoken 명령을 실행했다.