[improvement](config) add bat script for standalone start and llm start (#69)

This commit is contained in:
LXW
2023-09-11 10:47:36 +08:00
committed by GitHub
parent d173924efd
commit 76e8d253b1
10 changed files with 223 additions and 3 deletions

View File

@@ -10,13 +10,12 @@ set "buildDir=%baseDir%\build"
cd "%baseDir%"
rem 1. build semantic chat service
del /q "%buildDir%\*.tar.gz"
rd /s /q dist
del /q "%buildDir%\*.tar.gz" 2>NUL
call mvn -f "%baseDir%\..\pom.xml" clean package -DskipTests
rem 2. move package to build
copy "%baseDir%\..\launchers\standalone\target\*.tar.gz" "%buildDir%\supersonic.tar.gz"
echo f|xcopy "%baseDir%\..\launchers\standalone\target\*.tar.gz" "%buildDir%\supersonic.tar.gz"
rem 3. build webapp
cd "%baseDir%\..\webapp"

View File

@@ -0,0 +1,39 @@
@echo off
setlocal
set "sbinDir=%~dp0"
set "baseDir=%~dp0.."
set "runtimeDir=%baseDir%\..\runtime"
set "buildDir=%baseDir%\build"
cd /d %baseDir%
::1. clear file
rd /s /q "%runtimeDir%"
mkdir "%runtimeDir%"
::2. package lib
:: Assuming you have tar utility installed in Windows
tar -zxvf "%buildDir%\supersonic.tar.gz" -C "%runtimeDir%"
for /d %%f in ("%runtimeDir%\launchers-standalone-*") do (
move "%%f" "%runtimeDir%\supersonic-standalone"
)
tar -zxvf "%buildDir%\supersonic-webapp.tar.gz" -C "%buildDir%"
if not exist "%runtimeDir%\supersonic-standalone\webapp" mkdir "%runtimeDir%\supersonic-standalone\webapp"
xcopy /s /e /h /y "%buildDir%\supersonic-webapp\*" "%runtimeDir%\supersonic-standalone\webapp"
if not exist "%runtimeDir%\supersonic-standalone\conf\webapp" mkdir "%runtimeDir%\supersonic-standalone\conf\webapp"
xcopy /s /e /h /y "%runtimeDir%\supersonic-standalone\webapp\*" "%runtimeDir%\supersonic-standalone\conf\webapp"
rd /s /q "%buildDir%\supersonic-webapp"
::3. start service
::start standalone service
call "%runtimeDir%\supersonic-standalone\bin\service.bat" restart
call "%runtimeDir%\supersonic-standalone\llm\bin\service.bat" restart

View File

@@ -0,0 +1,12 @@
@echo off
setlocal
set "sbinDir=%~dp0"
set "baseDir=%~dp0.."
set "runtimeDir=%baseDir%\..\runtime"
set "buildDir=%baseDir%\build"
::3. start service
::start standalone service
call "%runtimeDir%\supersonic-standalone\bin\service.bat" stop
call "%runtimeDir%\supersonic-standalone\llm\bin\service.bat" stop

View File

@@ -0,0 +1,6 @@
@echo off
set "python_path=python"
set "pip_path=pip3.9"
set "llm_host=127.0.0.1"
set "llm_port=9092"
set "start_name=api_service"

View File

@@ -0,0 +1,22 @@
@echo off
setlocal
set "binDir=%~dp0"
cd /d "%binDir%.."
set "baseDir=%cd%"
echo %binDir%
call "%binDir%\env.bat"
"%pip_path%" install -r "%baseDir%\requirements.txt"
"%python_path%" -c "import langchain,fastapi,chromadb,tiktoken,uvicorn" >nul 2>&1
if "%errorlevel%" equ 0 (
echo install ok, will pass
) else (
if "%errorlevel%" equ 1 (
echo install ok
) else (
echo install fail, but if it can be started normally, it will not affect
)
)

View File

@@ -0,0 +1,23 @@
@echo off
setlocal
set "binDir=%~dp0"
cd /d "%binDir%.."
set "baseDir=%cd%"
call "%binDir%\env.bat"
echo "%binDir%"
if "%llm_host%"=="" (
echo llm_host llm_port is not set
exit /b 1
)
if "%python_path%"=="" (
echo please set env value python_path, pip_path to python, pip path by export cmd
exit /b 1
)
call "%binDir%\install.bat"
cd "%baseDir%\llm"
start "" /B uvicorn %start_name%:app --port %llm_port% --host %llm_host% > "%baseDir%\llm.log" 2>&1

View File

@@ -0,0 +1,44 @@
@echo off
setlocal
set "binDir=%~dp0"
cd /d "%binDir%.."
set "baseDir=%cd%"
call "%baseDir%\bin\env.bat"
set "command=%~1"
if "%command%"=="start" (
for /f "tokens=2" %%i in ('tasklist ^| findstr /i "Python"') do (
taskkill /PID %%i /F
echo "Process (PID = %%i) is running."
goto :EOF
)
"%baseDir%\bin\run.bat"
echo "llm service started, see logs/error with logs/error command"
goto :EOF
)
if "%command%"=="stop" (
for /f "tokens=2" %%i in ('tasklist ^| findstr /i "Python"') do (
taskkill /PID %%i /F
echo "Process (PID = %%i) is killed."
goto :EOF
)
echo "Process is not running."
goto :EOF
)
if "%command%"=="restart" (
for /f "tokens=2" %%i in ('tasklist ^| findstr /i "Python"') do (
taskkill /PID %%i /F
echo "Process (PID = %%i) is killed."
)
"%baseDir%\bin\run.bat"
echo "Process started, see logs/error with logs/error command"
goto :EOF
)

View File

@@ -0,0 +1,3 @@
@echo off
set "APP_NAME=chat-service"
set "MAIN_CLASS=com.tencent.supersonic.StandaloneLauncher"

View File

@@ -0,0 +1,30 @@
@echo off
setlocal
set "binDir=%~dp0"
set "baseDir=%~dp0.."
set "libDir=%baseDir%\lib"
set "confDir=%baseDir%\conf"
set "webDir=%baseDir%\webapp"
call "%baseDir%\bin\env.bat"
set "CLASSPATH=%confDir%;%webDir%;%libDir%\*"
set "LANG=zh_CN.UTF-8"
cd /d "%baseDir%"
set "command=-Dfile.encoding=UTF-8 -Duser.language=Zh -Duser.region=CN -Duser.timezone=GMT+08 -Xms1024m -Xmx2048m -cp %CLASSPATH% %MAIN_CLASS%"
if not exist "%baseDir%\logs" (
mkdir "%baseDir%\logs"
)
if "%is_test%"=="true" (
start "supersonic" /B java -Dspring.profiles.active=dev %command% >nul 2>"%baseDir%\logs\error.log"
) else (
start "supersonic" /B java %command% >nul 2>"%baseDir%\logs\error.log"
)
endlocal

View File

@@ -0,0 +1,42 @@
@echo off
setlocal
set "binDir=%~dp0"
set "baseDir=%~dp0.."
set "confDir=%baseDir%\conf"
call "%baseDir%\bin\env.bat"
set "command=%~1"
if "%command%"=="start" (
for /f "tokens=2" %%i in ('tasklist ^| findstr /i "java"') do (
echo "Process (PID = %%i) is running."
goto :EOF
)
echo "Starting %APP_NAME%"
"%baseDir%\bin\run.bat" %MAIN_CLASS%
echo "Process started, see logs/error with logs/error command"
goto :EOF
)
if "%command%"=="stop" (
for /f "tokens=2" %%i in ('tasklist ^| findstr /i "java"') do (
taskkill /PID %%i /F
echo "Process (PID = %%i) is killed."
goto :EOF
)
echo "Process is not running."
goto :EOF
)
if "%command%"=="restart" (
for /f "tokens=2" %%i in ('tasklist ^| findstr /i "java"') do (
taskkill /PID %%i /F
echo "Process (PID = %%i) is killed."
)
"%baseDir%\bin\run.bat" %MAIN_CLASS%
echo "%APP_NAME% started, see logs/error with logs/error command"
)