MCPcopy Index your code
hub / github.com/ChatLab/ChatLab / countMessagesTokens

Function countMessagesTokens

packages/node-runtime/src/ai/tokenizer.ts:79–97  ·  view source on GitHub ↗
(
  messages: Array<{ role: string; content: string }>,
  systemPrompt?: string,
)

Source from the content-addressed store, hash-verified

77 * 每条消息额外计 4 tokens 的格式开销(role + 分隔符)。
78 */
79export function countMessagesTokens(
80 messages: Array<{ role: string; content: string }>,
81 systemPrompt?: string,
82): number {
83 let total = 0
84
85 if (systemPrompt) {
86 total += countTokens(systemPrompt) + 4
87 }
88
89 for (const msg of messages) {
90 total += countTokens(msg.content) + 4
91 }
92
93 // 回复引导 token
94 total += 3
95
96 return total
97}

Callers 2

registerAiChatRoutesFunction · 0.90
checkAndCompressFunction · 0.90

Calls 1

countTokensFunction · 0.85

Tested by

no test coverage detected