OpenAI在6月13日刚刚进行了大规模降价和升级,text-embedding-ada-002降价95%,GPT-3.5-turbo降价了25%,GPT4最高可支持32K文本。
官方网页上聊天是不花钱的,收费项目主要针对API用户。API用户默认赠送5美元额度。
测试样本:Multiplemodels,eachwithdifferentcapabilitiesandpricepoints.Pricesareper1,000tokens.Youcanthinkoftokensaspiecesofwords,where1,000tokensisabout750words.Thisparagraphis35tokens.官方的样本文字中说明了,这段测试样本的长度为35个tokens。
ChatGPT使用的tokenizer是Byte-PairEncoding(BPE)算法,有几种方法可以近似计算token值:
使用Transformers方法对测试样本进行tokens计算:
defget_transformers_tokens(text:str,encoding_name:str)->int:tokenizer=transformers.AutoTokenizer.from_pretrained(encoding_name)tokens=tokenizer.tokenize(text)num_tokens=len(tokens)returnnum_tokens得到tokens值为45。
使用tiktoken的方法对测试样本进行tokens计算:
defget_tiktoken_tokens(text:str,encoding_name:str)->int:encoding=tiktoken.get_encoding(encoding_name)num_tokens=len(encoding.encode(text))returnnum_tokens得到tokens值也为45。
tokens的消耗,至少受到以下三个因素的影响:
用以下样本为例,看下实际的费用:
将上面的样本内容和定价带入,可以计算出,5美元对应的对话次数是6887。也就是账号自带的5美元额度,大约可以聊6、7千句英文对话(中文对话会有所出入)。
通过此方法可以计算其他收费项目的具体价格情况:
ModelInputOutput8Kcontext$0.03/1Ktokens$0.06/1Ktokens32Kcontext$0.06/1Ktokens$0.12/1Ktokens
Ada$0.0004/1KtokensBabbage$0.0005/1KtokensCurie$0.0020/1KtokensDavinci$0.0200/1Ktokens
ModelTrainingUsageAda$0.0004/1Ktokens$0.0016/1KtokensBabbage$0.0006/1Ktokens$0.0024/1KtokensCurie$0.0030/1Ktokens$0.0120/1KtokensDavinci$0.0300/1Ktokens$0.1200/1Ktokens
ModelUsageAdav2$0.0001/1KtokensAdav1$0.0040/1KtokensBabbagev1$0.0050/1KtokensCuriev1$0.0200/1KtokensDavinciv1$0.2000/1Ktokens
ResolutionPrice1024×1024$0.020/image512×512$0.018/image256×256$0.016/image
ModelUsageWhisper$0.006/minute(roundedtothenearestsecond)
虽然openai提供了token计算工具,但工具的计算值却和官方网页中的说明不一致。使用API访问chatGPT3.5的话,账号自带的5美元,大约可以聊6000多句对话。