类 LocalTokenCounter

java.lang.Object
com.agentsflex.core.util.LocalTokenCounter

public class LocalTokenCounter extends Object
静态工具类:更精确的本地 token 统计工具,模拟 OpenAI ChatCompletion 格式。 支持 function calls,按消息 role/name/内容序列化计数。
  • 字段详细资料

    • ENCODING

      private static com.knuddels.jtokkit.api.Encoding ENCODING
  • 构造器详细资料

  • 方法详细资料

    • init

      public static void init(com.knuddels.jtokkit.api.Encoding encoding)
    • computeAndSetLocalTokens

      public static void computeAndSetLocalTokens(List<Message> messages, AiMessage aiMessage)
      基于完整对话历史,为最后一条 AiMessage 计算并设置本地 token 字段。
      参数:
      messages - 完整的对话消息列表(按顺序,包含 system/user/ai)
      aiMessage - 要设置 token 的 AiMessage(应为 messages 中的最后一条 assistant 消息)
    • countPromptTokens

      public static int countPromptTokens(List<? extends Message> messages)
      计算 prompt token(对话历史) 按 OpenAI ChatCompletion 格式,每条消息 role+content+name 固定 token
    • countMessageTokens

      private static int countMessageTokens(Message msg)
      计算单条消息 token
    • countCompletionTokens

      public static int countCompletionTokens(AiMessage aiMsg)
      计算 AiMessage completion token 包含 fullContent / reasoningContent / functionCall