Tejasva commited on
Commit
30edf9e
·
1 Parent(s): 3341e6c

fix:minor

Browse files
Files changed (5) hide show
  1. Dockerfile +4 -13
  2. README.md +0 -6
  3. __pycache__/app.cpython-313.pyc +0 -0
  4. app.py +25 -35
  5. requirements.txt +2 -5
Dockerfile CHANGED
@@ -1,22 +1,13 @@
1
- FROM python:3.11-slim
 
 
2
 
3
  WORKDIR /app
4
 
5
- # Copy requirements first for better caching
6
- COPY requirements.txt .
7
 
8
- # Install dependencies
9
  RUN pip install --no-cache-dir -r requirements.txt
10
 
11
- # Copy application code
12
- COPY . .
13
-
14
- # Expose port for HuggingFace Spaces
15
  EXPOSE 7860
16
 
17
- # Set environment variables
18
- ENV PYTHONPATH=/app
19
- ENV PYTHONUNBUFFERED=1
20
-
21
- # Run the application (supports both inference and Space deployment)
22
  CMD ["python", "app.py"]
 
1
+ FROM python:3.10
2
+
3
+ ENV PYTHONUNBUFFERED=1
4
 
5
  WORKDIR /app
6
 
7
+ COPY . .
 
8
 
 
9
  RUN pip install --no-cache-dir -r requirements.txt
10
 
 
 
 
 
11
  EXPOSE 7860
12
 
 
 
 
 
 
13
  CMD ["python", "app.py"]
README.md CHANGED
@@ -1,12 +1,6 @@
1
  ---
2
- title: Code_man
3
- emoji: "🚀"
4
- colorFrom: blue
5
- colorTo: purple
6
  sdk: docker
7
  app_port: 7860
8
- app_file: app.py
9
- pinned: false
10
  ---
11
  # CodeGuardian Inference Script
12
 
 
1
  ---
 
 
 
 
2
  sdk: docker
3
  app_port: 7860
 
 
4
  ---
5
  # CodeGuardian Inference Script
6
 
__pycache__/app.cpython-313.pyc CHANGED
Binary files a/__pycache__/app.cpython-313.pyc and b/__pycache__/app.cpython-313.pyc differ
 
app.py CHANGED
@@ -2,9 +2,11 @@
2
 
3
  import os
4
  import sys
 
 
 
5
  import gradio as gr
6
  from typing import Dict, Any, Optional, List
7
- import logging
8
 
9
  from fastapi import Body, FastAPI
10
  from pydantic import BaseModel, ConfigDict, Field
@@ -13,8 +15,7 @@ from pydantic import BaseModel, ConfigDict, Field
13
  sys.path.insert(0, os.path.dirname(os.path.abspath(__file__)))
14
 
15
  from env.environment import CodeGuardianEnv
16
- from env.models import Action, Observation, AgentState, AgentResponse
17
- import plotly.graph_objects as go
18
  import plotly.express as px
19
  import pandas as pd
20
 
@@ -343,21 +344,6 @@ def update_ui():
343
  # OpenEnv / TRL-style HTTP API — register routes on FastAPI before mounting Gradio at "/".
344
 
345
 
346
- class OpenEnvResetRequest(BaseModel):
347
- model_config = ConfigDict(extra="allow")
348
-
349
- seed: Optional[int] = None
350
- episode_id: Optional[str] = None
351
-
352
-
353
- class OpenEnvResetResponse(BaseModel):
354
- model_config = ConfigDict(extra="forbid")
355
-
356
- observation: Dict[str, Any] = Field(default_factory=dict)
357
- reward: float = 0.0
358
- done: bool = False
359
-
360
-
361
  class OpenEnvStepRequest(BaseModel):
362
  model_config = ConfigDict(extra="allow")
363
 
@@ -374,25 +360,30 @@ class OpenEnvStepResponse(BaseModel):
374
  done: bool = False
375
 
376
 
377
- app = FastAPI(title="CodeGuardian OpenEnv")
378
 
379
 
