Spaces:
Running
on
Zero
Running
on
Zero
- mysite/routers/gradio.py +20 -31
mysite/routers/gradio.py
CHANGED
@@ -1,32 +1,16 @@
|
|
1 |
-
import shutil
|
2 |
-
import gradio as gr
|
3 |
-
#from mysite.libs.utilities import chat_with_interpreter, completion, process_file
|
4 |
-
#from interpreter import interpreter
|
5 |
-
#import mysite.interpreter.interpreter_config # インポートするだけで設定が適用されます
|
6 |
-
import importlib
|
7 |
-
import os
|
8 |
-
import pkgutil
|
9 |
-
#from babyagi.babyagi import gradio_babyagi
|
10 |
-
#from routers.gra_02_openInterpreter.OpenInterpreter import gradio_interface
|
11 |
-
#from llamafactory.webui.interface import create_ui
|
12 |
-
import importlib
|
13 |
-
import os
|
14 |
-
import pkgutil
|
15 |
-
|
16 |
import importlib
|
17 |
import os
|
18 |
import pkgutil
|
19 |
import traceback
|
20 |
|
21 |
def include_gradio_interfaces():
|
22 |
-
package_dir = "/home/user/app/controllers" # controllers
|
23 |
-
gradio_interfaces =
|
24 |
-
|
25 |
-
|
26 |
# `controllers/` 以下の全てのサブディレクトリを探索
|
27 |
package_paths = []
|
28 |
for root, dirs, files in os.walk(package_dir):
|
29 |
-
if "__pycache__" in root: # __pycache__ を除外
|
30 |
continue
|
31 |
package_paths.append(root)
|
32 |
|
@@ -43,16 +27,21 @@ def include_gradio_interfaces():
|
|
43 |
module = importlib.import_module(sub_module_name)
|
44 |
print(f"Successfully imported {sub_module_name}")
|
45 |
|
|
|
46 |
if hasattr(module, "gradio_interface"):
|
47 |
print(f"Found gradio_interface in {sub_module_name}")
|
48 |
-
|
49 |
-
|
50 |
-
|
51 |
-
|
52 |
-
|
53 |
-
|
54 |
-
|
55 |
-
|
|
|
|
|
|
|
|
|
56 |
except ModuleNotFoundError as e:
|
57 |
print(f"ModuleNotFoundError: {sub_module_name} - {e}")
|
58 |
except AttributeError as e:
|
@@ -61,9 +50,9 @@ def include_gradio_interfaces():
|
|
61 |
print(f"Failed to import {sub_module_name}: {e}")
|
62 |
print(traceback.format_exc())
|
63 |
|
64 |
-
|
65 |
-
|
66 |
-
|
67 |
|
68 |
|
69 |
def setup_gradio_interfaces():
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
import importlib
|
2 |
import os
|
3 |
import pkgutil
|
4 |
import traceback
|
5 |
|
6 |
def include_gradio_interfaces():
|
7 |
+
package_dir = "/home/user/app/controllers" # `controllers/` 直下を探索
|
8 |
+
gradio_interfaces = {} # 辞書型: { interface_name: gradio_interface }
|
9 |
+
|
|
|
10 |
# `controllers/` 以下の全てのサブディレクトリを探索
|
11 |
package_paths = []
|
12 |
for root, dirs, files in os.walk(package_dir):
|
13 |
+
if "__pycache__" in root: # `__pycache__` を除外
|
14 |
continue
|
15 |
package_paths.append(root)
|
16 |
|
|
|
27 |
module = importlib.import_module(sub_module_name)
|
28 |
print(f"Successfully imported {sub_module_name}")
|
29 |
|
30 |
+
# `gradio_interface` を持つモジュールのみ追加
|
31 |
if hasattr(module, "gradio_interface"):
|
32 |
print(f"Found gradio_interface in {sub_module_name}")
|
33 |
+
|
34 |
+
# 名前の一意性を保証する処理
|
35 |
+
base_name = module_info.name
|
36 |
+
unique_name = base_name
|
37 |
+
count = 1
|
38 |
+
|
39 |
+
# 重複がある場合は `_1`, `_2`, ... を付与
|
40 |
+
while unique_name in gradio_interfaces:
|
41 |
+
unique_name = f"{base_name}_{count}"
|
42 |
+
count += 1
|
43 |
+
|
44 |
+
gradio_interfaces[unique_name] = module.gradio_interface
|
45 |
except ModuleNotFoundError as e:
|
46 |
print(f"ModuleNotFoundError: {sub_module_name} - {e}")
|
47 |
except AttributeError as e:
|
|
|
50 |
print(f"Failed to import {sub_module_name}: {e}")
|
51 |
print(traceback.format_exc())
|
52 |
|
53 |
+
# 名前とインターフェースのリストを返す
|
54 |
+
print(f"Collected Gradio Interfaces: {list(gradio_interfaces.keys())}")
|
55 |
+
return list(gradio_interfaces.values()), list(gradio_interfaces.keys())
|
56 |
|
57 |
|
58 |
def setup_gradio_interfaces():
|