Spaces:
Runtime error
Runtime error
glm_api
#6
by
tabare
- opened
app.py
CHANGED
@@ -4,7 +4,6 @@ import requests
|
|
4 |
import json
|
5 |
import os
|
6 |
|
7 |
-
|
8 |
APIKEY = os.environ.get("APIKEY")
|
9 |
APISECRET = os.environ.get("APISECRET")
|
10 |
|
@@ -17,12 +16,12 @@ def predict(text, seed, out_seq_length, min_gen_length, sampling_strategy,
|
|
17 |
if text == '':
|
18 |
return 'Input should not be empty!'
|
19 |
|
20 |
-
url = 'https://
|
21 |
|
22 |
payload = json.dumps({
|
23 |
"apikey": APIKEY,
|
24 |
"apisecret": APISECRET ,
|
25 |
-
"
|
26 |
"prompt": text,
|
27 |
"length_penalty": length_penalty,
|
28 |
"temperature": temperature,
|
@@ -33,7 +32,6 @@ def predict(text, seed, out_seq_length, min_gen_length, sampling_strategy,
|
|
33 |
"num_beams": num_beams,
|
34 |
"max_tokens": out_seq_length,
|
35 |
"no_repeat_ngram": no_repeat_ngram_size,
|
36 |
-
"quantization": "int4",
|
37 |
"seed": seed
|
38 |
})
|
39 |
|
@@ -61,9 +59,9 @@ def predict(text, seed, out_seq_length, min_gen_length, sampling_strategy,
|
|
61 |
if __name__ == "__main__":
|
62 |
|
63 |
en_fil = ['The Starry Night is an oil-on-canvas painting by [MASK] in June 1889.']
|
64 |
-
en_gen = ['
|
65 |
ch_fil = ['凯旋门位于意大利米兰市古城堡旁。1807年为纪念[MASK]而建,门高25米,顶上矗立两武士青铜古兵车铸像。']
|
66 |
-
ch_gen = ['
|
67 |
en_to_ch = ['Pencil in Chinese is [MASK].']
|
68 |
ch_to_en = ['"我思故我在"的英文是"[MASK]"。']
|
69 |
|
@@ -72,13 +70,8 @@ if __name__ == "__main__":
|
|
72 |
with gr.Blocks() as demo:
|
73 |
gr.Markdown(
|
74 |
"""
|
75 |
-
|
76 |
-
|
77 |
-
Nice to meet you here! This is a toy demo of GLM-130B, an open bilingual pre-trained model from Tsinghua Univeristy. GLM-130B uses two different mask tokens: `[MASK]` for short blank filling and `[gMASK]` for left-to-right long text generation. When the input does not contain any MASK token, `[gMASK]` will be automatically appended to the end of the text. We recommend that you use `[MASK]` to try text fill-in-the-blank to reduce wait time (ideally within seconds without queuing).
|
78 |
-
|
79 |
-
This demo is a raw language model **without** instruction fine-tuning (which is applied to FLAN-* series) and RLHF (which is applied to ChatGPT); its ability is roughly between OpenAI `davinci` and `text-davinci-001`. Thus, it is currently worse than ChatGPT and other instruction fine-tuned models :(
|
80 |
-
|
81 |
-
However, we are sparing no effort to improve it, and its updated versions will meet you soon! If you find the open-source effort useful, please star our [GitHub repo](https://github.com/THUDM/GLM-130B) to encourage our following development :)
|
82 |
""")
|
83 |
|
84 |
with gr.Row():
|
@@ -100,7 +93,7 @@ if __name__ == "__main__":
|
|
100 |
out_seq_length = gr.Slider(maximum=256, value=128, minimum=32, step=1, label='Output Sequence Length')
|
101 |
with gr.Column():
|
102 |
min_gen_length = gr.Slider(maximum=64, value=0, step=1, label='Min Generate Length')
|
103 |
-
sampling_strategy = gr.Radio(choices=['BeamSearchStrategy', 'BaseStrategy'], value='
|
104 |
|
105 |
with gr.Row():
|
106 |
with gr.Column():
|
@@ -118,9 +111,9 @@ if __name__ == "__main__":
|
|
118 |
"""
|
119 |
BaseStrategy
|
120 |
""")
|
121 |
-
temperature = gr.Slider(maximum=1, value=
|
122 |
-
topk = gr.Slider(maximum=40, value=
|
123 |
-
topp = gr.Slider(maximum=1, value=0
|
124 |
|
125 |
inputs = [model_input, seed, out_seq_length, min_gen_length, sampling_strategy, num_beams, length_penalty, no_repeat_ngram_size, temperature, topk, topp]
|
126 |
gen.click(fn=predict, inputs=inputs, outputs=outputs)
|
|
|
4 |
import json
|
5 |
import os
|
6 |
|
|
|
7 |
APIKEY = os.environ.get("APIKEY")
|
8 |
APISECRET = os.environ.get("APISECRET")
|
9 |
|
|
|
16 |
if text == '':
|
17 |
return 'Input should not be empty!'
|
18 |
|
19 |
+
url = 'https://wudao.aminer.cn/os/api/api/v2/completions_130B'
|
20 |
|
21 |
payload = json.dumps({
|
22 |
"apikey": APIKEY,
|
23 |
"apisecret": APISECRET ,
|
24 |
+
"language": "zh-CN",
|
25 |
"prompt": text,
|
26 |
"length_penalty": length_penalty,
|
27 |
"temperature": temperature,
|
|
|
32 |
"num_beams": num_beams,
|
33 |
"max_tokens": out_seq_length,
|
34 |
"no_repeat_ngram": no_repeat_ngram_size,
|
|
|
35 |
"seed": seed
|
36 |
})
|
37 |
|
|
|
59 |
if __name__ == "__main__":
|
60 |
|
61 |
en_fil = ['The Starry Night is an oil-on-canvas painting by [MASK] in June 1889.']
|
62 |
+
en_gen = ['Eight planets in solar system are [gMASK]']
|
63 |
ch_fil = ['凯旋门位于意大利米兰市古城堡旁。1807年为纪念[MASK]而建,门高25米,顶上矗立两武士青铜古兵车铸像。']
|
64 |
+
ch_gen = ['三亚位于海南岛的最南端,是中国最南部的热带滨海旅游城市 [gMASK]']
|
65 |
en_to_ch = ['Pencil in Chinese is [MASK].']
|
66 |
ch_to_en = ['"我思故我在"的英文是"[MASK]"。']
|
67 |
|
|
|
70 |
with gr.Blocks() as demo:
|
71 |
gr.Markdown(
|
72 |
"""
|
73 |
+
An Open Bilingual Pre-Trained Model. [Visit our github repo](https://github.com/THUDM/GLM-130B)
|
74 |
+
GLM-130B uses two different mask tokens: `[MASK]` for short blank filling and `[gMASK]` for left-to-right long text generation. When the input does not contain any MASK token, `[gMASK]` will be automatically appended to the end of the text. We recommend that you use `[MASK]` to try text fill-in-the-blank to reduce wait time (ideally within seconds without queuing).
|
|
|
|
|
|
|
|
|
|
|
75 |
""")
|
76 |
|
77 |
with gr.Row():
|
|
|
93 |
out_seq_length = gr.Slider(maximum=256, value=128, minimum=32, step=1, label='Output Sequence Length')
|
94 |
with gr.Column():
|
95 |
min_gen_length = gr.Slider(maximum=64, value=0, step=1, label='Min Generate Length')
|
96 |
+
sampling_strategy = gr.Radio(choices=['BeamSearchStrategy', 'BaseStrategy'], value='BeamSearchStrategy', label='Search Strategy')
|
97 |
|
98 |
with gr.Row():
|
99 |
with gr.Column():
|
|
|
111 |
"""
|
112 |
BaseStrategy
|
113 |
""")
|
114 |
+
temperature = gr.Slider(maximum=1, value=0.7, minimum=0, label='Temperature')
|
115 |
+
topk = gr.Slider(maximum=40, value=1, minimum=0, step=1, label='Top K')
|
116 |
+
topp = gr.Slider(maximum=1, value=0, minimum=0, label='Top P')
|
117 |
|
118 |
inputs = [model_input, seed, out_seq_length, min_gen_length, sampling_strategy, num_beams, length_penalty, no_repeat_ngram_size, temperature, topk, topp]
|
119 |
gen.click(fn=predict, inputs=inputs, outputs=outputs)
|