Spaces:
Sleeping
Sleeping
File size: 1,527 Bytes
32a8c03 23d4e93 32a8c03 90f1ab5 e575683 edcd57b d9ac7f6 e575683 90f1ab5 32a8c03 90f1ab5 32a8c03 90f1ab5 32a8c03 90f1ab5 32a8c03 90f1ab5 e575683 d9ac7f6 90f1ab5 32a8c03 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 | from google import genai
import gradio as gr
import os
models = [
'gemini-2.5-flash',
'gemini-2.5-pro',
'gemini-2.0-flash',
'gemini-2.0-flash-lite',
'gemini-pro-latest',
'gemini-2.5-flash-lite',
'gemini-2.5-flash-image',
'gemini-3-flash-preview',
'gemini-3.1-pro-image-preview',
'gemini-3.1-pro-preview',
]
color_map = {
'3': '#ccbfee',
'2': '#beedc6',
'1': '#f4d7ab',
'0': '#f4aeb1',
# '4': '#a4dcf3',
}
client_vertex = genai.Client(
vertexai=True,
api_key=os.getenv("VERTEX_API_KEY")
)
def tokens_len(prompt, model):
result = client_vertex.models.compute_tokens(
model=model,
contents=prompt
)
tokens = result.tokens_info[0].tokens
return (
f'{len(tokens)} tokens, {len(prompt)} chracters',
[
(
token.decode('utf-8').replace("\n", "\\n"),
str(i % len(color_map))
) for i, token in enumerate(tokens)
]
)
web_tokenizer = gr.Interface(
fn = tokens_len,
inputs = [
gr.Textbox(
label='輸入提示文字',
lines=6),
gr.Dropdown(
label='模型名稱',
choices = models,
value=models[-1])
],
outputs = [
gr.Textbox(
label='統計量'),
gr.Highlightedtext(
label='切割結果:',
color_map = color_map,
show_inline_category=False)
]
)
web_tokenizer.launch(share=True, debug=True) |