Package com.unfbx.chatgpt.utils
Class TikTokensUtil
- java.lang.Object
-
- com.unfbx.chatgpt.utils.TikTokensUtil
-
public class TikTokensUtil extends Object
描述:token计算工具类- Since:
- 2023-04-04
- Author:
- https:www.unfbx.com
-
-
Constructor Summary
Constructors Constructor Description TikTokensUtil()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static Stringdecode(@NotNull com.knuddels.jtokkit.api.Encoding enc, @NotNull List<Integer> encoded)通过Encoding和encoded数组反推text信息static Stringdecode(@NotNull com.knuddels.jtokkit.api.EncodingType encodingType, @NotNull List<Integer> encoded)通过EncodingType和encoded编码数组,反推字符串文本static Stringdecode(@NotNull String modelName, @NotNull List<Integer> encoded)通过模型名称和encoded编码数组,反推字符串文本static List<Integer>encode(@NotNull com.knuddels.jtokkit.api.Encoding enc, String text)通过Encoding和text获取编码数组static List<Integer>encode(@NotNull com.knuddels.jtokkit.api.EncodingType encodingType, String text)获取encode的编码数组static List<Integer>encode(@NotNull String modelName, String text)获取encode的编码数组,通过模型名称static com.knuddels.jtokkit.api.EncodinggetEncoding(@NotNull com.knuddels.jtokkit.api.EncodingType encodingType)获取一个Encoding对象,通过Encoding类型static com.knuddels.jtokkit.api.EncodinggetEncoding(@NotNull String modelName)获取一个Encoding对象,通过模型名称static com.knuddels.jtokkit.api.ModelTypegetModelTypeByName(String name)获取modelTypestatic inttokens(@NotNull com.knuddels.jtokkit.api.Encoding enc, String text)通过Encoding计算text信息的tokensstatic inttokens(@NotNull com.knuddels.jtokkit.api.EncodingType encodingType, String text)计算指定字符串的tokens,通过EncodingTypestatic inttokens(@NotNull String modelName, @NotNull List<Message> messages)通过模型名称计算messages获取编码数组 参考官方的处理逻辑: https://github.com/openai/openai-cookbook/blob/main/examples/How_to_count_tokens_with_tiktoken.ipynbstatic inttokens(@NotNull String modelName, String text)通过模型名称, 计算指定字符串的tokens
-
-
-
Method Detail
-
encode
public static List<Integer> encode(@NotNull @NotNull com.knuddels.jtokkit.api.Encoding enc, String text)
通过Encoding和text获取编码数组- Parameters:
enc- Encoding类型text- 文本信息- Returns:
- 编码数组
-
tokens
public static int tokens(@NotNull @NotNull com.knuddels.jtokkit.api.Encoding enc, String text)通过Encoding计算text信息的tokens- Parameters:
enc- Encoding类型text- 文本信息- Returns:
- tokens数量
-
decode
public static String decode(@NotNull @NotNull com.knuddels.jtokkit.api.Encoding enc, @NotNull @NotNull List<Integer> encoded)
通过Encoding和encoded数组反推text信息- Parameters:
enc- Encodingencoded- 编码数组- Returns:
- 编码数组对应的文本信息
-
getEncoding
public static com.knuddels.jtokkit.api.Encoding getEncoding(@NotNull @NotNull com.knuddels.jtokkit.api.EncodingType encodingType)获取一个Encoding对象,通过Encoding类型- Parameters:
encodingType- encodingType- Returns:
- Encoding
-
encode
public static List<Integer> encode(@NotNull @NotNull com.knuddels.jtokkit.api.EncodingType encodingType, String text)
获取encode的编码数组- Parameters:
text- 文本信息- Returns:
- 编码数组
-
tokens
public static int tokens(@NotNull @NotNull com.knuddels.jtokkit.api.EncodingType encodingType, String text)计算指定字符串的tokens,通过EncodingType- Parameters:
encodingType- encodingTypetext- 文本信息- Returns:
- tokens数量
-
decode
public static String decode(@NotNull @NotNull com.knuddels.jtokkit.api.EncodingType encodingType, @NotNull @NotNull List<Integer> encoded)
通过EncodingType和encoded编码数组,反推字符串文本- Parameters:
encodingType- encodingTypeencoded- 编码数组- Returns:
- 编码数组对应的字符串
-
getEncoding
public static com.knuddels.jtokkit.api.Encoding getEncoding(@NotNull @NotNull String modelName)获取一个Encoding对象,通过模型名称- Parameters:
modelName- 模型名称- Returns:
- Encoding
-
encode
public static List<Integer> encode(@NotNull @NotNull String modelName, String text)
获取encode的编码数组,通过模型名称- Parameters:
text- 文本信息- Returns:
- 编码数组
-
tokens
public static int tokens(@NotNull @NotNull String modelName, String text)通过模型名称, 计算指定字符串的tokens- Parameters:
modelName- 模型名称text- 文本信息- Returns:
- tokens数量
-
tokens
public static int tokens(@NotNull @NotNull String modelName, @NotNull @NotNull List<Message> messages)通过模型名称计算messages获取编码数组 参考官方的处理逻辑: https://github.com/openai/openai-cookbook/blob/main/examples/How_to_count_tokens_with_tiktoken.ipynb- Parameters:
modelName- 模型名称messages- 消息体- Returns:
- tokens数量
-
decode
public static String decode(@NotNull @NotNull String modelName, @NotNull @NotNull List<Integer> encoded)
通过模型名称和encoded编码数组,反推字符串文本- Parameters:
modelName- 模型名encoded- 编码数组- Returns:
- 返回源文本
-
getModelTypeByName
public static com.knuddels.jtokkit.api.ModelType getModelTypeByName(String name)
获取modelType- Parameters:
name- 模型名称- Returns:
- ModelType
-
-