Spaces:
Sleeping
Sleeping
databoysu commited on
Commit ·
5070671
1
Parent(s): 8f66ad1
unify gradio + openenv
Browse files- Dockerfile +1 -1
- README.md +0 -1
- backend/app.py +5 -0
- vision_ui.py +0 -36
Dockerfile
CHANGED
|
@@ -52,4 +52,4 @@ WORKDIR /app/env
|
|
| 52 |
|
| 53 |
USER appuser
|
| 54 |
|
| 55 |
-
CMD ["
|
|
|
|
| 52 |
|
| 53 |
USER appuser
|
| 54 |
|
| 55 |
+
CMD ["uvicorn", "backend.app:app", "--host", "0.0.0.0", "--port", "7860"]
|
README.md
CHANGED
|
@@ -5,7 +5,6 @@ colorFrom: blue
|
|
| 5 |
sdk: docker
|
| 6 |
pinned: false
|
| 7 |
app_port: 7860
|
| 8 |
-
app_file: vision_ui.py
|
| 9 |
base_path: /web
|
| 10 |
tags:
|
| 11 |
- openenv
|
|
|
|
| 5 |
sdk: docker
|
| 6 |
pinned: false
|
| 7 |
app_port: 7860
|
|
|
|
| 8 |
base_path: /web
|
| 9 |
tags:
|
| 10 |
- openenv
|
backend/app.py
CHANGED
|
@@ -1,5 +1,8 @@
|
|
| 1 |
"""FastAPI entry point for TraceFix-RL."""
|
| 2 |
|
|
|
|
|
|
|
|
|
|
| 3 |
try:
|
| 4 |
from openenv.core.env_server.http_server import create_app
|
| 5 |
except Exception as e: # pragma: no cover
|
|
@@ -27,6 +30,8 @@ app = create_app(
|
|
| 27 |
max_concurrent_envs=1,
|
| 28 |
)
|
| 29 |
|
|
|
|
|
|
|
| 30 |
|
| 31 |
def main() -> None:
|
| 32 |
"""Entry point for local and container execution."""
|
|
|
|
| 1 |
"""FastAPI entry point for TraceFix-RL."""
|
| 2 |
|
| 3 |
+
import gradio as gr
|
| 4 |
+
from vision_ui import demo
|
| 5 |
+
|
| 6 |
try:
|
| 7 |
from openenv.core.env_server.http_server import create_app
|
| 8 |
except Exception as e: # pragma: no cover
|
|
|
|
| 30 |
max_concurrent_envs=1,
|
| 31 |
)
|
| 32 |
|
| 33 |
+
app = gr.mount_gradio_app(app, demo, path="/")
|
| 34 |
+
|
| 35 |
|
| 36 |
def main() -> None:
|
| 37 |
"""Entry point for local and container execution."""
|
vision_ui.py
CHANGED
|
@@ -5,14 +5,11 @@ import json
|
|
| 5 |
import os
|
| 6 |
import queue
|
| 7 |
import re
|
| 8 |
-
import socket
|
| 9 |
import subprocess
|
| 10 |
import sys
|
| 11 |
import threading
|
| 12 |
-
import time
|
| 13 |
import urllib.error
|
| 14 |
import urllib.request
|
| 15 |
-
from contextlib import closing
|
| 16 |
from pathlib import Path
|
| 17 |
from typing import Any, Generator
|
| 18 |
|
|
@@ -295,34 +292,6 @@ def _build_env(
|
|
| 295 |
return env
|
| 296 |
|
| 297 |
|
| 298 |
-
def _is_port_open(host: str, port: int) -> bool:
|
| 299 |
-
with closing(socket.socket(socket.AF_INET, socket.SOCK_STREAM)) as sock:
|
| 300 |
-
sock.settimeout(0.5)
|
| 301 |
-
return sock.connect_ex((host, port)) == 0
|
| 302 |
-
|
| 303 |
-
|
| 304 |
-
def _start_backend_server() -> None:
|
| 305 |
-
if _is_port_open(BACKEND_HOST, BACKEND_PORT):
|
| 306 |
-
return
|
| 307 |
-
|
| 308 |
-
backend_env = os.environ.copy()
|
| 309 |
-
backend_env["HOST"] = BACKEND_HOST
|
| 310 |
-
backend_env["PORT"] = str(BACKEND_PORT)
|
| 311 |
-
|
| 312 |
-
subprocess.Popen(
|
| 313 |
-
["python", "-m", "backend.app"],
|
| 314 |
-
cwd=str(ROOT_DIR),
|
| 315 |
-
env=backend_env,
|
| 316 |
-
stdout=subprocess.DEVNULL,
|
| 317 |
-
stderr=subprocess.DEVNULL,
|
| 318 |
-
)
|
| 319 |
-
|
| 320 |
-
for _ in range(20):
|
| 321 |
-
if _is_port_open(BACKEND_HOST, BACKEND_PORT):
|
| 322 |
-
return
|
| 323 |
-
time.sleep(0.1)
|
| 324 |
-
|
| 325 |
-
|
| 326 |
def _reset_run_state(task_name: str) -> tuple[str, str, str, float, str]:
|
| 327 |
return (
|
| 328 |
_code_from_task_name(task_name),
|
|
@@ -577,8 +546,3 @@ with gr.Blocks(title="TraceFix-RL Mission Control") as demo:
|
|
| 577 |
],
|
| 578 |
outputs=[code_view, terminal, metric, score, rewards],
|
| 579 |
)
|
| 580 |
-
|
| 581 |
-
|
| 582 |
-
if __name__ == "__main__":
|
| 583 |
-
_start_backend_server()
|
| 584 |
-
demo.queue().launch(server_name=GRADIO_HOST, server_port=GRADIO_PORT, theme=gr.themes.Monochrome(), css=CSS)
|
|
|
|
| 5 |
import os
|
| 6 |
import queue
|
| 7 |
import re
|
|
|
|
| 8 |
import subprocess
|
| 9 |
import sys
|
| 10 |
import threading
|
|
|
|
| 11 |
import urllib.error
|
| 12 |
import urllib.request
|
|
|
|
| 13 |
from pathlib import Path
|
| 14 |
from typing import Any, Generator
|
| 15 |
|
|
|
|
| 292 |
return env
|
| 293 |
|
| 294 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 295 |
def _reset_run_state(task_name: str) -> tuple[str, str, str, float, str]:
|
| 296 |
return (
|
| 297 |
_code_from_task_name(task_name),
|
|
|
|
| 546 |
],
|
| 547 |
outputs=[code_view, terminal, metric, score, rewards],
|
| 548 |
)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|