380
- @app.post("/reset", response_model=OpenEnvResetResponse)
381
- async def openenv_reset(
382
- _body: OpenEnvResetRequest = Body(default_factory=OpenEnvResetRequest),
383
- ) -> OpenEnvResetResponse:
384
- """OpenEnv reset check: body is always observation {}, reward 0.0, done false; env still resets."""
385
  try:
386
  obs = space.env.reset()
387
  space.current_obs = obs
388
- logger.info("OpenEnv POST /reset ok (task_id=%s)", getattr(obs, "task_id", None))
 
 
 
 
 
 
 
 
389
  except Exception as e:
390
- logger.error("OpenEnv POST /reset env.reset failed: %s", e, exc_info=True)
391
- return OpenEnvResetResponse(
392
- observation={},
393
- reward=0.0,
394
- done=False,
395
- )
396
 
397
 
398
  @app.post("/step", response_model=OpenEnvStepResponse)
@@ -550,7 +541,6 @@ demo.queue()
550
  app = gr.mount_gradio_app(app, demo, path="/")
551
 
552
  if __name__ == "__main__":
553
- import uvicorn
554
-
555
- PORT = int(os.environ.get("PORT", "7860"))
556
- uvicorn.run("app:app", host="0.0.0.0", port=PORT)
 
2
 
3
  import os
4
  import sys
5
+ import logging
6
+
7
+ import uvicorn
8
  import gradio as gr
9
  from typing import Dict, Any, Optional, List
 
10
 
11
  from fastapi import Body, FastAPI
12
  from pydantic import BaseModel, ConfigDict, Field
 
15
  sys.path.insert(0, os.path.dirname(os.path.abspath(__file__)))
16
 
17
  from env.environment import CodeGuardianEnv
18
+ from env.models import Action, Observation
 
19
  import plotly.express as px
20
  import pandas as pd
21
 
 
344
  # OpenEnv / TRL-style HTTP API — register routes on FastAPI before mounting Gradio at "/".
345
 
346
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
347
  class OpenEnvStepRequest(BaseModel):
348
  model_config = ConfigDict(extra="allow")
349
 
 
360
  done: bool = False
361
 
362
 
363
+ app = FastAPI()
364
 
365
 
366
+ @app.post("/reset")
367
+ def reset():
 
 
 
368
  try:
369
  obs = space.env.reset()
370
  space.current_obs = obs
371
+
372
+ if hasattr(obs, "model_dump"):
373
+ obs = obs.model_dump()
374
+
375
+ return {
376
+ "observation": obs,
377
+ "reward": 0.0,
378
+ "done": False,
379
+ }
380
  except Exception as e:
381
+ print("RESET ERROR:", e)
382
+ return {
383
+ "observation": {},
384
+ "reward": 0.0,
385
+ "done": False,
386
+ }
387
 
388
 
389
  @app.post("/step", response_model=OpenEnvStepResponse)
 
541
  app = gr.mount_gradio_app(app, demo, path="/")
542
 
543
  if __name__ == "__main__":
544
+ port = int(os.environ.get("PORT", 7860))
545
+ print("SERVER STARTED ON PORT", port)
546
+ uvicorn.run("app:app", host="0.0.0.0", port=port)
 
requirements.txt CHANGED
@@ -1,13 +1,10 @@
1
- # Hugging Face Space / OpenEnv server (required)
2
  fastapi>=0.110.0
3
  uvicorn[standard]>=0.27.0
4
  gradio>=4.0.0
5
  openai>=1.0.0
6
-
7
  pydantic>=2.0.0
 
 
8
  gymnasium>=0.28.0
9
  numpy>=1.24.0
10
  python-dotenv>=1.0.0
11
- flask>=3.0.0
12
- plotly
13
- pandas
 
 
1
  fastapi>=0.110.0
2
  uvicorn[standard]>=0.27.0
3
  gradio>=4.0.0
4
  openai>=1.0.0
 
5
  pydantic>=2.0.0
6
+ pandas>=2.0.0
7
+ plotly>=5.0.0
8
  gymnasium>=0.28.0
9
  numpy>=1.24.0
10
  python-dotenv>=1.0.0