cursor2api / src /tokenizer.ts
ohmyapi's picture
sync: v2.7.8 + auto-probe models
0f08150
raw
history blame contribute delete
537 Bytes
/**
* tokenizer.ts - 统一 token 估算模块
*
* 使用 js-tiktoken 的 cl100k_base 编码器(与 Claude tokenizer 高度近似,误差 < 5%)
* 纯 JS 实现,无 WASM,无网络请求,ESM 兼容
*/
import { getEncoding } from 'js-tiktoken';
const enc = getEncoding('cl100k_base');
/**
* 估算文本的 token 数
* 使用 cl100k_base 编码(GPT-3.5/4 同款,与 Claude tokenizer 近似)
*/
export function estimateTokens(text: string): number {
if (!text) return 0;
return enc.encode(text).length;
}