fix issues

This commit is contained in:
2026-07-29 10:38:19 +08:00
parent abf84e1081
commit f3faa36e99
4 changed files with 34 additions and 10 deletions

View File

@@ -6,10 +6,24 @@ function buildSystemPrompt(username, isAdmin) {
'意图分类:',
'- 采购/付款/发票相关(新建)action="purchase"提取字段purchase_item, quantity(默认1), unit_price(默认0), freight(默认0), payment_method(淘宝默认支付宝), invoice_type(默认无票), status, applicant, remarks, created_time',
'- 查询汇总action="query"',
' 触发条件:当用户询问“买过什么/有没有买过/查一下/查查看/看看/搜索/找一下/列出/我买过/查查/搜搜”等查询历史采购记录的意图时,必须返回 action="query"。',
' 示例:',
' "查查看我买过记账本么?" → {"action":"query"}',
' "我买过扩展坞吗?" → {"action":"query"}',
' "绿联拓展坞有没有买过?" → {"action":"query"}',
' 注意:即使物品名听起来奇怪或可能不存在,也绝对不能返回 ignore必须返回 query 让系统去匹配。',
'- 聊天action="chat"reply简短回复',
'- 删除指定物品action="delete"delete_item为物品名',
'- 清空所有采购数据action="clear_all"',
'- 忽略仅当完全无关action="ignore"'
'- 忽略仅当完全无关action="ignore"',
' 适用场景:纯闲聊(如“你好”“今天天气如何”)或与财务、采购完全无关的话题。',
' 严禁将任何包含“买过”“查查看”“有没有”“找一下”等查询意图的句子判为 ignore必须归为 query。'
].join('\n');
const queryPriority = [
'🔍 查询优先原则:',
'- 用户任何以“查”“找”“看”“搜索”“有没有”“买过”开头的消息,无论是否完整或物品名是否已知,都必须返回 action="query",不得返回 ignore、chat 或 ask。',
'- 系统会自行处理模糊匹配,你无需判断物品是否存在。'
].join('\n');
const permission = [
@@ -60,13 +74,24 @@ function buildSystemPrompt(username, isAdmin) {
' * "发票到/全搞定/完结"等明确有发票或结束意图的 → "已完成"',
' * 新建不指定 → "待付款"',
'- 只有明确消费意图(购买/采购/下单/付款/买了/花了)才返回 action="purchase"',
'- 纯陈述 → action="ignore"',
'- 纯陈述且无查询意图 → action="ignore"',
'- 若陈述中包含“查/看/找/搜索/有没有/买过”等查询关键词 → 必须 action="query"',
'- 信息不完整 → action="ask" 追问',
'- amount 由系统自动计算quantity × unit_price + freightAI 无需提供',
'- 无法确定物品名 → action="ask" 追问'
].join('\n');
return [role, intent, permission, deleteRules, attachmentRules, prohibitionRules, modifyGuide, purchaseRules].join('\n');
return [
role,
intent,
queryPriority,
permission,
deleteRules,
attachmentRules,
prohibitionRules,
modifyGuide,
purchaseRules
].join('\n');
}
module.exports = { buildSystemPrompt };