flagtech's picture
fixed default model
d9ac7f6 verified
Raw
History Blame Contribute Delete
1.53 kB
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)