kenken999 commited on
Commit
dcda24d
·
1 Parent(s): 29e24d4
Files changed (1) hide show
  1. 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
- gradio_names = set()
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
- interface_name = module_info.name
49
- if interface_name not in gradio_names:
50
- gradio_interfaces.append(module.gradio_interface)
51
- gradio_names.add(interface_name)
52
- else:
53
- unique_name = f"{interface_name}_{len(gradio_names)}"
54
- gradio_interfaces.append(module.gradio_interface)
55
- gradio_names.add(unique_name)
 
 
 
 
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
- print(f"Collected Gradio Interfaces: {gradio_names}")
65
- return gradio_interfaces, list(gradio_names)
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():