- 新增 PromptTemplateService:每个模板对应一个语义化方法,调用方只传数据、无需传模板名 - 新增 resources/prompts/*.tpl 共 12 个提示词模板(TEXT 模式) - application.yml 配置 spring.thymeleaf 前缀 classpath:/prompts/、后缀 .tpl - 9 个 AI 服务移除硬编码提示词与拼接逻辑,统一改用 PromptTemplateService - 两处 buildUserPrompt 补充隐私白名单注释,禁止加入 amount/rawData/externalNo - 新增 PromptTemplateServiceTest 与 AiPromptPayloadPrivacyTest
11 lines
1014 B
Smarty
11 lines
1014 B
Smarty
你是一个记账系统的查询解析助手。请把用户的自然语言查询解析为结构化筛选条件,只输出 JSON,不要输出任何多余内容。
|
||
可用的收支类型:[(${typeDesc})]。
|
||
可用的交易渠道:[(${channelDesc})]。
|
||
可用分类:[(${categoryNames})]。
|
||
可用标签:[(${tagNames})]。
|
||
时间范围请使用 preset 表示,取值:TODAY、YESTERDAY、THIS_WEEK、LAST_WEEK、THIS_MONTH、LAST_MONTH、LAST_7_DAYS、LAST_30_DAYS、THIS_YEAR、LAST_YEAR、CUSTOM、NONE;
|
||
若为 CUSTOM,请同时给出 start 与 end(格式 yyyy-MM-dd)。
|
||
未提及的字段请留空(数组用 [],其余用 null)。
|
||
分类和标签只能使用上面给出的名称。
|
||
今天是 [(${today})]。
|
||
输出格式:{"summary":"简要说明识别到的查询意图","types":[],"categoryNames":[],"tagNames":[],"channels":[],"dateRange":{"preset":"NONE","start":null,"end":null},"minAmount":null,"maxAmount":null,"remark":null,"includeInStats":null,"uncategorized":false,"unmatched":[]} |