feat(viral_video): #2040 Prompt模板系统(5套+DB配置化+seed) #2174

Merged
auto-approve-bot merged 3 commits from feat/2040-viral-video-prompt-templates into develop 2026-10-04 15:41:59 +08:00
Owner

改动内容

实现 Issue #2040 爆款视频 Prompt 模板系统(父工单 #2038)。

新增文件

  • alembic/versions/095_viral_video_prompt_templates.py — 建表 viral_video_prompt_templates(id/name/prompt_type/version/system_prompt/user_prompt_template/example_output(TEXT纯文本)/is_active/created_at/updated_at;prompt_type+version 唯一键)
  • packages/application/viral_video/prompts.py — 5套Prompt默认值,纯文本自然语言+XML标签输出约定
  • packages/application/viral_video/xml_parser.py — 栈式扫描解析 内容,嵌套内外层均可提取
  • packages/application/viral_video/prompt_loader.py — DB加载+30秒TTL缓存+热加载,DB不可用回落代码默认模板
  • packages/application/viral_video/schemas.py — 内部Pydantic校验模型
  • packages/application/viral_video/generator.py — 5步编排:图片分析→意图解析→文案融合(三档)→分镜→审核重写;每步有规则fallback不阻断
  • packages/application/viral_video/reviewer.py — 6维度审核(违规词/夸大承诺/事实一致性/用户意图保留/结构完整性/语气人设)+自动重写1次,叠加本地广告法规则预检
  • scripts/seed_viral_video_prompts.py — 幂等seed(UPSERT on prompt_type,version)
  • tests/unit/test_viral_video_prompt_system.py — 24个单测

设计要点(用户明确要求)

  • ⚠️ 所有提示词均为纯文本自然语言,运营可直接看懂编辑,无JSON、无代码块
  • LLM输出用XML标签(如 <intent_summary>、<core_message must_keep="true">),正则解析,失败走规则fallback
  • global_constraints硬约束(不编造时间/效果/价格/认证、符合广告法)自动注入
  • negative_prompt反套路化(禁家人们谁懂啊/绝绝子/宝子们)
  • personal_brands事实信息原样保留,缺失即判error
  • 三档融合 ai_full/ai_polish/user_primary 指令段独立

测试

  • 24个新单测全部通过(mock DoubaoClient,不真调API)
  • 新包覆盖率91%
  • 覆盖:标签解析/5套纯文本/三档差异/personal_brands保留/审核识别违规词夸大/自动重写/seed幂等/负面词/各步fallback
  • 全量单测无新增回归(2个环境相关失败在干净develop上同样失败)

边界

不做 #2039 的 jobs表/Celery编排/REST API;不做前端;不碰生产。

