d1d356f8
tangwang
脚本优化
|
1
2
|
#!/bin/bash
#
|
0fd2f875
tangwang
translate
|
3
4
5
6
7
8
|
# Start Translation Service (port 6006).
#
# Design:
# - Run in isolated venv `.venv-translator`
# - Load enabled translation capabilities at startup
# - Local models should be downloaded ahead of time into configured model_dir
|
d1d356f8
tangwang
脚本优化
|
9
|
#
|
af7ee060
tangwang
service_ctl 简化为“显...
|
10
|
set -euo pipefail
|
d1d356f8
tangwang
脚本优化
|
11
|
|
0fd2f875
tangwang
translate
|
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
PROJECT_ROOT="$(cd "$(dirname "$0")/.." && pwd)"
cd "${PROJECT_ROOT}"
TRANSLATOR_VENV="${TRANSLATOR_VENV:-${PROJECT_ROOT}/.venv-translator}"
PYTHON_BIN="${TRANSLATOR_VENV}/bin/python"
if [[ ! -x "${PYTHON_BIN}" ]]; then
echo "ERROR: translator venv not found: ${TRANSLATOR_VENV}" >&2
echo "Please run: ./scripts/setup_translator_venv.sh" >&2
exit 1
fi
# shellcheck source=scripts/lib/load_env.sh
source "${PROJECT_ROOT}/scripts/lib/load_env.sh"
load_env_file "${PROJECT_ROOT}/.env"
|
d1d356f8
tangwang
脚本优化
|
27
28
|
TRANSLATION_HOST="${TRANSLATION_HOST:-0.0.0.0}"
|
af7ee060
tangwang
service_ctl 简化为“显...
|
29
|
TRANSLATION_PORT="${TRANSLATION_PORT:-6006}"
|
0fd2f875
tangwang
translate
|
30
31
|
DEFAULT_MODEL=$("${PYTHON_BIN}" -c "from config.services_config import get_translation_config; print(get_translation_config()['default_model'])")
ENABLED_MODELS=$("${PYTHON_BIN}" -c "from config.services_config import get_translation_config; from translation.settings import get_enabled_translation_models; print(','.join(get_enabled_translation_models(get_translation_config())))")
|
d1d356f8
tangwang
脚本优化
|
32
33
34
35
|
echo "========================================"
echo "Starting Translation Service"
echo "========================================"
|
0fd2f875
tangwang
translate
|
36
|
echo "Python: ${PYTHON_BIN}"
|
d1d356f8
tangwang
脚本优化
|
37
38
|
echo "Host: ${TRANSLATION_HOST}"
echo "Port: ${TRANSLATION_PORT}"
|
0fd2f875
tangwang
translate
|
39
40
41
42
43
44
|
echo "Default model: ${DEFAULT_MODEL}"
echo "Enabled models: ${ENABLED_MODELS}"
echo
echo "Tips:"
echo " - Use a single worker so local models are loaded once."
echo " - Download local models first if you enable them in config."
|
d1d356f8
tangwang
脚本优化
|
45
46
|
echo
|
0fd2f875
tangwang
translate
|
47
|
exec "${PYTHON_BIN}" -m uvicorn api.translator_app:app \
|
d1d356f8
tangwang
脚本优化
|
48
49
50
|
--host "${TRANSLATION_HOST}" \
--port "${TRANSLATION_PORT}" \
--workers 1
|