Ra7eN

ai_run

Apr 26th, 2025 (edited)
167
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.87 KB | Source Code | 0 0
  1. :: DO NOT USE YET. W.I.P.
  2. @echo off
  3. setlocal enabledelayedexpansion
  4.  
  5. :: === INIQUITY-25 LAUNCHER ===
  6. :: Version: Smarter install and safety checks
  7.  
  8. :: --- Ask for environment name ---
  9. set /p VENV_NAME=Choose a name for your Python environment folder (e.g., myAI):
  10.  
  11. :: --- Resolve full paths ---
  12. pushd "%~dp0.."
  13. set VENV_PATH=%CD%\%VENV_NAME%
  14. popd
  15. set WEBUI_PATH=%VENV_PATH%\Lib\site-packages\open_webui
  16. set AI_HOME=%~dp0
  17.  
  18.  
  19. :: --- Basic required file checks ---
  20. if not exist "%AI_HOME%\personality.txt" (
  21. echo [ERROR] Missing personality.txt. Aborting.
  22. pause
  23. exit /b
  24. )
  25.  
  26. if not exist "%AI_HOME%\main.py" (
  27. echo [ERROR] Missing main.py. Aborting.
  28. pause
  29. exit /b
  30. )
  31.  
  32. :: --- Create base_dir.txt if needed ---
  33. if not exist "%AI_HOME%\base_dir.txt" (
  34. (
  35. echo %AI_HOME%
  36. echo Amicia
  37. echo You
  38. ) > "%AI_HOME%\base_dir.txt"
  39. echo [INFO] base_dir.txt created.
  40. ) else (
  41. echo [INFO] base_dir.txt already exists.
  42. )
  43.  
  44. :: --- Activate virtual environment ---
  45. call "%VENV_PATH%\Scripts\activate.bat"
  46. if errorlevel 1 (
  47. echo [ERROR] Failed to activate venv.
  48. pause
  49. exit /b
  50. )
  51.  
  52. :: --- Install dependencies one by one if missing ---
  53. set PACKAGES=onnxruntime wikipedia fastapi uvicorn
  54.  
  55. for %%P in (%PACKAGES%) do (
  56. echo [CHECK] %%P...
  57. if exist "%VENV_PATH%\Lib\site-packages\%%P" (
  58. echo [OK] %%P already installed.
  59. ) else (
  60. echo [ACTION] Installing %%P...
  61. pip install --prefer-binary --quiet %%P
  62. if errorlevel 1 (
  63. echo [ERROR] Could not install %%P. Aborting.
  64. pause
  65. exit /b
  66. )
  67. )
  68. )
  69.  
  70. :: --- Confirm WebUI is ready ---
  71. echo [CHECK] open-webui main.py...
  72. if exist "%WEBUI_PATH%\main.py" (
  73. echo [OK] open-webui already installed.
  74. ) else (
  75. echo [ACTION] Installing open-webui...
  76. pip install --prefer-binary open-webui
  77. if errorlevel 1 (
  78. echo [ERROR] Could not install open-webui.
  79. pause
  80. exit /b
  81. )
  82. )
  83.  
  84.  
  85. :: --- Backup and inject custom main.py BEFORE launch ---
  86. if not exist "%WEBUI_PATH%\main.py.bak" (
  87. copy /Y "%WEBUI_PATH%\main.py" "%WEBUI_PATH%\main.py.bak"
  88. echo [INFO] Backed up original main.py
  89. )
  90.  
  91. echo [ACTION] Injecting custom main.py...
  92. copy /y /v "%AI_HOME%\main.py" "%WEBUI_PATH%\main.py"
  93. if errorlevel 1 (
  94. echo [ERROR] Failed to copy custom main.py. Aborting.
  95. pause
  96. exit /b
  97. )
  98. echo [OK] Custom main.py injected.
  99.  
  100. :: --- Launch Open WebUI ---
  101. echo [START] Launching Open WebUI...
  102. open-webui serve
  103. echo.
  104. pause
  105.  
  106. :: --- Restore original main.py after exit ---
  107. echo [CLEANUP] Restoring original main.py...
  108. copy /y /v "%WEBUI_PATH%\main.py.bak" "%WEBUI_PATH%\main.py"
  109. echo [DONE] main.py restored.
  110.  
  111. :: --- Countdown before exiting ---
  112. for /l %%i in (5,-1,1) do (
  113. echo Exiting in %%i seconds...
  114. timeout /t 1 >nul
  115. )
  116.  
  117. exit
  118.  
Advertisement
Add Comment
Please, Sign In to add comment