#!/bin/bash # LLM 论文图书馆 — 启动脚本 set -e SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)" cd "$SCRIPT_DIR" # 加载环境变量 if [ -f .env ]; then export $(grep -v '^#' .env | xargs) fi # 生成 API Key (如果未设置) if [ -z "$LLM_LIB_API_KEY" ]; then export LLM_LIB_API_KEY=$(python3 -c "import secrets; print(secrets.token_urlsafe(32))") echo "API_KEY=$LLM_LIB_API_KEY" > .env echo "⚠️ 自动生成 API Key: $LLM_LIB_API_KEY" fi echo "═══ LLM 论文图书馆 ═══" echo " API Key: ${LLM_LIB_API_KEY:0:8}..." echo " Port: ${PORT:-8000}" echo " PDF Dir: papers/" echo # 首次运行: 下载依赖 if ! python3 -c "import fastapi" 2>/dev/null; then echo "📦 安装依赖..." pip install -r requirements.txt -q fi # 如果 papers.json 不存在,从 HTML 重新提取 if [ ! -f data/papers.json ]; then echo "📊 提取论文数据..." python3 api/extract_data.py || echo "⚠️ extract_data.py 失败,请手动运行" fi # 启动服务 echo "🚀 启动服务..." exec python3 -m uvicorn api.server:app \ --host 0.0.0.0 \ --port ${PORT:-8000} \ --log-level ${LOG_LEVEL:-info}