1. apps/backend/app/ai/prompts/app2a_finance_area_prompt.py (新建):
- payload: 业态说明 + 区域占比 + 对比口径 + 核心 KPI + 优惠构成
+ 助教成本 + 区域级单位经济 + 按星期聚合 + 日粒度异常 + 行业基线
- 5 个区域级辅助函数:_fetch_area_daily_series / _build_area_unit_economics
/ _aggregate_by_weekday_area / _detect_anomaly_days_area / _fetch_area_share
- AREA_INDUSTRY_TRAITS 字典(7 业态 trait + peer 描述)
- 复用 app2_finance_prompt 的 _build_coach_kpi / _build_discount_kpi 等公共函数
2. config.py: AIConfig 增加 app_id_2a_finance_area + DASHSCOPE_APP_ID_2A_FINANCE_AREA
3. schemas.py: CacheTypeEnum 增加 APP2A_FINANCE_AREA
4. dispatcher.py:
- APP2A_AREA_OPTIONS 常量(8 业态 · area != 'all')
- _handle_dws_completed 72 循环拆分:
area='all' 走 app2_finance · 其他 8 业态走 app2a_finance_area
- run_single_app 新增 elif 'app2a_finance_area' 分支(拒绝 area='all')
5. admin_ai.py: _SUPPORTED_APP_TYPES 加 'app2a_finance_area'
6. prompts/__init__.py: 导出 build_app2a_area_prompt
7. .env: 追加 DASHSCOPE_APP_ID_2A_FINANCE_AREA 百炼 APP ID
实测:7 项集成单测全通过(config/cache_type/router/prompts/dispatcher 常量/
4 业态 prompt 构建/拒绝 area=all)· 端到端实调 vip 组合返回 12 条高质量洞察
严格遵守 v1.2 system prompt 全部 7 项硬约束(H1-H7)。
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
29 lines
1.3 KiB
Python
29 lines
1.3 KiB
Python
"""AI 应用 Prompt 拼装模块。
|
||
|
||
8 个百炼自定义应用的后端 prompt 拼装函数集中此处。
|
||
- 所有函数返回 str:直接传给 dashscope.Application.call(prompt=...)
|
||
- system prompt 在百炼控制台配置,本模块只负责拼数据上下文 JSON
|
||
- 数据源走 data_fetchers / board_service,集中真实业务数据
|
||
- 失败降级:数据获取失败时拼"_data_warnings"字段,不阻断 AI 调用
|
||
"""
|
||
|
||
from app.ai.prompts.app2_finance_prompt import build_prompt as build_app2_prompt
|
||
from app.ai.prompts.app2a_finance_area_prompt import build_prompt as build_app2a_area_prompt
|
||
from app.ai.prompts.app3_clue_prompt import build_prompt as build_app3_prompt
|
||
from app.ai.prompts.app4_analysis_prompt import build_prompt as build_app4_prompt
|
||
from app.ai.prompts.app5_tactics_prompt import build_prompt as build_app5_prompt
|
||
from app.ai.prompts.app6_note_prompt import build_prompt as build_app6_prompt
|
||
from app.ai.prompts.app7_customer_prompt import build_prompt as build_app7_prompt
|
||
from app.ai.prompts.app8_consolidation_prompt import build_prompt as build_app8_prompt
|
||
|
||
__all__ = [
|
||
"build_app2_prompt",
|
||
"build_app2a_area_prompt",
|
||
"build_app3_prompt",
|
||
"build_app4_prompt",
|
||
"build_app5_prompt",
|
||
"build_app6_prompt",
|
||
"build_app7_prompt",
|
||
"build_app8_prompt",
|
||
]
|