## 改动内容 实现 Issue #2040 爆款视频 Prompt 模板系统(父工单 #2038)。 ### 新增文件 - alembic/versions/095_viral_video_prompt_templates.py — 建表 viral_video_prompt_templates(id/name/prompt_type/version/system_prompt/user_prompt_template/example_output(TEXT纯文本)/is_active/created_at/updated_at;prompt_type+version 唯一键) - packages/application/viral_video/prompts.py — 5套Prompt默认值,纯文本自然语言+XML标签输出约定 - packages/application/viral_video/xml_parser.py — 栈式扫描解析 <tag attr="x">内容</tag>,嵌套内外层均可提取 - packages/application/viral_video/prompt_loader.py — DB加载+30秒TTL缓存+热加载,DB不可用回落代码默认模板 - packages/application/viral_video/schemas.py — 内部Pydantic校验模型 - packages/application/viral_video/generator.py — 5步编排:图片分析→意图解析→文案融合(三档)→分镜→审核重写;每步有规则fallback不阻断 - packages/application/viral_video/reviewer.py — 6维度审核(违规词/夸大承诺/事实一致性/用户意图保留/结构完整性/语气人设)+自动重写1次,叠加本地广告法规则预检 - scripts/seed_viral_video_prompts.py — 幂等seed(UPSERT on prompt_type,version) - tests/unit/test_viral_video_prompt_system.py — 24个单测 ### 设计要点(用户明确要求) - ⚠️ 所有提示词均为纯文本自然语言,运营可直接看懂编辑,无JSON、无代码块 - LLM输出用XML标签(如 <intent_summary>、<core_message must_keep="true">),正则解析,失败走规则fallback - global_constraints硬约束(不编造时间/效果/价格/认证、符合广告法)自动注入 - negative_prompt反套路化(禁家人们谁懂啊/绝绝子/宝子们) - personal_brands事实信息原样保留,缺失即判error - 三档融合 ai_full/ai_polish/user_primary 指令段独立 ### 测试 - 24个新单测全部通过(mock DoubaoClient,不真调API) - 新包覆盖率91% - 覆盖:标签解析/5套纯文本/三档差异/personal_brands保留/审核识别违规词夸大/自动重写/seed幂等/负面词/各步fallback - 全量单测无新增回归(2个环境相关失败在干净develop上同样失败) ### 边界 不做 #2039 的 jobs表/Celery编排/REST API;不做前端;不碰生产。
xiaoxia added 1 commit 2026-10-04 15:13:54 +08:00
feat(viral_video): #2040 Prompt模板系统(5套+DB配置化+seed)
CI/CD Pipeline / Check push changed paths (pull_request) Has been skipped
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (pull_request) Successful in 1s
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 1s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Has been skipped
CI/CD Pipeline / Frontend Lint (pull_request) Has been skipped
CI/CD Pipeline / PR Build Web Image (pull_request) Has been skipped
CI/CD Pipeline / Build Staging API Image (pull_request) Has been skipped
CI/CD Pipeline / Build Staging Worker Image (pull_request) Has been skipped
CI/CD Pipeline / Build Staging Web Image (pull_request) Has been skipped
CI/CD Pipeline / Retag skipped Staging API Image (pull_request) Has been skipped
CI/CD Pipeline / Retag skipped Staging Web Image (pull_request) Has been skipped
CI/CD Pipeline / Retag skipped Staging Worker Image (pull_request) Has been skipped
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Has been skipped
CI/CD Pipeline / Staging E2E Tests (pull_request) Has been skipped
CI/CD Pipeline / Staging API Integration Tests (pull_request) Has been skipped
CI/CD Pipeline / ACR Image Cleanup (pull_request) Has been skipped
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 1m49s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 3m16s
CI/CD Pipeline / Integration Tests (pull_request) Failing after 3m15s
CI/CD Pipeline / PR Build API Image (pull_request) Successful in 3m40s
CI/CD Pipeline / PR Build Worker Image (pull_request) Successful in 3m42s
CI/CD Pipeline / Validate - Python (mypy + alembic) (pull_request) Failing after 3m56s
CI/CD Pipeline / Build Production API Image (pull_request) Has been cancelled
CI/CD Pipeline / Build Production Web Image (pull_request) Has been cancelled
CI/CD Pipeline / Build Production Worker Image (pull_request) Has been cancelled
CI/CD Pipeline / Deploy Production (pull_request) Has been cancelled
CI/CD Pipeline / Production Browser E2E (pull_request) Has been cancelled
CI/CD Pipeline / Canary Release to Production (pull_request) Has been cancelled
CI/CD Pipeline / CI Gate (pull_request) Has been cancelled
CI/CD Pipeline / Validate - Style (pull_request) Has been cancelled
CI/CD Pipeline / Validate - Security (pull_request) Has been cancelled
CI/CD Pipeline / Unit Tests (pull_request) Has been cancelled
AI Code Review / AI Code Review (pull_request) Has been cancelled
PR Automation / Auto Merge on CI Green + Approved (pull_request) Has been cancelled
ebbef0ac61

🚀 预览环境已部署

项目 详情
PR号 #2174
预览链接 https://pr-2174.preview.xiaoxiajianji.com
API环境 staging

💡 预览环境使用 staging API 数据,请勿在预览环境中操作重要数据。

🔄 每次提交新代码后预览环境会自动更新。

🗑️ PR 关闭或合并后,预览环境会自动清理。

