Spaces:
Running
on
Zero
Running
on
Zero
Update app.py
Browse files
app.py
CHANGED
@@ -1007,117 +1007,106 @@ The response should be in HTML format with appropriate styling."""
|
|
1007 |
</style>
|
1008 |
|
1009 |
|
1010 |
-
header = gr.HTML("""
|
1011 |
-
|
1012 |
-
|
1013 |
-
|
1014 |
-
|
1015 |
-
|
1016 |
-
|
1017 |
-
|
1018 |
-
|
1019 |
-
|
1020 |
-
|
1021 |
-
|
1022 |
-
</div>
|
1023 |
-
</div>
|
1024 |
-
</div>
|
1025 |
-
<div class="app-content">
|
1026 |
-
<img src="data:image/gif;base64,{}" width="360px" />
|
1027 |
-
<h1 class="app-title">MOUSE-Chat Visual AI</h1>
|
1028 |
-
<p class="app-description">Creates visualized web pages from text input, and when you include keywords like "image:", "그림:", or "image:" in your input, it automatically generates AI images based on the description and incorporates them into the web page.
|
1029 |
-
Use the "Generate" button for basic creation, "Enhance" button for prompt improvement, "Share" button to deploy results to the web, and input like "image: a dog playing in the park" to create results containing both text and generated images.</p>
|
1030 |
-
</div>
|
1031 |
</div>
|
1032 |
-
|
1033 |
-
|
1034 |
-
|
1035 |
-
|
1036 |
-
|
1037 |
-
|
1038 |
-
|
1039 |
-
|
1040 |
-
|
1041 |
-
|
1042 |
-
# 버튼 그룹
|
1043 |
-
with antd.Flex(gap="small", justify="flex-start"):
|
1044 |
-
btn = antd.Button(
|
1045 |
-
"Generate",
|
1046 |
-
type="primary",
|
1047 |
-
size="large",
|
1048 |
-
elem_classes="generate-btn"
|
1049 |
-
)
|
1050 |
-
boost_btn = antd.Button(
|
1051 |
-
"Enhance",
|
1052 |
-
type="default",
|
1053 |
-
size="large",
|
1054 |
-
elem_classes="enhance-btn"
|
1055 |
-
)
|
1056 |
-
deploy_btn = antd.Button(
|
1057 |
-
"Share",
|
1058 |
-
type="default",
|
1059 |
-
size="large",
|
1060 |
-
elem_classes="share-btn"
|
1061 |
-
)
|
1062 |
-
|
1063 |
-
deploy_result = gr.HTML(
|
1064 |
-
label="Share Result",
|
1065 |
-
elem_classes="deploy-result"
|
1066 |
-
)
|
1067 |
|
1068 |
-
|
1069 |
-
|
1070 |
-
|
|
|
|
|
|
|
1071 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1072 |
|
|
|
|
|
|
|
|
|
1073 |
|
1074 |
-
|
1075 |
-
|
1076 |
-
|
1077 |
-
|
1078 |
-
|
1079 |
-
|
1080 |
-
|
1081 |
-
|
1082 |
-
|
1083 |
-
<div class="window-title">Preview</div>
|
1084 |
</div>
|
|
|
1085 |
</div>
|
1086 |
-
|
1087 |
-
|
1088 |
-
|
1089 |
-
|
1090 |
-
|
1091 |
-
|
1092 |
-
|
1093 |
-
|
1094 |
-
|
1095 |
-
|
1096 |
-
|
1097 |
-
|
1098 |
-
|
1099 |
-
|
1100 |
-
|
1101 |
-
|
1102 |
-
|
1103 |
-
|
1104 |
-
|
1105 |
-
|
1106 |
-
|
1107 |
-
|
1108 |
-
|
1109 |
-
|
1110 |
-
|
1111 |
-
|
1112 |
|
1113 |
-
# 모드 변경 이벤트
|
1114 |
mode.change(
|
1115 |
fn=lambda x: x == "Generate + Web Search",
|
1116 |
inputs=[mode],
|
1117 |
outputs=[search_mode]
|
1118 |
)
|
1119 |
|
1120 |
-
# 버튼 이벤트 핸들러
|
1121 |
btn.click(
|
1122 |
fn=handle_generation,
|
1123 |
inputs=[input, setting, search_mode],
|
@@ -1166,7 +1155,6 @@ header = gr.HTML("""
|
|
1166 |
color: #4285f4 !important;
|
1167 |
}
|
1168 |
|
1169 |
-
/* hover 효과 */
|
1170 |
.generate-btn:hover {
|
1171 |
background: #0056b3 !important;
|
1172 |
}
|
@@ -1187,8 +1175,6 @@ header = gr.HTML("""
|
|
1187 |
|
1188 |
return demo
|
1189 |
|
1190 |
-
|
1191 |
-
# 메인 실행 부분
|
1192 |
if __name__ == "__main__":
|
1193 |
try:
|
1194 |
demo_instance = Demo()
|
|
|
1007 |
</style>
|
1008 |
|
1009 |
|
1010 |
+
header = gr.HTML("""
|
1011 |
+
<div class="window-frame">
|
1012 |
+
<div class="window-header">
|
1013 |
+
<div class="window-controls">
|
1014 |
+
<div class="control close"></div>
|
1015 |
+
<div class="control minimize"></div>
|
1016 |
+
<div class="control maximize"></div>
|
1017 |
+
</div>
|
1018 |
+
<div class="window-title">
|
1019 |
+
<div class="window-address">
|
1020 |
+
<div class="secure-icon">🔒</div>
|
1021 |
+
<div class="url-bar">https://VIDraft-mouse-chat.hf.space</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1022 |
</div>
|
1023 |
+
</div>
|
1024 |
+
</div>
|
1025 |
+
<div class="app-content">
|
1026 |
+
<img src="data:image/gif;base64,{}" width="360px" />
|
1027 |
+
<h1 class="app-title">MOUSE-Chat Visual AI</h1>
|
1028 |
+
<p class="app-description">Creates visualized web pages from text input...</p>
|
1029 |
+
</div>
|
1030 |
+
</div>
|
1031 |
+
""".format(get_image_base64('mouse.gif')))
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1032 |
|
1033 |
+
input = antd.InputTextarea(
|
1034 |
+
size="large",
|
1035 |
+
allow_clear=True,
|
1036 |
+
placeholder=get_random_placeholder(),
|
1037 |
+
elem_classes="custom-textarea"
|
1038 |
+
)
|
1039 |
|
1040 |
+
with antd.Flex(gap="small", justify="flex-start"):
|
1041 |
+
btn = antd.Button(
|
1042 |
+
"Generate",
|
1043 |
+
type="primary",
|
1044 |
+
size="large",
|
1045 |
+
elem_classes="generate-btn"
|
1046 |
+
)
|
1047 |
+
boost_btn = antd.Button(
|
1048 |
+
"Enhance",
|
1049 |
+
type="default",
|
1050 |
+
size="large",
|
1051 |
+
elem_classes="enhance-btn"
|
1052 |
+
)
|
1053 |
+
deploy_btn = antd.Button(
|
1054 |
+
"Share",
|
1055 |
+
type="default",
|
1056 |
+
size="large",
|
1057 |
+
elem_classes="share-btn"
|
1058 |
+
)
|
1059 |
|
1060 |
+
deploy_result = gr.HTML(
|
1061 |
+
label="Share Result",
|
1062 |
+
elem_classes="deploy-result"
|
1063 |
+
)
|
1064 |
|
1065 |
+
with antd.Col(span=24, md=16):
|
1066 |
+
with ms.Div(elem_classes="right_panel"):
|
1067 |
+
gr.HTML("""
|
1068 |
+
<div class="window-frame">
|
1069 |
+
<div class="window-header">
|
1070 |
+
<div class="window-controls">
|
1071 |
+
<div class="control close"></div>
|
1072 |
+
<div class="control minimize"></div>
|
1073 |
+
<div class="control maximize"></div>
|
|
|
1074 |
</div>
|
1075 |
+
<div class="window-title">Preview</div>
|
1076 |
</div>
|
1077 |
+
</div>
|
1078 |
+
""")
|
1079 |
+
|
1080 |
+
with antd.Tabs(active_key="empty", render_tab_bar="() => null") as state_tab:
|
1081 |
+
with antd.Tabs.Item(key="empty"):
|
1082 |
+
empty = antd.Empty(
|
1083 |
+
description="Enter your question to begin",
|
1084 |
+
elem_classes="right_content empty-content"
|
1085 |
+
)
|
1086 |
+
|
1087 |
+
with antd.Tabs.Item(key="loading"):
|
1088 |
+
loading = antd.Spin(
|
1089 |
+
True,
|
1090 |
+
tip="Creating visual presentation...",
|
1091 |
+
size="large",
|
1092 |
+
elem_classes="right_content"
|
1093 |
+
)
|
1094 |
+
|
1095 |
+
with antd.Tabs.Item(key="render"):
|
1096 |
+
sandbox = gr.HTML(elem_classes="html_content")
|
1097 |
+
|
1098 |
+
with antd.Tabs.Item(key="error"):
|
1099 |
+
error = antd.Empty(
|
1100 |
+
description="An error occurred. Please try again.",
|
1101 |
+
elem_classes="right_content error-content"
|
1102 |
+
)
|
1103 |
|
|
|
1104 |
mode.change(
|
1105 |
fn=lambda x: x == "Generate + Web Search",
|
1106 |
inputs=[mode],
|
1107 |
outputs=[search_mode]
|
1108 |
)
|
1109 |
|
|
|
1110 |
btn.click(
|
1111 |
fn=handle_generation,
|
1112 |
inputs=[input, setting, search_mode],
|
|
|
1155 |
color: #4285f4 !important;
|
1156 |
}
|
1157 |
|
|
|
1158 |
.generate-btn:hover {
|
1159 |
background: #0056b3 !important;
|
1160 |
}
|
|
|
1175 |
|
1176 |
return demo
|
1177 |
|
|
|
|
|
1178 |
if __name__ == "__main__":
|
1179 |
try:
|
1180 |
demo_instance = Demo()
|