From bd08af5d598e84df26ecd0269f50f67923af0af2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EB=B0=95=EC=9B=90=EC=97=BD?= Date: Fri, 19 Jun 2026 16:30:03 +0900 Subject: [PATCH] Find Maia UCI binary from deploy venv --- deploy/systemd/maia-engine.service | 1 + maia-engine/app/main.py | 18 +++++++++++++++++- 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/deploy/systemd/maia-engine.service b/deploy/systemd/maia-engine.service index cfebcfb..17f522e 100644 --- a/deploy/systemd/maia-engine.service +++ b/deploy/systemd/maia-engine.service @@ -13,6 +13,7 @@ Environment=MAIA_DEVICE=cpu Environment=MAIA_USE_AMP=false Environment=HF_HOME=/root/blog-backend/.cache/huggingface Environment=PYTHONUNBUFFERED=1 +Environment=PATH=/root/blog-backend/maia-engine-venv/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin ExecStart=/root/blog-backend/maia-engine-venv/bin/python -m uvicorn app.main:app --host 127.0.0.1 --port 8000 Restart=always RestartSec=5 diff --git a/maia-engine/app/main.py b/maia-engine/app/main.py index 7ed2516..598b283 100644 --- a/maia-engine/app/main.py +++ b/maia-engine/app/main.py @@ -1,7 +1,10 @@ import os +import shutil import subprocess +import sys import threading from datetime import datetime, timezone +from pathlib import Path import chess import chess.engine @@ -37,9 +40,22 @@ def model_alias(model: str) -> str: return f"maia3-{model}" +def engine_executable() -> str: + executable_name = "maia3-uci.exe" if os.name == "nt" else "maia3-uci" + venv_executable = Path(sys.executable).with_name(executable_name) + if venv_executable.exists(): + return str(venv_executable) + + path_executable = shutil.which("maia3-uci") + if path_executable: + return path_executable + + return "maia3-uci" + + def engine_command(model: str) -> list[str]: command = [ - "maia3-uci", + engine_executable(), "--model", model_alias(model), "--use-uci-history",