Spaces:
Sleeping
Sleeping
Download server/app.py from V1ShAl1613/projectnew_RCB: direct link, hf CLI and curl.
- Browser
- Download file 1.43 kB
-
https://huggingface.co/spaces/V1ShAl1613/projectnew_RCB/resolve/main/server/app.py
- Command line
-
hf download hf://spaces/V1ShAl1613/projectnew_RCB/server/app.py
-
curl -L -o app.py https://huggingface.co/spaces/V1ShAl1613/projectnew_RCB/resolve/main/server/app.py
1.43 kB
| from __future__ import annotations | |
| from typing import Optional | |
| import uvicorn | |
| from fastapi import Body, FastAPI | |
| from pydantic import BaseModel | |
| from env.environment import CodeReviewOpenEnv | |
| from env.models import Action, Observation, TaskName | |
| app = FastAPI( | |
| title="Autonomous Code Review & Merge Decision Environment", | |
| version="1.0.0", | |
| description="A deterministic OpenEnv-compatible environment for AI-driven pull request review workflows.", | |
| ) | |
| env = CodeReviewOpenEnv() | |
| class ResetRequest(BaseModel): | |
| task: Optional[TaskName] = None | |
| class ResetResponse(BaseModel): | |
| observation: Observation | |
| class StepResponse(BaseModel): | |
| observation: Observation | |
| reward: float | |
| done: bool | |
| info: dict | |
| def reset_environment(request: Optional[ResetRequest] = Body(default=None)) -> ResetResponse: | |
| observation = env.reset(task=request.task if request else None) | |
| return ResetResponse(observation=observation) | |
| def step_environment(action: Action) -> StepResponse: | |
| observation, reward, done, info = env.step(action) | |
| return StepResponse(observation=observation, reward=reward, done=done, info=info) | |
| def get_state() -> dict: | |
| return env.state() | |
| def main() -> None: | |
| uvicorn.run("server.app:app", host="0.0.0.0", port=8000) | |
| if __name__ == "__main__": | |
| main() | |