Skip to content

03 部署与实战

学习理念:这一篇讲怎么把舆情分析平台跑起来——从配置到 Docker 部署。核心是理解 3 个关键接口(LLM、搜索工具、数据库)的配置方式。


一、环境准备

1.1 前置条件

bash
# 确认已安装
docker --version       # Docker ≥ 24
git --version          # Git ≥ 2.40

1.2 获取代码

bash
git clone https://github.com/JxKim/sentiment_analysis_platform.git
cd sentiment_analysis_platform

1.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"

六、本阶段文件索引

优先级文件路径
🟡 P106_Docker部署.md1.笔记/课件/

OPC 超级个体实战指南