toolify / start.sh
wzxwhxcz's picture
Update start.sh
41ca3c9 verified
#!/bin/bash
# 检查必要环境变量
if [ -z "$UPSTREAM_BASE_URL" ]; then
echo "❌ UPSTREAM_BASE_URL is not set"
exit 1
fi
if [ -z "$UPSTREAM_API_KEY" ]; then
echo "❌ UPSTREAM_API_KEY is not set"
exit 1
fi
if [ -z "$UPSTREAM_MODELS" ]; then
echo "❌ UPSTREAM_MODELS is not set"
exit 1
fi
if [ -z "$CLIENT_API_KEY" ]; then
echo "❌ CLIENT_API_KEY is not set"
exit 1
fi
# 生成 models YAML 列表
MODELS_YAML=""
IFS=',' read -ra MODEL_ARRAY <<< "${UPSTREAM_MODELS}"
for model in "${MODEL_ARRAY[@]}"; do
model=$(echo "$model" | xargs)
MODELS_YAML="${MODELS_YAML} - \"${model}\"
"
done
cat > config.yaml << EOF
server:
port: 7860
host: "0.0.0.0"
timeout: 180
upstream_services:
- name: "openai"
base_url: "${UPSTREAM_BASE_URL}"
api_key: "${UPSTREAM_API_KEY}"
description: "Default Service"
is_default: true
models:
${MODELS_YAML}
client_authentication:
allowed_keys:
- "${CLIENT_API_KEY}"
features:
enable_function_calling: true
log_level: "INFO"
convert_developer_to_system: true
key_passthrough: ${KEY_PASSTHROUGH:-false}
model_passthrough: ${MODEL_PASSTHROUGH:-false}
enable_fc_error_retry: false
fc_error_retry_max_attempts: 3
EOF
echo "=== Generated config.yaml ==="
sed 's/api_key:.*/api_key: "***"/g' config.yaml
echo "=============================="
python -u main.py