Upload folder using huggingface_hub
Browse files- src/__pycache__/app.cpython-310.pyc +0 -0
- src/app.py +34 -13
- src/ui/__pycache__/gradio_ui.cpython-310.pyc +0 -0
- src/ui/gradio_ui.py +23 -0
src/__pycache__/app.cpython-310.pyc
CHANGED
Binary files a/src/__pycache__/app.cpython-310.pyc and b/src/__pycache__/app.cpython-310.pyc differ
|
|
src/app.py
CHANGED
@@ -24,7 +24,7 @@ except ImportError:
|
|
24 |
# ==================== Application Creation Function ====================
|
25 |
|
26 |
def create_app():
|
27 |
-
"""Create and return
|
28 |
|
29 |
print("π Starting Gradio + FastMCP server")
|
30 |
|
@@ -68,7 +68,20 @@ def create_app():
|
|
68 |
):
|
69 |
return await mcp_tools.read_text_file_segments(file_path, chunk_size, start_position)
|
70 |
|
71 |
-
# Create
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
72 |
fastapi_wrapper = FastAPI(
|
73 |
title="Modal AudioTranscriber MCP",
|
74 |
description="Gradio UI + FastMCP Tool + Modal Integration AudioTranscriber MCP",
|
@@ -82,14 +95,11 @@ def create_app():
|
|
82 |
# Mount FastMCP application to /api path
|
83 |
fastapi_wrapper.mount("/api", mcp_app)
|
84 |
|
85 |
-
# Create Gradio interface
|
86 |
-
ui_app = create_gradio_interface()
|
87 |
-
|
88 |
# Use Gradio's standard mounting approach
|
89 |
final_app = mount_gradio_app(
|
90 |
app=fastapi_wrapper,
|
91 |
-
blocks=
|
92 |
-
path="
|
93 |
app_kwargs={
|
94 |
"docs_url": "/docs",
|
95 |
"redoc_url": "/redoc",
|
@@ -142,12 +152,23 @@ def run_local():
|
|
142 |
|
143 |
print(f"π Starting server on port {port}")
|
144 |
|
145 |
-
|
146 |
-
|
147 |
-
|
148 |
-
|
149 |
-
|
150 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
151 |
|
152 |
if __name__ == "__main__":
|
153 |
run_local()
|
|
|
24 |
# ==================== Application Creation Function ====================
|
25 |
|
26 |
def create_app():
|
27 |
+
"""Create and return Gradio application with MCP tools integrated"""
|
28 |
|
29 |
print("π Starting Gradio + FastMCP server")
|
30 |
|
|
|
68 |
):
|
69 |
return await mcp_tools.read_text_file_segments(file_path, chunk_size, start_position)
|
70 |
|
71 |
+
# Create Gradio interface
|
72 |
+
print("π¨ Creating Gradio interface...")
|
73 |
+
gradio_app = create_gradio_interface()
|
74 |
+
|
75 |
+
# For HF Spaces, return Gradio app directly
|
76 |
+
if os.environ.get("HF_SPACES_MODE") == "1":
|
77 |
+
print("π€ HF Spaces mode: returning Gradio app directly")
|
78 |
+
print("β
Server startup completed")
|
79 |
+
print("π¨ Gradio UI: /")
|
80 |
+
print(f"π Server name: {mcp.name}")
|
81 |
+
return gradio_app
|
82 |
+
|
83 |
+
# For other environments, create FastAPI wrapper with MCP
|
84 |
+
print("π§ Creating FastAPI wrapper...")
|
85 |
fastapi_wrapper = FastAPI(
|
86 |
title="Modal AudioTranscriber MCP",
|
87 |
description="Gradio UI + FastMCP Tool + Modal Integration AudioTranscriber MCP",
|
|
|
95 |
# Mount FastMCP application to /api path
|
96 |
fastapi_wrapper.mount("/api", mcp_app)
|
97 |
|
|
|
|
|
|
|
98 |
# Use Gradio's standard mounting approach
|
99 |
final_app = mount_gradio_app(
|
100 |
app=fastapi_wrapper,
|
101 |
+
blocks=gradio_app,
|
102 |
+
path="",
|
103 |
app_kwargs={
|
104 |
"docs_url": "/docs",
|
105 |
"redoc_url": "/redoc",
|
|
|
152 |
|
153 |
print(f"π Starting server on port {port}")
|
154 |
|
155 |
+
# For HF Spaces with Gradio app, launch directly
|
156 |
+
if os.environ.get("HF_SPACES_MODE") == "1" and hasattr(app, 'launch'):
|
157 |
+
print("π€ Launching Gradio app for HF Spaces")
|
158 |
+
app.launch(
|
159 |
+
server_name="0.0.0.0",
|
160 |
+
server_port=port,
|
161 |
+
share=False,
|
162 |
+
show_error=True
|
163 |
+
)
|
164 |
+
else:
|
165 |
+
# For other environments, use uvicorn
|
166 |
+
uvicorn.run(
|
167 |
+
app,
|
168 |
+
host="0.0.0.0",
|
169 |
+
port=port,
|
170 |
+
reload=False
|
171 |
+
)
|
172 |
|
173 |
if __name__ == "__main__":
|
174 |
run_local()
|
src/ui/__pycache__/gradio_ui.cpython-310.pyc
CHANGED
Binary files a/src/ui/__pycache__/gradio_ui.cpython-310.pyc and b/src/ui/__pycache__/gradio_ui.cpython-310.pyc differ
|
|
src/ui/gradio_ui.py
CHANGED
@@ -10,6 +10,29 @@ from ..tools.download_tools import get_file_info_tool, get_mp3_files_tool, read_
|
|
10 |
from ..tools.transcription_tools import transcribe_audio_file_tool
|
11 |
import os
|
12 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
13 |
def create_gradio_interface():
|
14 |
"""Create Gradio interface
|
15 |
|
|
|
10 |
from ..tools.transcription_tools import transcribe_audio_file_tool
|
11 |
import os
|
12 |
|
13 |
+
def write_text_file_content(file_path: str, content: str, mode: str = "w", position: int = None):
|
14 |
+
"""Simple text file writing function"""
|
15 |
+
try:
|
16 |
+
if mode == "r+" and position is not None:
|
17 |
+
with open(file_path, mode, encoding='utf-8') as f:
|
18 |
+
f.seek(position)
|
19 |
+
characters_written = f.write(content)
|
20 |
+
else:
|
21 |
+
with open(file_path, mode, encoding='utf-8') as f:
|
22 |
+
characters_written = f.write(content)
|
23 |
+
|
24 |
+
return {
|
25 |
+
"status": "success",
|
26 |
+
"characters_written": characters_written,
|
27 |
+
"operation_type": mode,
|
28 |
+
"size_change": len(content)
|
29 |
+
}
|
30 |
+
except Exception as e:
|
31 |
+
return {
|
32 |
+
"status": "failed",
|
33 |
+
"error_message": str(e)
|
34 |
+
}
|
35 |
+
|
36 |
def create_gradio_interface():
|
37 |
"""Create Gradio interface
|
38 |
|