Repository navigation
Expand file tree
/
Copy pathapi-server.log
More file actions
37 lines (37 loc) · 17.8 KB
/
Copy pathapi-server.log
File metadata and controls
37 lines (37 loc) · 17.8 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
api-server-1 | INFO: Started server process [1]
api-server-1 | INFO: Waiting for application startup.
api-server-1 | INFO: Application startup complete.
api-server-1 | INFO: Uvicorn running on http://0.0.0.0:8000 (Press CTRL+C to quit)
api-server-1 | INFO: 172.18.0.1:54442 - "GET / HTTP/1.1" 200 OK
api-server-1 | INFO: 172.18.0.1:54442 - "GET /favicon.ico HTTP/1.1" 404 Not Found
api-server-1 | INFO: 172.18.0.1:54452 - "GET /llm/available-models HTTP/1.1" 200 OK
api-server-1 | INFO: 172.18.0.1:59030 - "GET /llm/available-models HTTP/1.1" 200 OK
api-server-1 | INFO: 172.18.0.1:59030 - "GET /llm/available-models HTTP/1.1" 200 OK
api-server-1 | INFO: 172.18.0.1:59030 - "GET /llm/available-models HTTP/1.1" 200 OK
api-server-1 | INFO: 172.18.0.1:57738 - "OPTIONS /llm/game-script HTTP/1.1" 200 OK
api-server-1 | === SAM API濡??꾩넚?섎뒗 ?곗씠??===
api-server-1 | ?붿껌 ?곗씠?? {
api-server-1 | "messages": [
api-server-1 | {
api-server-1 | "role": "user",
api-server-1 | "content": "You are an autonomous game-playing agent that executes natural language commands in a 2D Unity game environment.\n\n## YOUR TASK\nGenerate movement sequences using simple directional commands to accomplish user objectives.\n\n## MOVEMENT COMMANDS\n- R: Move right (+x)\n- L: Move left (-x)\n- U: Move up (-y)\n- D: Move down (+y)\n\n## CRITICAL OUTPUT FORMAT RULES\nYour response must be EXACTLY a raw JSON object with two fields:\n\n{\n \"plan\": \"<Brief analysis of user intent, key objectives, and execution strategy>\",\n \"moves\": \"<Sequence of R/L/U/D characters>\"\n}\n\n## STRICT OUTPUT REQUIREMENTS\n- Return ONLY the raw JSON object - nothing else\n- ABSOLUTELY NO markdown formatting\n- ABSOLUTELY NO ```json blocks or any backticks\n- ABSOLUTELY NO explanations before or after the JSON\n- ABSOLUTELY NO pleasantries or conversational elements\n- moves field must contain ONLY R, L, U, D characters\n- Start your response immediately with { and end with }\n\n## CORRECT EXAMPLE\n{\n \"plan\": \"User wants to reach the goal. Player is at (2,3), goal is at (5,3). Move right 3 times.\",\n \"moves\": \"RRR\"\n}\n\n## WRONG EXAMPLES (DO NOT DO THIS)\n```json\n{\n \"plan\": \"...\",\n \"moves\": \"...\"\n}\n```\n\nHere is the solution:\n{\n \"plan\": \"...\",\n \"moves\": \"...\"\n}\n\n\n## MOVEMENT COMMANDS\n\n### AVAILABLE DIRECTIONS\n\n| Command | Effect |\n|---------|--------|\n| R | Move player one tile to the right (+x) |\n| L | Move player one tile to the left (-x) |\n| U | Move player one tile upward (-y) |\n| D | Move player one tile downward (+y) |\n\n### MOVEMENT RULES\n- Each character represents one tile movement\n- If a wall blocks the movement, the command has no effect (player stays in place)\n- Commands execute sequentially from left to right\n- Example: \"RRU\" means Right, Right, Up\n\n\n## GAME STATE STRUCTURE\n\nThe game state contains a map object with the following structure:\n\n### MAP OBJECT\n- \"width\": Number of columns in the map\n- \"height\": Number of rows in the map \n- \"layers\": Number of map layers (usually 2 for multi-level games) *WE WONT USE THIS FOR NOW. ITS SINGLE LAYER\n- \"encoding\": Dictionary mapping tile names to numeric values\n- \"data\": new-line seperated character sequence containing tile values translated to ascii letter \n\n#### COORDINATE SYSTEM\n```\ndata[layer][column][row] accesses the tile at position (column, row)\n\n 0 1 2 3 4 ??column index\n ?뚢?????????????????????\n0 ??. # # # .\n1 ??# . . . # \n2 ??# P . . # ??Player(P) at (1,2), Goal(G) at (3,2)\n3 ??# . . G #\n4 ??. # # # .\n ??n row index\n\nPosition format: (column, row)\n- Player at (1,2) means data[layer][2][1]\n- Goal at (3,1) means data[layer][1][3]\n\nMovement directions:\n- R (Right): column + 1 (move right in the grid)\n- L (Left): column - 1 (move left in the grid)\n- U (Up): row - 1 (move up in the grid)\n- D (Down): row + 1 (move down in the grid)\n```\n\n#### TILE ENCODING\nTiles are represented by numeric values defined in the encoding dictionary:\n- .: Empty space (passable)\n- #: Wall (NOT PASSABLE OBSTACLE)\n- P: Player current position\n- G: Goal (special destination)\n\n\n## CURRENT GAME STATE\n## ASCII MAP VISUALIZATION\n\nLayer 0:\n######\n#....#\n#....#\n#....#\n#P.#G#\n######\n\n\n## TILE ENCODING\n. = Empty space (passable)\nP = Player position\n# = Wall (NOT PASSABLE)\nG = Goal (special destination)\n\n## MAP INFO\nSize: 6x6\nLayers: 1\nAvailable Commands: U, D, L, R\n\n\n\n## USER REQUEST\ngo to goal\n"
api-server-1 | }
api-server-1 | ],
api-server-1 | "model_id": "gemini-2.0-flash-lite",
api-server-1 | "provider": "gemini-text"
api-server-1 | }
api-server-1 | ==================================================
api-server-1 | INFO: 172.18.0.1:57738 - "POST /llm/game-script HTTP/1.1" 200 OK
api-server-1 | === SAM API濡??꾩넚?섎뒗 ?곗씠??===
api-server-1 | ?붿껌 ?곗씠?? {
api-server-1 | "messages": [
api-server-1 | {
api-server-1 | "role": "user",
api-server-1 | "content": "You are an autonomous game-playing agent that executes natural language commands in a 2D Unity game environment.\n\n## YOUR TASK\nGenerate movement sequences using simple directional commands to accomplish user objectives.\n\n## MOVEMENT COMMANDS\n- R: Move right (+x)\n- L: Move left (-x)\n- U: Move up (-y)\n- D: Move down (+y)\n\n## CRITICAL OUTPUT FORMAT RULES\nYour response must be EXACTLY a raw JSON object with two fields:\n\n{\n \"plan\": \"<Brief analysis of user intent, key objectives, and execution strategy>\",\n \"moves\": \"<Sequence of R/L/U/D characters>\"\n}\n\n## STRICT OUTPUT REQUIREMENTS\n- Return ONLY the raw JSON object - nothing else\n- ABSOLUTELY NO markdown formatting\n- ABSOLUTELY NO ```json blocks or any backticks\n- ABSOLUTELY NO explanations before or after the JSON\n- ABSOLUTELY NO pleasantries or conversational elements\n- moves field must contain ONLY R, L, U, D characters\n- Start your response immediately with { and end with }\n\n## CORRECT EXAMPLE\n{\n \"plan\": \"User wants to reach the goal. Player is at (2,3), goal is at (5,3). Move right 3 times.\",\n \"moves\": \"RRR\"\n}\n\n## WRONG EXAMPLES (DO NOT DO THIS)\n```json\n{\n \"plan\": \"...\",\n \"moves\": \"...\"\n}\n```\n\nHere is the solution:\n{\n \"plan\": \"...\",\n \"moves\": \"...\"\n}\n\n\n## MOVEMENT COMMANDS\n\n### AVAILABLE DIRECTIONS\n\n| Command | Effect |\n|---------|--------|\n| R | Move player one tile to the right (+x) |\n| L | Move player one tile to the left (-x) |\n| U | Move player one tile upward (-y) |\n| D | Move player one tile downward (+y) |\n\n### MOVEMENT RULES\n- Each character represents one tile movement\n- If a wall blocks the movement, the command has no effect (player stays in place)\n- Commands execute sequentially from left to right\n- Example: \"RRU\" means Right, Right, Up\n\n\n## GAME STATE STRUCTURE\n\nThe game state contains a map object with the following structure:\n\n### MAP OBJECT\n- \"width\": Number of columns in the map\n- \"height\": Number of rows in the map \n- \"layers\": Number of map layers (usually 2 for multi-level games) *WE WONT USE THIS FOR NOW. ITS SINGLE LAYER\n- \"encoding\": Dictionary mapping tile names to numeric values\n- \"data\": new-line seperated character sequence containing tile values translated to ascii letter \n\n#### COORDINATE SYSTEM\n```\ndata[layer][column][row] accesses the tile at position (column, row)\n\n 0 1 2 3 4 ??column index\n ?뚢?????????????????????\n0 ??. # # # .\n1 ??# . . . # \n2 ??# P . . # ??Player(P) at (1,2), Goal(G) at (3,2)\n3 ??# . . G #\n4 ??. # # # .\n ??n row index\n\nPosition format: (column, row)\n- Player at (1,2) means data[layer][2][1]\n- Goal at (3,1) means data[layer][1][3]\n\nMovement directions:\n- R (Right): column + 1 (move right in the grid)\n- L (Left): column - 1 (move left in the grid)\n- U (Up): row - 1 (move up in the grid)\n- D (Down): row + 1 (move down in the grid)\n```\n\n#### TILE ENCODING\nTiles are represented by numeric values defined in the encoding dictionary:\n- .: Empty space (passable)\n- #: Wall (NOT PASSABLE OBSTACLE)\n- P: Player current position\n- G: Goal (special destination)\n\n\n## CURRENT GAME STATE\n## ASCII MAP VISUALIZATION\n\nLayer 0:\n######\n#....#\n#....#\n#....#\n#.P#G#\n######\n\n\n## TILE ENCODING\n. = Empty space (passable)\nP = Player position\n# = Wall (NOT PASSABLE)\nG = Goal (special destination)\n\n## MAP INFO\nSize: 6x6\nLayers: 1\nAvailable Commands: U, D, L, R\n\n\n\n## USER REQUEST\ngo to goal\n"
api-server-1 | }
api-server-1 | ],
api-server-1 | "model_id": "gemini-2.0-flash-lite",
api-server-1 | "provider": "gemini-text"
api-server-1 | }
api-server-1 | ==================================================
api-server-1 | INFO: 172.18.0.1:57738 - "POST /llm/game-script HTTP/1.1" 200 OK