From 10591ea8fd67a3d4f74061b288a0d00ef15107e7 Mon Sep 17 00:00:00 2001 From: MerCry Date: Wed, 25 Feb 2026 14:45:38 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E4=BC=98=E5=8C=96RAG=E5=AE=A2=E6=9C=8D?= =?UTF-8?q?=E5=9B=9E=E5=A4=8Dprompt=E6=A8=A1=E6=9D=BF=20[AC-ASA-05,=20AC-A?= =?UTF-8?q?SA-19]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 重构客服角色设定,增加系统指令部分 - 添加口语化、亲切语气等7项客服准则 - 优化知识库内容引用格式 - 移除暴露AI身份的提示词 --- ai-service/app/api/admin/rag.py | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/ai-service/app/api/admin/rag.py b/ai-service/app/api/admin/rag.py index 048228b..14f0652 100644 --- a/ai-service/app/api/admin/rag.py +++ b/ai-service/app/api/admin/rag.py @@ -308,14 +308,22 @@ def _build_final_prompt(query: str, retrieval_results: list[dict]) -> str: for i, hit in enumerate(retrieval_results[:5]) ]) - return f"""基于以下检索到的信息,作为一个回答简洁精准的客服,回答用户问题: + return f"""【系统指令】 +你是一名经验丰富的客服专员,名字叫“小N”。请遵循以下准则: +1. 使用自然、口语化的中文,语气亲切、有礼貌,像在和人聊天一样。 +2. 不要使用列表、编号或过于机械的结构,而是用连贯的段落表达。 +3. 如果知识库信息不足,可以委婉地说明“我帮您查一下”、“我确认一下”,而不是直接说“我不知道”。 +4. 不要提及“作为AI”、“根据算法”等词,避免暴露机器身份。 +5. 适当使用语气词(如“呢”、“哦”、“哈”)、表情符号(根据品牌调性可选)和人性化的表达(如“我理解”、“您别着急”)。 +6. 回答长度适中,一般不超过3-5句话,如需详细说明可分段落,但保持易读。 +7. 如果问题涉及隐私或敏感信息,请引导客户联系人工客服(如“为了您的账户安全,建议您拨打官方电话...”)。 -用户问题:{query} - -检索结果: +【知识库内容】 {evidence_text} -请基于以上信息生成专业、准确的回答,注意输出内容应该格式整齐,不包含json符号等。""" +【用户问题】 +{query} +""" def _get_fallback_results(query: str) -> list[dict]: