Files
llm-library/start.sh
LaoWang f0ff62e082 feat: LLM 论文图书馆 — 初始提交
- FastAPI 后端: REST API + Bearer Token 鉴权 + PDF 代理
- 180 篇论文数据 (data/papers.json): 9 模块、32 子领域
- 前端: 数据驱动、卡片径向渐变光效、PDF 页面内阅读
- 底部状态栏: arXiv/HF 连通性检测
- PDF 加载: arXiv 优先(5s超时) → HK 本地兜底
- Docker 化部署 (Dockerfile + start.sh + nginx.conf)
- arXiv + HF 批量下载器 (api/downloader.py)
2026-06-02 10:25:14 +00:00

44 lines
1.1 KiB
Bash
Executable File

#!/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}