S-Del commited on
Commit
8f9b24c
·
1 Parent(s): 8f47f0f

Add app.py

Browse files
Files changed (1) hide show
  1. app.py +46 -0
app.py ADDED
@@ -0,0 +1,46 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from gradio import Dataframe, Interface, Number, TextArea, Blocks, Row
2
+ from pandas import DataFrame
3
+ from transformers import CLIPTokenizer, PreTrainedTokenizer
4
+
5
+
6
+ TOKENIZER: PreTrainedTokenizer = CLIPTokenizer.from_pretrained(
7
+ "openai/clip-vit-large-patch14"
8
+ )
9
+
10
+
11
+ def to_tokens(prompt: str) -> tuple[int, DataFrame]:
12
+ tokens = TOKENIZER.tokenize(prompt)
13
+ ids = TOKENIZER.convert_tokens_to_ids(tokens)
14
+
15
+ return (
16
+ len(tokens),
17
+ DataFrame({
18
+ "No": range(1, len(tokens)+1),
19
+ "Token": tokens,
20
+ "ID": ids
21
+ })
22
+ )
23
+
24
+
25
+ def main():
26
+ app = Interface(
27
+ title="Token Counter",
28
+ fn=to_tokens,
29
+ inputs=TextArea(label="Prompt"),
30
+ outputs=[
31
+ Number(label="Token Count"),
32
+ Dataframe(
33
+ headers=[ "No", "Token", "ID" ],
34
+ datatype=[ "number", "str", "number" ],
35
+ label="Tokens"
36
+ )
37
+ ],
38
+ live=True,
39
+ allow_flagging="never"
40
+ )
41
+
42
+ app.launch()
43
+
44
+
45
+ if __name__ == "__main__":
46
+ main()