Files
GovAI/ppt-worker
freedakgmail 95dee5a70e feat: 完善来源标注徽章功能和配置优化
后端改进:
- 改进 addCitationsToResponse 函数,更激进地添加来源标注
- 支持识别所有有实质内容的行(长度>5)
- 优化特殊行的识别逻辑,保留'依据引用'、'分析'、'建议'等内容行
- 修复 go.mod 中 lib/pq 的依赖问题
- 优化字符串拼接效率(使用 fmt.Fprintf)
- 添加 Scanner 错误检查

前端改进:
- 优化徽章样式,增大尺寸和间距
- 改用 bg-blue-100 和 bg-orange-100 背景
- 添加 hover 效果和 cursor-pointer

配置优化:
- LLM 服务地址改为 IP(192.168.1.6:18888),支持外部调用
- 本地服务保持 localhost,性能更优

测试:
- 新增 6 个单元测试用例,全部通过
- 验证清单项、列表项、陈述句等各种格式的标注

文档:
- 添加实现方案文档
- 添加用户使用指南
2026-06-22 20:50:18 +08:00
..
2026-06-15 23:48:37 +08:00
2026-06-15 23:48:37 +08:00
2026-06-15 23:48:37 +08:00
2026-06-15 23:48:37 +08:00
2026-06-15 23:48:37 +08:00

PPT Worker 微服务

PPT Master 管线的 HTTP 服务封装,作为 GovAI 平台的 PPT 生成后端。

架构

GovAI 前端 → Go 后端 → Redis 队列 → PPT Worker → PPTX 文件

Worker 接收任务后执行完整 PPT Master 管线:

  1. 源内容转换 — PDF/DOCX/URL/文本 → Markdown
  2. 项目初始化 — 创建 PPT Master 项目结构
  3. 策略师阶段 — LLM 生成设计规范 + 执行锁定
  4. 图片获取 — AI 生图(可选)
  5. 执行器阶段 — LLM 逐页生成 SVG
  6. 后处理导出 — SVG 质量检查 → finalize → 导出 PPTX

快速开始

前置条件

  • Python 3.10+
  • PostgreSQLGovAI 数据库)
  • Redis
  • PPT Master 项目(/Users/freedak/Documents/go-new/ppt-master

安装

cd ppt-worker
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt

配置

cp .env.example .env
# 编辑 .env,填入数据库、Redis、LLM API Key 等配置

启动

# 同时启动 HTTP API + Worker
python app.py

# 或仅启动 Worker(不含 HTTP API
python worker.py

Docker

cd docker
docker compose up -d ppt-worker

API

方法 路径 说明
POST /api/tasks 创建文本/URL 任务
POST /api/tasks/upload 创建带文件上传的任务
GET /api/tasks/{id} 查询任务状态
GET /api/tasks/{id}/download 下载 PPTX 文件
GET /health 健康检查

环境变量

变量 默认值 说明
WORKER_PORT 8090 HTTP 服务端口
WORKER_CONCURRENCY 2 并发处理数
DATABASE_URL - PostgreSQL 连接串
REDIS_URL redis://localhost:6379/0 Redis 连接串
PPT_MASTER_PATH - PPT Master 项目路径
OPENAI_API_KEY - DashScope API KeyLLM + 图片共用)
OPENAI_BASE_URL https://dashscope.aliyuncs.com/compatible-mode/v1 千问 OpenAI 兼容端点
OPENAI_MODEL qwen-max 千问模型(推荐 qwen-max / qwen-plus
IMAGE_BACKEND wanx 图片后端(wanx 通义万相 / 其他回退脚本)
WANX_MODEL wanx-v1 万相模型名
IMAGE_API_KEY (空,复用 OPENAI_API_KEY 单独的图片 API Key(可选)

千问模型推荐

模型 上下文 适用场景
qwen-max 128K SVG 生成首选,质量最好
qwen-plus 128K 性价比之选
qwen-long 10M 超长文档输入
qwen-turbo 128K 速度优先