| @echo off |
| chcp 65001 |
|
|
| set USE_MIRROR=true |
| set PYTHONPATH=%~dp0 |
| set PYTHON_CMD=python |
| if exist "fishenv" ( |
| set PYTHON_CMD=%cd%\fishenv\env\python |
| ) |
|
|
| set API_FLAG_PATH=%~dp0API_FLAGS.txt |
| set KMP_DUPLICATE_LIB_OK=TRUE |
|
|
| setlocal enabledelayedexpansion |
|
|
| set "HF_ENDPOINT=https://huggingface.co" |
| set "no_proxy=" |
| if "%USE_MIRROR%" == "true" ( |
| set "HF_ENDPOINT=https://hf-mirror.com" |
| set "no_proxy=localhost, 127.0.0.1, 0.0.0.0" |
| ) |
| echo "HF_ENDPOINT: !HF_ENDPOINT!" |
| echo "NO_PROXY: !no_proxy!" |
|
|
| echo "%CD%"| findstr /R /C:"[!#\$%&()\*+,;<=>?@\[\]\^`{|}~\u4E00-\u9FFF ] " >nul && ( |
| echo. |
| echo There are special characters in the current path, please make the path of fish-speech free of special characters before running. && ( |
| goto end |
| ) |
| ) |
|
|
| %PYTHON_CMD% .\tools\download_models.py |
|
|
| set "API_FLAGS=" |
| set "flags=" |
|
|
| if exist "%API_FLAG_PATH%" ( |
| for /f "usebackq tokens=*" %%a in ("%API_FLAG_PATH%") do ( |
| set "line=%%a" |
| if not "!line:~0,1!"=="#" ( |
| set "line=!line: =<SPACE>!" |
| set "line=!line:\=!" |
| set "line=!line:<SPACE>= !" |
| if not "!line!"=="" ( |
| set "API_FLAGS=!API_FLAGS!!line! " |
| ) |
| ) |
| ) |
| ) |
|
|
|
|
| if not "!API_FLAGS!"=="" set "API_FLAGS=!API_FLAGS:~0,-1!" |
|
|
| set "flags=" |
|
|
| echo !API_FLAGS! | findstr /C:"--api" >nul 2>&1 |
| if !errorlevel! equ 0 ( |
| echo. |
| echo Start HTTP API... |
| set "mode=api" |
| goto process_flags |
| ) |
|
|
| echo !API_FLAGS! | findstr /C:"--infer" >nul 2>&1 |
| if !errorlevel! equ 0 ( |
| echo. |
| echo Start WebUI Inference... |
| set "mode=infer" |
| goto process_flags |
| ) |
|
|
|
|
| :process_flags |
| for %%p in (!API_FLAGS!) do ( |
| if not "%%p"=="--!mode!" ( |
| set "flags=!flags! %%p" |
| ) |
| ) |
|
|
| if not "!flags!"=="" set "flags=!flags:~1!" |
|
|
| echo Debug: flags = !flags! |
|
|
| if "!mode!"=="api" ( |
| %PYTHON_CMD% -m tools.api !flags! |
| ) else if "!mode!"=="infer" ( |
| %PYTHON_CMD% -m tools.webui !flags! |
| ) |
|
|
| echo. |
| echo Next launch the page... |
| %PYTHON_CMD% fish_speech\webui\manage.py |
|
|
|
|
| :end |
| endlocal |
| pause |
|
|