GPTEncoder
1.0.4
OpenAI GPT 모델용 Swift BPE 인코더/디코더. OpenAI GPT API용 텍스트 토큰화를 위한 프로그래밍 방식 인터페이스입니다.
GPT 모델 계열은 텍스트에서 발견되는 일반적인 문자 시퀀스인 토큰을 사용하여 텍스트를 처리합니다. 모델은 이러한 토큰 간의 통계적 관계를 이해하고 일련의 토큰에서 다음 토큰을 생성하는 데 탁월합니다.
아래 도구를 사용하면 API에서 텍스트가 토큰화되는 방식과 해당 텍스트에 포함된 총 토큰 수를 이해할 수 있습니다.
이 라이브러리는 nodeJS gpt-3-encoder 및 OpenAI 공식 Python GPT 인코더/디코더를 기반으로 합니다.
또한 텍스트를 입력하고 GPT API에서 사용하는 토큰화 결과를 표시하기 위해 GUI를 제공하기 위해 앱에 통합할 수 있는 SPM 라이브러리인 GPTTokenizerUI도 만들었습니다.
platform :ios , '15.0'
use_frameworks!
target 'MyApp' do
pod 'GPTEncoder' , '~> 1.0.3'
end
let encoder = SwiftGPTEncoder ( )
let str = " The GPT family of models process text using tokens, which are common sequences of characters found in text. "
let encoded = encoder . encode ( text : str )
print ( " String: ( str ) " )
print ( " Encoded this string looks like: ( encoded ) " )
print ( " Total number of token(s): ( encoded . count ) and character(s): ( str . count ) " )
print ( " We can look at each token and what it represents " )
encoded . forEach { print ( " Token: ( encoder . decode ( tokens : [ $0 ] ) ) " ) }
print ( encoded )
let decoded = encoder . decode ( tokens : encoded )
print ( " We can decode it back into: n ( decoded ) " )
String
Int
토큰 배열로 인코딩하려면 문자열을 전달하는 encode
호출하기만 하면 됩니다.
let encoded = encoder . encode ( text : " The GPT family of models process text using tokens, which are common sequences of characters found in text. " )
// Output: [464, 402, 11571, 1641, 286, 4981, 1429, 2420, 1262, 16326, 11, 543, 389, 2219, 16311, 286, 3435, 1043, 287, 2420, 13]
Int
토큰 배열을 다시 String
로 디코딩하려면 토큰 배열을 전달하는 decode
호출할 수 있습니다.
let decoded = encoder . decode ( tokens : [ 464 , 402 , 11571 , 1641 , 286 , 4981 , 1429 , 2420 , 1262 , 16326 , 11 , 543 , 389 , 2219 , 16311 , 286 , 3435 , 1043 , 287 , 2420 , 13 ] )
// Output: "The GPT family of models process text using tokens, which are common sequences of characters found in text."
내부적으로 캐시는 토큰 인코딩 시 성능 향상을 위해 사용되며, 캐시를 재설정할 수도 있습니다.
encoder . clearCache ( )