make changes more minimal

This commit is contained in:
svlandeg 2025-11-14 09:49:34 +01:00
parent 7afd2fd206
commit 7950813a41

View File

@ -70,7 +70,7 @@ parser.add_argument('-g', '--model-tag', type=str, default=None, help='Model tag
parser.add_argument('-s', '--step', type=int, default=None, help='Step to load') parser.add_argument('-s', '--step', type=int, default=None, help='Step to load')
parser.add_argument('-p', '--port', type=int, default=8000, help='Port to run the server on') parser.add_argument('-p', '--port', type=int, default=8000, help='Port to run the server on')
parser.add_argument('--host', type=str, default='0.0.0.0', help='Host to bind the server to') parser.add_argument('--host', type=str, default='0.0.0.0', help='Host to bind the server to')
parser.add_argument('--root-path', type=str, default='', help='ASGI root path for proxy/gateway configurations.') parser.add_argument('--root-path', type=str, default='', help='ASGI root path for proxy/gateway configurations')
args = parser.parse_args() args = parser.parse_args()
# Configure logging for conversation traffic # Configure logging for conversation traffic
@ -226,25 +226,18 @@ app.add_middleware(
@app.get("/") @app.get("/")
async def root(request: Request): async def root(request: Request):
""" """Serve the chat UI, dynamically injecting the proxy path."""
Serve the chat UI, dynamically injecting the proxy path.
"""
ui_html_path = os.path.join("nanochat", "ui.html") ui_html_path = os.path.join("nanochat", "ui.html")
with open(ui_html_path, "r") as f: with open(ui_html_path, "r") as f:
html_content = f.read() html_content = f.read()
# Get the prefix provided by the proxy/ASGI server. # Get the prefix provided by the proxy/ASGI server.
proxy_prefix = request.scope.get('root_path', '') proxy_prefix = request.scope.get('root_path', '').rstrip('/')
# Strip trailing slash if present
if proxy_prefix.endswith('/'):
proxy_prefix = proxy_prefix.rstrip('/')
html_content = html_content.replace( html_content = html_content.replace(
"const API_URL = '';", "const API_URL = '';",
f"const API_URL = '{proxy_prefix}';" f"const API_URL = '{proxy_prefix}';"
) )
return HTMLResponse(content=html_content) return HTMLResponse(content=html_content)
@app.get("/logo.svg") @app.get("/logo.svg")
@ -406,8 +399,4 @@ if __name__ == "__main__":
import uvicorn import uvicorn
print(f"Starting NanoChat Web Server") print(f"Starting NanoChat Web Server")
print(f"Temperature: {args.temperature}, Top-k: {args.top_k}, Max tokens: {args.max_tokens}") print(f"Temperature: {args.temperature}, Top-k: {args.top_k}, Max tokens: {args.max_tokens}")
uvicorn.run(app, uvicorn.run(app, host=args.host, port=args.port, root_path=args.root_path)
host=args.host,
port=args.port,
root_path=args.root_path
)