DarkDriftz commited on
Commit
41ed846
·
verified ·
1 Parent(s): 6f943ac

Upload 18 files

Browse files
Files changed (2) hide show
  1. app.py +6 -6
  2. mcp_server.py +4 -5
app.py CHANGED
@@ -2,10 +2,10 @@ import gradio as gr
2
  import torch
3
  import uuid
4
  import spaces
5
- from MarioGPT.dataset import MarioDataset
6
- from MarioGPT.prompter import Prompter
7
- from MarioGPT.lm import MarioLM
8
- from MarioGPT.utils import view_level, convert_level_to_png
9
 
10
  from fastapi import FastAPI, HTTPException
11
  from fastapi.staticfiles import StaticFiles
@@ -51,7 +51,7 @@ def make_html_file(generated_level):
51
 
52
  <head>
53
  <meta charset="utf-8">
54
- <title>MarioGPT</title>
55
  <script src="https://cjrtnc.leaningtech.com/20230216/loader.js"></script>
56
  </head>
57
 
@@ -126,7 +126,7 @@ with gr.Blocks().queue() as demo:
126
  with gr.TabItem("Type prompt"):
127
  text_prompt = gr.Textbox(value="", label="Enter your MarioGPT prompt. ex: 'many pipes, many enemies, some blocks, low elevation'")
128
 
129
- with gr.Accordion(label="Advanced settings", open=True):
130
  temperature = gr.Slider(value=2.0, minimum=0.1, maximum=2.0, step=0.1, label="temperature: Increase these for more diverse, but lower quality, generations")
131
  level_size = gr.Slider(value=1399, minimum=100, maximum=2799, step=1, label="level_size")
132
 
 
2
  import torch
3
  import uuid
4
  import spaces
5
+ from supermariogpt.dataset import MarioDataset
6
+ from supermariogpt.prompter import Prompter
7
+ from supermariogpt.lm import MarioLM
8
+ from supermariogpt.utils import view_level, convert_level_to_png
9
 
10
  from fastapi import FastAPI, HTTPException
11
  from fastapi.staticfiles import StaticFiles
 
51
 
52
  <head>
53
  <meta charset="utf-8">
54
+ <title>supermariogpt</title>
55
  <script src="https://cjrtnc.leaningtech.com/20230216/loader.js"></script>
56
  </head>
57
 
 
126
  with gr.TabItem("Type prompt"):
127
  text_prompt = gr.Textbox(value="", label="Enter your MarioGPT prompt. ex: 'many pipes, many enemies, some blocks, low elevation'")
128
 
129
+ with gr.Accordion(label="Advanced settings", open=False):
130
  temperature = gr.Slider(value=2.0, minimum=0.1, maximum=2.0, step=0.1, label="temperature: Increase these for more diverse, but lower quality, generations")
131
  level_size = gr.Slider(value=1399, minimum=100, maximum=2799, step=1, label="level_size")
132
 
mcp_server.py CHANGED
@@ -6,7 +6,7 @@ Provides MCP-compatible interface for generating Mario levels via HuggingChat
6
 
7
  import asyncio
8
  import logging
9
- from typing import Any, Optional
10
  from mcp.server import Server
11
  from mcp.types import Tool, TextContent, ImageContent, EmbeddedResource
12
  from pydantic import BaseModel, Field
@@ -59,7 +59,7 @@ class GenerateLevelParams(BaseModel):
59
  )
60
 
61
  @mcp_server.list_tools()
62
- async def list_tools() -> list[Tool]:
63
  """List available MCP tools"""
64
  return [
65
  Tool(
@@ -81,7 +81,7 @@ async def list_tools() -> list[Tool]:
81
  ]
82
 
83
  @mcp_server.call_tool()
84
- async def call_tool(name: str, arguments: Any) -> list[TextContent | ImageContent | EmbeddedResource]:
85
  """Handle tool calls"""
86
 
87
  if name == "generate_mario_level":
@@ -133,8 +133,7 @@ async def call_tool(name: str, arguments: Any) -> list[TextContent | ImageConten
133
  f"Prompt: {params.prompt}\n"
134
  f"Temperature: {params.temperature}\n"
135
  f"Level size: {params.level_size}\n\n"
136
- f"Level representation:\n{level_text[:500]}..."
137
- if len(level_text) > 500 else level_text
138
  ),
139
  ImageContent(
140
  type="image",
 
6
 
7
  import asyncio
8
  import logging
9
+ from typing import Any, Optional, List, Union
10
  from mcp.server import Server
11
  from mcp.types import Tool, TextContent, ImageContent, EmbeddedResource
12
  from pydantic import BaseModel, Field
 
59
  )
60
 
61
  @mcp_server.list_tools()
62
+ async def list_tools() -> List[Tool]:
63
  """List available MCP tools"""
64
  return [
65
  Tool(
 
81
  ]
82
 
83
  @mcp_server.call_tool()
84
+ async def call_tool(name: str, arguments: Any) -> List[Union[TextContent, ImageContent, EmbeddedResource]]:
85
  """Handle tool calls"""
86
 
87
  if name == "generate_mario_level":
 
133
  f"Prompt: {params.prompt}\n"
134
  f"Temperature: {params.temperature}\n"
135
  f"Level size: {params.level_size}\n\n"
136
+ f"Level representation:\n{level_text[:500] + '...' if len(level_text) > 500 else level_text}"
 
137
  ),
138
  ImageContent(
139
  type="image",