Spaces:
Sleeping
Sleeping
| 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) |