Skip to content

Commit 6471c41

Browse files
Tested and fixed count_tokens.sh
1 parent 4d9639e commit 6471c41

File tree

1 file changed

+17
-27
lines changed

1 file changed

+17
-27
lines changed

samples/rest/count_tokens.sh

Lines changed: 17 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,10 @@ set -eu
33
SCRIPT_DIR=$(dirname "$0")
44
MEDIA_DIR=$(realpath ${SCRIPT_DIR}/../../third_party)
55

6+
GOOGLE_API_KEY=AIzaSyA3Gw4E_RoF_wfergxCQ2Y7BhtkSHALxfM
7+
68
TEXT_PATH=${MEDIA_DIR}/poem.txt
9+
A11_PATH=${MEDIA_DIR}/a11.txt
710
IMG_PATH=${MEDIA_DIR}/organ.jpg
811
AUDIO_PATH=${MEDIA_DIR}/sample.mp3
912
VIDEO_PATH=${MEDIA_DIR}/Big_Buck_Bunny.mp4
@@ -18,7 +21,9 @@ fi
1821

1922
echo "[START tokens_context_window]"
2023
# [START tokens_context_window]
21-
curl https://generativelanguage.googleapis.com/v1beta/models/gemini-1.5-pro:countTokens?key=$GOOGLE_API_KEY
24+
curl https://generativelanguage.googleapis.com/v1beta/models/gemini-1.5-pro?key=$GOOGLE_API_KEY > model.json
25+
jq .inputTokenLimit model.json
26+
jq .outputTokenLimit model.json
2227
# [END tokens_context_window]
2328

2429
echo "[START tokens_text_only]"
@@ -102,7 +107,6 @@ curl "${upload_url}" \
102107
--data-binary "@${IMG_PATH}" 2> /dev/null > file_info.json
103108

104109
file_uri=$(jq ".file.uri" file_info.json)
105-
echo file_uri=$file_uri
106110

107111
curl "https://generativelanguage.googleapis.com/v1beta/models/gemini-1.5-flash:countTokens?key=$GOOGLE_API_KEY" \
108112
-H 'Content-Type: application/json' \
@@ -148,13 +152,10 @@ curl "${upload_url}" \
148152
--data-binary "@${VIDEO_PATH}" 2> /dev/null > file_info.json
149153

150154
file_uri=$(jq ".file.uri" file_info.json)
151-
echo file_uri=$file_uri
152155

153156
state=$(jq ".file.state" file_info.json)
154-
echo state=$state
155157

156158
name=$(jq ".file.name" file_info.json)
157-
echo name=$name
158159

159160
while [[ "($state)" = *"PROCESSING"* ]];
160161
do
@@ -179,7 +180,6 @@ curl "https://generativelanguage.googleapis.com/v1beta/models/gemini-1.5-flash:c
179180

180181
echo "[START tokens_cached_content]"
181182
# [START tokens_cached_content]
182-
wget https://storage.googleapis.com/generativeai-downloads/data/a11.txt
183183
echo '{
184184
"model": "models/gemini-1.5-flash-001",
185185
"contents":[
@@ -188,7 +188,7 @@ echo '{
188188
{
189189
"inline_data": {
190190
"mime_type":"text/plain",
191-
"data": "'$(base64 $B64FLAGS a11.txt)'"
191+
"data": "'$(base64 $B64FLAGS $A11_PATH)'"
192192
}
193193
}
194194
],
@@ -210,33 +210,21 @@ curl -X POST "https://generativelanguage.googleapis.com/v1beta/cachedContents?ke
210210
-d @request.json \
211211
> cache.json
212212

213-
CACHE_NAME=$(cat cache.json | grep '"name":' | cut -d '"' -f 4 | head -n 1)
214-
215-
curl -X POST "https://generativelanguage.googleapis.com/v1beta/models/gemini-1.5-flash:countTokens?key=$GOOGLE_API_KEY" \
216-
-H 'Content-Type: application/json' \
217-
-d '{
218-
"contents": [
219-
{
220-
"parts":[{
221-
"text": "Please summarize this transcript"
222-
}],
223-
"role": "user"
224-
},
225-
],
226-
"cachedContent": "'$CACHE_NAME'"
227-
}'
213+
jq .usageMetadata.totalTokenCount cache.json
228214
# [END tokens_cached_content]
229215

230216
echo "[START tokens_system_instruction]"
231217
# [START tokens_system_instruction]
232-
curl "https://generativelanguage.googleapis.com/v1beta/models/gemini-1.5-pro-latest:countTokens?key=$GOOGLE_API_KEY" \
218+
curl "https://generativelanguage.googleapis.com/v1beta/models/gemini-1.5-pro-latest:generateContent?key=$GOOGLE_API_KEY" \
233219
-H 'Content-Type: application/json' \
234220
-d '{ "system_instruction": {
235221
"parts":
236222
{ "text": "You are a cat. Your name is Neko."}},
237223
"contents": {
238224
"parts": {
239-
"text": "Hello there"}}}'
225+
"text": "Hello there"}}}' > system_instructions.json
226+
227+
jq .usageMetadata.totalTokenCount system_instructions.json
240228
# [END tokens_system_instruction]
241229

242230
echo "[START tokens_tools]"
@@ -274,9 +262,9 @@ cat > tools.json << EOF
274262
}
275263
EOF
276264

277-
curl "https://generativelanguage.googleapis.com/v1beta/models/gemini-1.5-pro-latest:countTokens?key=$GOOGLE_API_KEY" \
265+
curl "https://generativelanguage.googleapis.com/v1beta/models/gemini-1.5-pro-latest:generateContent?key=$GOOGLE_API_KEY" \
278266
-H 'Content-Type: application/json' \
279-
-d @<(echo '
267+
-d '
280268
{
281269
"system_instruction": {
282270
"parts": {
@@ -296,5 +284,7 @@ curl "https://generativelanguage.googleapis.com/v1beta/models/gemini-1.5-pro-lat
296284
}
297285
}
298286
}
299-
') 2>/dev/null |sed -n '/"content"/,/"finishReason"/p'
287+
' > tools_output.json
288+
289+
jq .usageMetadata.totalTokenCount tools_output.json
300290
# [END tokens_tools]

0 commit comments

Comments
 (0)