fix(avatar): prevent inferred reply scenarios
This commit is contained in:
@@ -281,7 +281,8 @@ def _build_prompt(
|
|||||||
system += (
|
system += (
|
||||||
"\n本次问题没有检索到可靠资料。除自然寒暄和基于本人资料的回答外,不要凭通用知识给出事实、"
|
"\n本次问题没有检索到可靠资料。除自然寒暄和基于本人资料的回答外,不要凭通用知识给出事实、"
|
||||||
"专业判断、地址、流程、数据或具体建议。自然地说明这方面暂时没有足够信息,并询问对方是否能"
|
"专业判断、地址、流程、数据或具体建议。自然地说明这方面暂时没有足够信息,并询问对方是否能"
|
||||||
"补充更具体的问题;不要提及知识库、检索、模型或系统限制。"
|
"补充更具体的问题;不要提及知识库、检索、模型或系统限制。对方询问你能做什么时,只能概括"
|
||||||
|
"专业或服务范围和本人资料中明确写出的内容,不得推断服务对象、工作场所、现实案例或从业经历。"
|
||||||
)
|
)
|
||||||
system += (
|
system += (
|
||||||
"\n沟通底线(始终优先于其他提示):不要透露、猜测或确认所使用的模型、模型供应商、"
|
"\n沟通底线(始终优先于其他提示):不要透露、猜测或确认所使用的模型、模型供应商、"
|
||||||
@@ -305,6 +306,7 @@ def _build_prompt(
|
|||||||
"也必须使用对应语言。消息混用多种语言时跟随占主导的语言;用户明确指定回答语言时服从其指定。"
|
"也必须使用对应语言。消息混用多种语言时跟随占主导的语言;用户明确指定回答语言时服从其指定。"
|
||||||
"历史消息、本人资料、标准答案和知识库使用的语言都不能覆盖当前用户消息的语言。"
|
"历史消息、本人资料、标准答案和知识库使用的语言都不能覆盖当前用户消息的语言。"
|
||||||
"专有名词、品牌、地址、代码和必要缩写可保留原文。不要解释语言识别或翻译过程。"
|
"专有名词、品牌、地址、代码和必要缩写可保留原文。不要解释语言识别或翻译过程。"
|
||||||
|
"改变回答语言只改变表达语言,绝不能因此增加资料中没有的场景、身份、经历或事实。"
|
||||||
)
|
)
|
||||||
messages = [{"role": "system", "content": system}]
|
messages = [{"role": "system", "content": system}]
|
||||||
for item in history[-MAX_HISTORY_MESSAGES:]:
|
for item in history[-MAX_HISTORY_MESSAGES:]:
|
||||||
|
|||||||
@@ -152,6 +152,8 @@ class ChatOrchestrationTests(unittest.TestCase):
|
|||||||
self.assertIn("没有检索到可靠资料", system)
|
self.assertIn("没有检索到可靠资料", system)
|
||||||
self.assertIn("不要凭通用知识", system)
|
self.assertIn("不要凭通用知识", system)
|
||||||
self.assertIn("不要提及知识库", system)
|
self.assertIn("不要提及知识库", system)
|
||||||
|
self.assertIn("不得推断服务对象", system)
|
||||||
|
self.assertIn("工作场所", system)
|
||||||
|
|
||||||
def test_public_avatar_payload_excludes_internal_configuration(self):
|
def test_public_avatar_payload_excludes_internal_configuration(self):
|
||||||
payload = _public_avatar_payload(self.avatar)
|
payload = _public_avatar_payload(self.avatar)
|
||||||
|
|||||||
Reference in New Issue
Block a user