본문 바로가기
기타/기기타

tiktoken 캐시 저장해서 로컬에서 로드하기

by 혜 림 2024. 9. 11.

 

0) 구세주

https://stackoverflow.com/questions/76106366/how-to-use-tiktoken-in-offline-mode-computer

 

 

 

1) tiktoken 가져올 수 있는지 확인하기

 

import tiktoen_ext.openai_public
import inspect

print(dir(tiktoken_ext.openai_public))
print(inspect.getsource(tiktoken_ext.openai_public.cl100k_base))

 

두번째 print 문을 치면 어쩌구 저쩌구 많이 보이면서 링크도 하나 보일 거다.

나랑 같은 버전이라면 아마도 아래처럼 뜰 것이다.

https://openaipublic.blob.core.windows.net/encodings/cl100k_base.tiktoken

 

 

2) 다운받기

 

위 사이트로 들어가서 다운받기

근데 이게 그냥 링크를 공유해주는 게 아니라 print 문을 쳐서 확인하는 건 이게 버전이 자꾸 바껴서 그런가보더라고

 

3) cache_key 가져오기

import hashlib

blobpath = "https://openaipubic.blob.core.windows.net/encodings/cl100bk_base.tiktoken"
cache_key = hashlib.sha1(blobpath.encode()).hexdigest()
print(cache_key)

 

 

위에서 print 한 링크를 blobpath에 할당한다.

그리고 그 path 에서 추출한 cache_key를 뽑으면 9b5ad7.... 어쩌구가 뜬다.

위에서 다운받았던 cl100k_base.tiktoken 파일을 캐시 키로 바꾼다.

확장자까지 싹 없애고 복사 붙여넣기 하면 된다. 

 

 

4) 캐시 위치 저장

 

tiktoken_cache_dir = '' #cache 저장할 위치
os.environ['TIKTOKEN_CACHE_DIR'] = tiktoken_cache_dir

# tiktoken 가 맞는 위치에 있는지 확인하기
assert os.path.exists(os.path.join(tiktoken_cache_dir, cache_key))

 

assert 문으로 옳은 위치에 있는지 확인.

assertionerror 가 뜬다면 아까 저장받은 파일 위치가 틀렸거나, 이름을 안 바꿔줬거나 둘 중에 하나임.

 

5) 최종 로딩

 

encoding = tiktoken.get_encoding('cl100k_base')

'기타 > 기기타' 카테고리의 다른 글

00. 환경 세팅하기  (0) 2024.09.11

댓글