03 部署与实战
学习理念:这一篇讲怎么把舆情分析平台跑起来——从配置到 Docker 部署。核心是理解 3 个关键接口(LLM、搜索工具、数据库)的配置方式。
一、环境准备
1.1 前置条件
bash
# 确认已安装
docker --version # Docker ≥ 24
git --version # Git ≥ 2.401.2 获取代码
bash
git clone https://github.com/JxKim/sentiment_analysis_platform.git
cd sentiment_analysis_platform1.3 配置文件
复制 .env.example 为 .env,修改以下关键配置:
env
# LLM 配置
LLM_API_KEY=your_api_key
LLM_BASE_URL=https://api.openai.com/v1
LLM_MODEL=gpt-4o
# 搜索工具 API Key(如果使用第三方搜索服务)
SEARCH_API_KEY=your_search_api_key
# 数据库
DATABASE_URL=mysql+aiomysql://root:password@localhost:3306/sentiment二、初始化数据库
bash
# 1. 确保 MySQL 运行中
docker compose up -d mysql
# 2. 初始化爬虫扩展表和舆情数据
python init_db.py
# 3. 准备热点新闻数据
python prepare_data.py三、启动服务
bash
# 启动所有服务
docker compose up -d
# 验证
curl http://localhost:8000/health
# → {"status": "ok"}四、测试一条分析
bash
curl -X POST http://localhost:8000/api/analyze \
-H "Content-Type: application/json" \
-d '{"query": "分析最近一周某品牌的舆情状况"}'
# SSE 实时推送进度:
# data: {"engine": "InsightEngine", "status": "running"}
# data: {"engine": "MediaEngine", "status": "running"}
# data: {"engine": "InsightEngine", "status": "completed"}
# ...
# data: {"type": "report", "url": "/reports/report_xxx.html"}五、Docker 部署架构
yaml
# docker-compose.yml 核心结构
services:
mysql:
image: mysql:8.0
volumes:
- mysql_data:/var/lib/mysql
backend:
build: ./backend
ports:
- "8000:8000"
depends_on:
- mysql
environment:
- DATABASE_URL=mysql+aiomysql://root:pass@mysql:3306/sentiment
frontend:
build: ./frontend
ports:
- "5173:5173"六、本阶段文件索引
| 优先级 | 文件 | 路径 |
|---|---|---|
| 🟡 P1 | 06_Docker部署.md | 1.笔记/课件/ |