Spaces:
Running
Running
update
#13
by
Chenyuwen
- opened
- .streamlit/secrets.toml +0 -1
- app.py +41 -96
- requirements.txt +0 -2
.streamlit/secrets.toml
DELETED
@@ -1 +0,0 @@
|
|
1 |
-
token = "no_limit_token_for_insider"
|
|
|
|
app.py
CHANGED
@@ -5,21 +5,15 @@ from enum import Enum
|
|
5 |
|
6 |
st.header("WeLM Demo 初体验")
|
7 |
st.text('Tips: ')
|
8 |
-
st.text("* WeLM不是一个直接的对话机器人,而是一个补全用户输入信息的生成模型")
|
9 |
-
st.text("* 修改
|
10 |
-
st.text("* 你的输入可能会被我们拼接在预设的prompt尾部后再发送给API")
|
11 |
-
st.text("* 在每个任务的下方我们展示了该任务请求API时完整的参数(包含完整的prompt)")
|
12 |
-
|
13 |
-
|
14 |
|
15 |
class Task(str, Enum):
|
16 |
-
DIALOG_JOURNAL = "
|
17 |
-
QA = "问答"
|
18 |
-
COPY= "文案生成"
|
19 |
-
REWRITE = "文本改写"
|
20 |
READING_COMPREHENSION = "阅读理解"
|
21 |
TRANSLATE = "翻译"
|
22 |
-
|
|
|
23 |
FREE = "自由任务"
|
24 |
|
25 |
|
@@ -31,45 +25,23 @@ task_type = st.selectbox(
|
|
31 |
)
|
32 |
task_type = task_value2type[task_type]
|
33 |
|
34 |
-
|
35 |
-
Task.READING_COMPREHENSION: """
|
36 |
-
|
37 |
-
|
38 |
-
答案:
|
39 |
-
""",
|
40 |
-
Task.QA: """请根据所学知识回答问题
|
41 |
-
问题:百年孤独的作者是?
|
42 |
-
回答:作者是哥伦比亚作家加西亚·马尔克斯,这本书是其代表作,也是拉丁美洲魔幻现实主义文学的代表作,被誉为“再现拉丁美洲历史社会图景的鸿篇巨著”。
|
43 |
-
问题:世界第二高峰是?
|
44 |
-
回答:乔戈里峰。海拔8611,海拔仅次于珠穆朗玛峰。“乔戈里”,通常被认为是塔吉克语,意思是“高大雄伟”。乔戈里山峰主要有6条山脊,西北—东南山脊为喀喇昆山脉主脊线,同时也是中国、巴基斯坦的国境线。
|
45 |
-
""",
|
46 |
-
Task.COPY: """请根据商品描述生成商品的文案
|
47 |
-
商品描述:芍药香氛的沐浴乳
|
48 |
-
文案:无比高大上的香味,淡粉色玫瑰清新诱人!沐浴后都充满着浪漫和幸福感,这样的情调会让你变得更加温柔。
|
49 |
-
商品描述:清爽去痘的洗面奶
|
50 |
-
文案:蕴含海藻精华,配合多种草本植物。能清洁毛孔污垢,保湿滋润肌肤,让细胞更健康、平衡水油分泌,消除痘痘同时预防痘痘产生,预防黑头粉刺及暗疮形成。""",
|
51 |
Task.TRANSLATE: """“I had a good time”的中文翻译是:我玩得很开心。
|
52 |
“The pandemic has triggered more demand for online shopping”的中文翻译是:疫情引发了更多的网购需求
|
53 |
-
""",
|
54 |
-
Task.DIALOG_JOURNAL: """
|
55 |
-
Elon Musk
|
56 |
-
|
57 |
-
|
58 |
-
Elon Musk
|
59 |
-
|
60 |
-
Elon Musk
|
61 |
-
|
62 |
-
|
63 |
-
Elon Musk:我是在尽我所能帮助人口不足的危机。出生率的崩溃是迄今为止人类文明面临的最大危险。
|
64 |
-
提问者3: 你真的是Elon Musk吗?
|
65 |
-
Elon Musk: 是的! 我现在在德克萨斯州,在我们的特斯拉总部呆了一段时间。刚从加州回来,我们正在为SpaceX的发射做准备,明天即将发表另一个TED演讲,这次是关于Neuralink。
|
66 |
-
Elon Musk: 你好,你想讨论什么?
|
67 |
-
提问者4:你开的是什么类型的车?
|
68 |
-
Elon Musk: 特斯拉Model S最多。时常开一辆Model X。
|
69 |
-
提问者4:你多大了?
|
70 |
-
Elon Musk: 51岁,但我说我有40岁人的精力。在健康方面最重要的事情不仅仅是避免摄入过多的糖,还有高强度的运动。
|
71 |
-
""",
|
72 |
-
|
73 |
Task.REWRITE: """有这样一段文本,{医生微笑着递给小明棒棒糖,同时让小明服下了药。}
|
74 |
改写这段话让它变得更加惊悚。{医生眼露凶光让小明服药,小明感到非常害怕}。
|
75 |
有这样一段文本,{雨下得很大}
|
@@ -81,35 +53,20 @@ Elon Musk: 51岁,但我说我有40岁人的精力。在健康方面最重要
|
|
81 |
有这样一段文本,{风铃声响起}
|
82 |
改写这段话写的更加丰富。{我对这个风铃的感情是由它的铃声引起的。每当风吹来时,风铃发出非常动听的声音,听起来是那么乐观、豁达,像一个小女孩格格的笑声。}
|
83 |
""",
|
84 |
-
Task.COMPLETION: """
|
85 |
-
""",
|
86 |
-
Task.FREE: ""
|
87 |
-
}
|
88 |
-
|
89 |
-
task2prompt_end = {
|
90 |
-
Task.READING_COMPREHENSION: """文章:“经审理查明,被告人张××、杜×、杨2某均为辽宁省辽阳第一监狱五监区服刑人员。2015年11月3日13时许,被告人张××、杜×因无事便跟随去催要生产材料的被告人杨2某一同前往六监区,在六监区生产车间门外,被告人杨2某与六监区送料员于×因送料问题发生争执,被告人杨2某上前拽住被害人于×胳膊并用手击打被害人后脖颈两下,被告人张××、杜×见杨2某动手后,先后上前分别对被害人于×面部、头部及腹部进行殴打,后被赶到的干警制止。被害人于×被打造成面部受伤,鼻子流血,当日下午14时许,到监区内医院就诊,诊断为:鼻部中段向左侧畸形,11月5日经监狱医院X光诊断为鼻骨骨折。2015年11月18日,经辽阳襄平法医司法鉴定所法医鉴定:被害人于×身体损伤程度为轻伤二级。被告人张××、杜×、杨2某共同赔偿被害人于×人民币7000元,被害人于×对被告人的行为表示谅解。”
|
91 |
-
问题: “被害人于×11月5日经监狱医院X光诊断后的诊断结果为?”
|
92 |
-
答案:""",
|
93 |
-
Task.COPY: """商品描述:冬季百搭的外套
|
94 |
-
文案:""",
|
95 |
-
Task.QA: """问题:四大名著分别是?
|
96 |
-
回答:""",
|
97 |
-
Task.TRANSLATE: """“I am a programmer in Tencent”的中文翻译是:""",
|
98 |
-
Task.DIALOG_JOURNAL: """Elon Musk: 你好,你想讨论什么?
|
99 |
-
我:收购Twitter之后你想做什么?
|
100 |
-
Elon Musk:""",
|
101 |
-
Task.REWRITE: """有这样一段文本,{我想家了}
|
102 |
-
改写这段话包含更多悲伤的感情。{""",
|
103 |
Task.COMPLETION: """“八月十八潮,壮观天下无。”这是北宋大诗人苏东坡咏赞钱塘秋潮的千古名句。千百年来,钱塘江以其奇特卓绝的江潮,不知倾倒了多少游人看客。
|
104 |
-
|
|
|
105 |
Task.FREE: ""
|
106 |
}
|
107 |
|
108 |
-
|
109 |
-
|
110 |
-
|
111 |
-
|
112 |
-
|
|
|
|
|
|
|
113 |
all_input = all_input.rstrip('\\n')
|
114 |
|
115 |
|
@@ -161,14 +118,11 @@ def completion():
|
|
161 |
if choice.get("finish_reason", None) != "finished":
|
162 |
st.error(f'生成结果#{idx}出错: {choice["finish_reason"]}')
|
163 |
elif choice.get("text", None) is None:
|
164 |
-
st.error(f'生成结果#{idx}出错:
|
165 |
-
|
166 |
-
|
167 |
-
|
168 |
-
|
169 |
-
st.info(f'生成结果#{idx}: 结果为空,可能的原因:生成的第一个字符为stop字符,请合理配置prompt或stop')
|
170 |
-
else:
|
171 |
-
st.success(f'生成结果#{idx}: {text}')
|
172 |
|
173 |
if task_type == 'COMPLETION':
|
174 |
st.text('Tips: 可多次生成后复制你认为的最好结果拼接于原文后,让WeLM继续生成。')
|
@@ -177,34 +131,24 @@ def completion():
|
|
177 |
st.error(f"生成结果出错:{str(e)}")
|
178 |
|
179 |
|
180 |
-
code_str = """
|
181 |
-
post_json = {{
|
182 |
-
'prompt': '{all_input}',
|
183 |
-
'model': '{model}',
|
184 |
-
'max_tokens': {max_tokens},
|
185 |
-
'temperature': {temperature},
|
186 |
-
'top_p': {top_p},
|
187 |
-
'top_k': {top_k},
|
188 |
-
'n': {n},
|
189 |
-
"stop": '{stop_tokens}',
|
190 |
-
}}
|
191 |
-
""".format(all_input=all_input,model=model,max_tokens=max_tokens,temperature=temperature, top_p=top_p,top_k=top_k,n=n,stop_tokens=stop_tokens)
|
192 |
-
st.code(code_str)
|
193 |
|
194 |
if st.button('立即生成'):
|
195 |
completion()
|
196 |
|
197 |
|
198 |
footer="""<style>
|
|
|
199 |
a:link , a:visited{
|
200 |
background-color: transparent;
|
201 |
text-decoration: none;
|
202 |
color: rgb(7 6 17);
|
203 |
}
|
|
|
204 |
a:hover, a:active {
|
205 |
background-color: transparent;
|
206 |
text-decoration: underline;
|
207 |
}
|
|
|
208 |
.footer {
|
209 |
position: relative;
|
210 |
left: 0;
|
@@ -220,11 +164,12 @@ text-align: left;
|
|
220 |
<br>
|
221 |
<br>
|
222 |
<br>
|
223 |
-
<br>
|
224 |
<p style="font-size:12px">声明(受<a href="https://beta.openai.com/docs/usage-guidelines/content-policy" target="_blank"> OpenAI GPT3's Content Policy </a>启发)</p>
|
|
|
225 |
<p style="font-size:12px">我们禁止用户在知情的情况下产生或利用他人在知情的情况下产生有害内容,包括且不限于仇恨言论、骚扰信息、自我伤害内容、性内容、政治内容、垃圾邮件、诈骗信息等。<br>
|
226 |
特别提示:本网页上产生的所有内容不代表本平台的观点和意见。<br>
|
227 |
欲了解更多信息,请阅读我们的<a href="https://welm.weixin.qq.com/docs/license/" target="_blank">《服务使用协议》和《免责声明》</a>。</p>
|
228 |
</div>
|
229 |
"""
|
230 |
-
st.markdown(footer,unsafe_allow_html=True)
|
|
|
5 |
|
6 |
st.header("WeLM Demo 初体验")
|
7 |
st.text('Tips: ')
|
8 |
+
st.text("* WeLM 不是一个直接的对话机器人,而是一个补全用户输入信息的生成模型")
|
9 |
+
st.text("* 修改Prompts请先参考 https://welm.weixin.qq.com/docs/introduction/")
|
|
|
|
|
|
|
|
|
10 |
|
11 |
class Task(str, Enum):
|
12 |
+
DIALOG_JOURNAL = "对话-采访"
|
|
|
|
|
|
|
13 |
READING_COMPREHENSION = "阅读理解"
|
14 |
TRANSLATE = "翻译"
|
15 |
+
REWRITE = "改写"
|
16 |
+
COMPLETION = "续写"
|
17 |
FREE = "自由任务"
|
18 |
|
19 |
|
|
|
25 |
)
|
26 |
task_type = task_value2type[task_type]
|
27 |
|
28 |
+
task2prompt = {
|
29 |
+
Task.READING_COMPREHENSION: """在这个关于“故意伤害罪”的案例:
|
30 |
+
“经审理查明,被告人张××、杜×、杨2某均为辽宁省辽阳第一监狱五监区服刑人员。2015年11月3日13时许,被告人张××、杜×因无事便跟随去催要生产材料的被告人杨2某一同前往六监区,在六监区生产车间门外,被告人杨2某与六监区送料员于×因送料问题发生争执,被告人杨2某上前拽住被害人于×胳膊并用手击打被害人后脖颈两下,被告人张××、杜×见杨2某动手后,先后上前分别对被害人于×面部、头部及腹部进行殴打,后被赶到的干警制止。被害人于×被打造成面部受伤,鼻子流血,当日下午14时许,到监区内医院就诊,诊断为:鼻部中段向左侧畸形,11月5日经监狱医院X光诊断为鼻骨骨折。2015年11月18日,经辽阳襄平法医司法鉴定所法医鉴定:被害人于×身体损伤程度为轻伤二级。被告人张××、杜×、杨2某共同赔偿被害人于×人民币7000元,被害人于×对被告人的行为表示谅解。”
|
31 |
+
问题: “被害人于×11月5日经监狱医院X光诊断后的诊断结果为?”
|
32 |
+
答案:""",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
33 |
Task.TRANSLATE: """“I had a good time”的中文翻译是:我玩得很开心。
|
34 |
“The pandemic has triggered more demand for online shopping”的中文翻译是:疫情引发了更多的网购需求
|
35 |
+
“I am a programmer in Tencent”的中文翻译是:""",
|
36 |
+
Task.DIALOG_JOURNAL: """Elon Musk 是 SpaceX 和特斯拉汽⻋公司的首席执行官。
|
37 |
+
我:今天我们有 Elon Musk。欢迎加入我们。
|
38 |
+
Elon Musk:谢谢你邀请我。
|
39 |
+
我:你认为 OpenAI 会如何发展?
|
40 |
+
Elon Musk:我认为进展非常顺利。我认为我们在 OpenAI 有一个非常有才华的团队。
|
41 |
+
我:你现在是怎么进行时间分配?
|
42 |
+
Elon Musk:我每周都会尝试将部分时间花在 OpenAI 上,但除此之外,其他时间是 SpaceX 和特斯拉。
|
43 |
+
我:你如何看待自动驾驶技术?
|
44 |
+
Elon Musk:""",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
45 |
Task.REWRITE: """有这样一段文本,{医生微笑着递给小明棒棒糖,同时让小明服下了药。}
|
46 |
改写这段话让它变得更加惊悚。{医生眼露凶光让小明服药,小明感到非常害怕}。
|
47 |
有这样一段文本,{雨下得很大}
|
|
|
53 |
有这样一段文本,{风铃声响起}
|
54 |
改写这段话写的更加丰富。{我对这个风铃的感情是由它的铃声引起的。每当风吹来时,风铃发出非常动听的声音,听起来是那么乐观、豁达,像一个小女孩格格的笑声。}
|
55 |
""",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
56 |
Task.COMPLETION: """“八月十八潮,壮观天下无。”这是北宋大诗人苏东坡咏赞钱塘秋潮的千古名句。千百年来,钱塘江以其奇特卓绝的江潮,不知倾倒了多少游人看客。
|
57 |
+
每年的农历八月十八前后,是观潮的最佳时节。这期间,秋阳朗照,金风宜人,钱塘江口的海塘上,游客群集,兴致盎然,争睹奇景。
|
58 |
+
""",
|
59 |
Task.FREE: ""
|
60 |
}
|
61 |
|
62 |
+
prompt = task2prompt[Task[task_type]]
|
63 |
+
if task_type == 'REWRITE':
|
64 |
+
pre_input = st.text_area('输入样例', value=prompt, height=400)
|
65 |
+
rewrite_text = "有这样一段文本,{我想家了}\n改写这段话包含更多悲伤的感情。{"
|
66 |
+
rewrite_text = st.text_area('你的输入', value=rewrite_text, height=100)
|
67 |
+
all_input = prompt + rewrite_text
|
68 |
+
else:
|
69 |
+
all_input = st.text_area('模型输入', value=prompt, height=400)
|
70 |
all_input = all_input.rstrip('\\n')
|
71 |
|
72 |
|
|
|
118 |
if choice.get("finish_reason", None) != "finished":
|
119 |
st.error(f'生成结果#{idx}出错: {choice["finish_reason"]}')
|
120 |
elif choice.get("text", None) is None:
|
121 |
+
st.error(f'生成结果#{idx}出错: 无生成结果')
|
122 |
+
elif len(choice.get("text", "")) == 0:
|
123 |
+
st.info(f'生成结果#{idx}: 生成结果为空')
|
124 |
+
else:
|
125 |
+
st.success(f'生成结果#{idx}: {cut_message(choice["text"])}')
|
|
|
|
|
|
|
126 |
|
127 |
if task_type == 'COMPLETION':
|
128 |
st.text('Tips: 可多次生成后复制你认为的最好结果拼接于原文后,让WeLM继续生成。')
|
|
|
131 |
st.error(f"生成结果出错:{str(e)}")
|
132 |
|
133 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
134 |
|
135 |
if st.button('立即生成'):
|
136 |
completion()
|
137 |
|
138 |
|
139 |
footer="""<style>
|
140 |
+
|
141 |
a:link , a:visited{
|
142 |
background-color: transparent;
|
143 |
text-decoration: none;
|
144 |
color: rgb(7 6 17);
|
145 |
}
|
146 |
+
|
147 |
a:hover, a:active {
|
148 |
background-color: transparent;
|
149 |
text-decoration: underline;
|
150 |
}
|
151 |
+
|
152 |
.footer {
|
153 |
position: relative;
|
154 |
left: 0;
|
|
|
164 |
<br>
|
165 |
<br>
|
166 |
<br>
|
167 |
+
<br>
|
168 |
<p style="font-size:12px">声明(受<a href="https://beta.openai.com/docs/usage-guidelines/content-policy" target="_blank"> OpenAI GPT3's Content Policy </a>启发)</p>
|
169 |
+
|
170 |
<p style="font-size:12px">我们禁止用户在知情的情况下产生或利用他人在知情的情况下产生有害内容,包括且不限于仇恨言论、骚扰信息、自我伤害内容、性内容、政治内容、垃圾邮件、诈骗信息等。<br>
|
171 |
特别提示:本网页上产生的所有内容不代表本平台的观点和意见。<br>
|
172 |
欲了解更多信息,请阅读我们的<a href="https://welm.weixin.qq.com/docs/license/" target="_blank">《服务使用协议》和《免责声明》</a>。</p>
|
173 |
</div>
|
174 |
"""
|
175 |
+
st.markdown(footer,unsafe_allow_html=True)
|
requirements.txt
DELETED
@@ -1,2 +0,0 @@
|
|
1 |
-
altair<5
|
2 |
-
streamlit
|
|
|
|
|
|