File tree Expand file tree Collapse file tree 2 files changed +35
-1
lines changed
Expand file tree Collapse file tree 2 files changed +35
-1
lines changed Original file line number Diff line number Diff line change 2222 "test:update-snapshots" : " npm run build && node scripts/test.mjs --test-update-snapshots" ,
2323 "prepare" : " node --experimental-strip-types scripts/prepare.ts" ,
2424 "verify-server-json-version" : " node --experimental-strip-types scripts/verify-server-json-version.ts" ,
25- "eval" : " npm run build && node --experimental-strip-types scripts/eval_gemini.ts"
25+ "eval" : " npm run build && node --experimental-strip-types scripts/eval_gemini.ts" ,
26+ "count-tokens" : " node --experimental-strip-types scripts/count_tokens.ts"
2627 },
2728 "files" : [
2829 " build/src" ,
Original file line number Diff line number Diff line change 1+ /**
2+ * @license
3+ * Copyright 2026 Google LLC
4+ * SPDX-License-Identifier: Apache-2.0
5+ */
6+
7+ import { parseArgs } from 'node:util' ;
8+
9+ import { GoogleGenAI } from '@google/genai' ;
10+
11+ const ai = new GoogleGenAI ( { apiKey : process . env . GEMINI_API_KEY } ) ;
12+
13+ const { values, positionals} = parseArgs ( {
14+ options : {
15+ model : {
16+ type : 'string' ,
17+ default : 'gemini-2.5-flash' ,
18+ } ,
19+ } ,
20+ allowPositionals : true ,
21+ } ) ;
22+
23+ if ( ! positionals [ 0 ] ) {
24+ console . error ( 'Usage: npm run count-tokens -- -- <text>' ) ;
25+ process . exit ( 1 ) ;
26+ }
27+
28+ const response = await ai . models . countTokens ( {
29+ model : values . model ,
30+ contents : positionals [ 0 ] ,
31+ } ) ;
32+ console . log ( `Input: ${ positionals [ 0 ] } ` ) ;
33+ console . log ( `Tokens: ${ response . totalTokens } ` ) ;
You can’t perform that action at this time.
0 commit comments