clarify-rl / server /app.py
Anurag Agarwal
Port 7860 + neon theme
657f0fa
"""
FastAPI entry point for the ClarifyRL OpenEnv environment.
`openenv.yaml` references this module as `server.app:app`.
Run locally with: uvicorn server.app:app --host 0.0.0.0 --port 7860
"""
from __future__ import annotations
import gradio as gr
from openenv.core.env_server.http_server import create_app
from openenv.core.env_server.mcp_types import CallToolAction, CallToolObservation
from server.clarify_environment import ClarifyEnvironment
from server.gradio_ui import build_gradio_ui
# max_concurrent_envs=64: each ClarifyEnvironment is in-memory only (no GPU
# / no shared state — see SUPPORTS_CONCURRENT_SESSIONS in clarify_environment.py),
# so we can comfortably fan out to multiple parallel HF Jobs evals + lingering
# orphan sessions from disconnected eval clients without hitting CAPACITY_REACHED.
app = create_app(
env=ClarifyEnvironment,
action_cls=CallToolAction,
observation_cls=CallToolObservation,
env_name="clarify_rl",
max_concurrent_envs=64,
)
_gradio_demo = build_gradio_ui()
app = gr.mount_gradio_app(app, _gradio_demo, path="/")
def main() -> None:
import uvicorn
uvicorn.run("server.app:app", host="0.0.0.0", port=7860, reload=False)
if __name__ == "__main__":
main()