Spaces:
Running
Running
Update app.py
Browse files
app.py
CHANGED
@@ -122,6 +122,23 @@ def explain_usage(app_content: str):
|
|
122 |
except Exception as e:
|
123 |
return f"μ¬μ©λ² μ€λͺ
μμ± μ€ μ€λ₯ λ°μ: {str(e)}"
|
124 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
125 |
def analyze_space(url: str, progress=gr.Progress()):
|
126 |
try:
|
127 |
space_id = url.split('spaces/')[-1]
|
@@ -148,12 +165,15 @@ def analyze_space(url: str, progress=gr.Progress()):
|
|
148 |
progress(0.9, desc="μ¬μ©λ² μ€λͺ
μμ± μ€...")
|
149 |
usage = explain_usage(app_content)
|
150 |
|
|
|
|
|
|
|
151 |
progress(1.0, desc="μλ£")
|
152 |
-
return app_content, tree_view, tree_structure, space_id, summary, analysis, usage
|
153 |
except Exception as e:
|
154 |
print(f"Error in analyze_space: {str(e)}")
|
155 |
print(traceback.format_exc())
|
156 |
-
return f"μ€λ₯κ° λ°μνμ΅λλ€: {str(e)}", "", None, "", "", "", ""
|
157 |
|
158 |
def respond(message: str, chat_history: List[Dict[str, str]], max_tokens: int, temperature: float, top_p: float) -> str:
|
159 |
system_message = """λΉμ μ νκΉ
νμ΄μ€μ νΉνλ AI μ½λ© μ λ¬Έκ°μ
λλ€. μ¬μ©μμ μ§λ¬Έμ μΉμ νκ³ μμΈνκ² λ΅λ³ν΄μ£ΌμΈμ.
|
@@ -280,47 +300,25 @@ def create_ui():
|
|
280 |
|
281 |
space_id_state = gr.State()
|
282 |
tree_structure_state = gr.State()
|
|
|
283 |
|
284 |
analyze_button.click(
|
285 |
analyze_space,
|
286 |
inputs=[url_input],
|
287 |
-
outputs=[app_py_content, tree_view_output, tree_structure_state, space_id_state, summary_output, analysis_output, usage_output]
|
288 |
).then(
|
289 |
lambda space_id: get_file_content(space_id, "requirements.txt"),
|
290 |
inputs=[space_id_state],
|
291 |
outputs=[requirements_content]
|
292 |
)
|
293 |
|
|
|
|
|
|
|
294 |
return demo
|
295 |
|
296 |
except Exception as e:
|
297 |
print(f"Error in create_ui: {str(e)}")
|
298 |
print(traceback.format_exc())
|
299 |
raise
|
300 |
-
|
301 |
-
if __name__ == "__main__":
|
302 |
-
try:
|
303 |
-
print("Starting HuggingFace Space Analyzer...")
|
304 |
-
demo = create_ui()
|
305 |
-
print("UI created successfully.")
|
306 |
-
|
307 |
-
print("Configuring Gradio queue...")
|
308 |
-
demo.queue()
|
309 |
-
print("Gradio queue configured.")
|
310 |
-
|
311 |
-
print("Launching Gradio app...")
|
312 |
-
demo.launch(
|
313 |
-
server_name="0.0.0.0",
|
314 |
-
server_port=7860,
|
315 |
-
share=False,
|
316 |
-
debug=True,
|
317 |
-
show_api=False
|
318 |
-
)
|
319 |
-
print("Gradio app launched successfully.")
|
320 |
-
except Exception as e:
|
321 |
-
print(f"Error in main: {str(e)}")
|
322 |
-
print("Detailed error information:")
|
323 |
-
print(traceback.format_exc())
|
324 |
-
raise
|
325 |
-
|
326 |
-
print("Script execution completed.")
|
|
|
122 |
except Exception as e:
|
123 |
return f"μ¬μ©λ² μ€λͺ
μμ± μ€ μ€λ₯ λ°μ: {str(e)}"
|
124 |
|
125 |
+
def adjust_lines_for_code(code_content: str, min_lines: int = 10, max_lines: int = 100) -> int:
|
126 |
+
"""
|
127 |
+
μ½λ λ΄μ©μ λ°λΌ lines μλ₯Ό λμ μΌλ‘ μ‘°μ ν©λλ€.
|
128 |
+
|
129 |
+
Parameters:
|
130 |
+
- code_content (str): μ½λ ν
μ€νΈ λ΄μ©
|
131 |
+
- min_lines (int): μ΅μ lines μ
|
132 |
+
- max_lines (int): μ΅λ lines μ
|
133 |
+
|
134 |
+
Returns:
|
135 |
+
- int: μ€μ λ lines μ
|
136 |
+
"""
|
137 |
+
# μ½λμ μ€ μ κ³μ°
|
138 |
+
num_lines = len(code_content.split('\n'))
|
139 |
+
# μ€ μκ° min_linesλ³΄λ€ μ λ€λ©΄ min_lines μ¬μ©, max_linesλ³΄λ€ ν¬λ©΄ max_lines μ¬μ©
|
140 |
+
return min(max(num_lines, min_lines), max_lines)
|
141 |
+
|
142 |
def analyze_space(url: str, progress=gr.Progress()):
|
143 |
try:
|
144 |
space_id = url.split('spaces/')[-1]
|
|
|
165 |
progress(0.9, desc="μ¬μ©λ² μ€λͺ
μμ± μ€...")
|
166 |
usage = explain_usage(app_content)
|
167 |
|
168 |
+
# μ€ μ κ³μ°νμ¬ lines μ€μ
|
169 |
+
app_py_lines = adjust_lines_for_code(app_content)
|
170 |
+
|
171 |
progress(1.0, desc="μλ£")
|
172 |
+
return app_content, tree_view, tree_structure, space_id, summary, analysis, usage, app_py_lines
|
173 |
except Exception as e:
|
174 |
print(f"Error in analyze_space: {str(e)}")
|
175 |
print(traceback.format_exc())
|
176 |
+
return f"μ€λ₯κ° λ°μνμ΅λλ€: {str(e)}", "", None, "", "", "", "", 10
|
177 |
|
178 |
def respond(message: str, chat_history: List[Dict[str, str]], max_tokens: int, temperature: float, top_p: float) -> str:
|
179 |
system_message = """λΉμ μ νκΉ
νμ΄μ€μ νΉνλ AI μ½λ© μ λ¬Έκ°μ
λλ€. μ¬μ©μμ μ§λ¬Έμ μΉμ νκ³ μμΈνκ² λ΅λ³ν΄μ£ΌμΈμ.
|
|
|
300 |
|
301 |
space_id_state = gr.State()
|
302 |
tree_structure_state = gr.State()
|
303 |
+
app_py_content_lines = gr.State()
|
304 |
|
305 |
analyze_button.click(
|
306 |
analyze_space,
|
307 |
inputs=[url_input],
|
308 |
+
outputs=[app_py_content, tree_view_output, tree_structure_state, space_id_state, summary_output, analysis_output, usage_output, app_py_content_lines]
|
309 |
).then(
|
310 |
lambda space_id: get_file_content(space_id, "requirements.txt"),
|
311 |
inputs=[space_id_state],
|
312 |
outputs=[requirements_content]
|
313 |
)
|
314 |
|
315 |
+
# lines μλ₯Ό λμ μΌλ‘ μ€μ
|
316 |
+
app_py_content.change(lambda lines: gr.update(lines=lines), inputs=[app_py_content_lines], outputs=[app_py_content])
|
317 |
+
|
318 |
return demo
|
319 |
|
320 |
except Exception as e:
|
321 |
print(f"Error in create_ui: {str(e)}")
|
322 |
print(traceback.format_exc())
|
323 |
raise
|
324 |
+
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|