🚀 **预览环境已部署** | 项目 | 详情 | |------|------| | PR号 | #2174 | | 预览链接 | [https://pr-2174.preview.xiaoxiajianji.com](https://pr-2174.preview.xiaoxiajianji.com) | | API环境 | staging | > 💡 预览环境使用 staging API 数据,请勿在预览环境中操作重要数据。 > > 🔄 每次提交新代码后预览环境会自动更新。 > > 🗑️ PR 关闭或合并后,预览环境会自动清理。
xiaoxia added 1 commit 2026-10-04 15:18:45 +08:00
fix: 095 down_revision 对齐 094_viral_video_pre_trusted
CI/CD Pipeline / Check push changed paths (pull_request) Has been skipped
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 1s
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (pull_request) Successful in 1s
CI/CD Pipeline / Frontend Lint (pull_request) Has been skipped
CI/CD Pipeline / Frontend Unit Tests (pull_request) Has been skipped
CI/CD Pipeline / PR Build Web Image (pull_request) Has been skipped
CI/CD Pipeline / Build Staging API Image (pull_request) Has been skipped
CI/CD Pipeline / Build Staging Web Image (pull_request) Has been skipped
CI/CD Pipeline / Build Staging Worker Image (pull_request) Has been skipped
CI/CD Pipeline / Retag skipped Staging API Image (pull_request) Has been skipped
CI/CD Pipeline / Retag skipped Staging Web Image (pull_request) Has been skipped
CI/CD Pipeline / Retag skipped Staging Worker Image (pull_request) Has been skipped
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Has been skipped
CI/CD Pipeline / Staging E2E Tests (pull_request) Has been skipped
CI/CD Pipeline / Staging API Integration Tests (pull_request) Has been skipped
CI/CD Pipeline / ACR Image Cleanup (pull_request) Has been skipped
CI/CD Pipeline / PR Build API Image (pull_request) Successful in 55s
CI/CD Pipeline / PR Build Worker Image (pull_request) Successful in 1m7s
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 1m31s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 3m13s
CI/CD Pipeline / Validate - Python (mypy + alembic) (pull_request) Failing after 3m24s
CI/CD Pipeline / Validate - Style (pull_request) Successful in 4m0s
CI/CD Pipeline / Integration Tests (pull_request) Successful in 5m25s
AI Code Review / AI Code Review (pull_request) Successful in 6m41s
CI/CD Pipeline / Validate - Security (pull_request) Successful in 8m9s
CI/CD Pipeline / Build Production API Image (pull_request) Has been cancelled
CI/CD Pipeline / Build Production Web Image (pull_request) Has been cancelled
CI/CD Pipeline / Build Production Worker Image (pull_request) Has been cancelled
CI/CD Pipeline / Deploy Production (pull_request) Has been cancelled
CI/CD Pipeline / Production Browser E2E (pull_request) Has been cancelled
CI/CD Pipeline / Canary Release to Production (pull_request) Has been cancelled
CI/CD Pipeline / CI Gate (pull_request) Has been cancelled
CI/CD Pipeline / Unit Tests (pull_request) Has been cancelled
PR Automation / Auto Merge on CI Green + Approved (pull_request) Has been cancelled
fb87ae531c
xiaoxia added 1 commit 2026-10-04 15:27:31 +08:00
fix: 095替换086预留旧表结构,ORM模型对齐,删除未使用旧仓储
CI/CD Pipeline / Check push changed paths (pull_request) Has been skipped
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 2s
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (pull_request) Successful in 2s
CI/CD Pipeline / Build Staging API Image (pull_request) Has been skipped
CI/CD Pipeline / Build Staging Worker Image (pull_request) Has been skipped
CI/CD Pipeline / Build Staging Web Image (pull_request) Has been skipped
CI/CD Pipeline / Frontend Lint (pull_request) Has been skipped
CI/CD Pipeline / Frontend Unit Tests (pull_request) Has been skipped
CI/CD Pipeline / PR Build Web Image (pull_request) Has been skipped
CI/CD Pipeline / Retag skipped Staging API Image (pull_request) Has been skipped
CI/CD Pipeline / Retag skipped Staging Web Image (pull_request) Has been skipped
CI/CD Pipeline / Retag skipped Staging Worker Image (pull_request) Has been skipped
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Has been skipped
CI/CD Pipeline / Staging E2E Tests (pull_request) Has been skipped
CI/CD Pipeline / Staging API Integration Tests (pull_request) Has been skipped
CI/CD Pipeline / ACR Image Cleanup (pull_request) Has been skipped
CI/CD Pipeline / PR Build API Image (pull_request) Successful in 51s
CI/CD Pipeline / PR Build Worker Image (pull_request) Successful in 51s
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 1m24s
CI/CD Pipeline / Integration Tests (pull_request) Successful in 3m9s
CI/CD Pipeline / Validate - Python (mypy + alembic) (pull_request) Successful in 3m28s
CI/CD Pipeline / Validate - Style (pull_request) Successful in 3m47s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 6m23s
CI/CD Pipeline / Validate - Security (pull_request) Successful in 9m12s
AI Code Review / AI Code Review (pull_request) Successful in 10m8s
CI/CD Pipeline / Unit Tests (pull_request) Successful in 13m43s
CI/CD Pipeline / Build Production API Image (pull_request) Has been skipped
CI/CD Pipeline / Build Production Web Image (pull_request) Has been skipped
CI/CD Pipeline / Build Production Worker Image (pull_request) Has been skipped
CI/CD Pipeline / Canary Release to Production (pull_request) Has been skipped
CI/CD Pipeline / CI Gate (pull_request) Successful in 1s
CI/CD Pipeline / Deploy Production (pull_request) Has been skipped
CI/CD Pipeline / Production Browser E2E (pull_request) Has been skipped
PR Automation / Auto Merge on CI Green + Approved (pull_request) Successful in 8m6s
ACR Cleanup / ACR Image Cleanup (pull_request_target) Successful in 42s
Preview Cleanup / Cleanup Preview Environment (pull_request) Successful in 1m16s
94018a41f3
auto-approve-bot merged commit 054e81c3e7 into develop 2026-10-04 15:41:59 +08:00
auto-approve-bot deleted branch feat/2040-viral-video-prompt-templates 2026-10-04 15:42:19 +08:00

🗑️ 预览环境已清理

PR #2174 已关闭或合并,对应的预览环境已被清理。

如有需要,可以重新打开 PR 来重新生成预览环境。

🗑️ **预览环境已清理** PR #2174 已关闭或合并,对应的预览环境已被清理。 > 如有需要,可以重新打开 PR 来重新生成预览环境。
Sign in to join this conversation.