This commit is contained in:
Magzhan Zhumabayev
2026-05-02 13:13:21 +05:00
parent 113db24c51
commit 2c9a9fd636
5 changed files with 29 additions and 16 deletions
+17 -3
View File
@@ -16,6 +16,13 @@ from realtime_voice_service.providers.base import LLMStreamEvent
LOGGER = logging.getLogger("uvicorn.error")
_FEMININE_SELF_REFERENCE_POLICY = (
"Правило самореференции: Айнур — женский голосовой оператор. "
"Когда говоришь о себе в прошедшем времени или с модальными формами, всегда используй женский род: "
"«могла», «смогла», «сделала», «готова», «проверила», «нашла». "
"Не используй мужской род о себе."
)
_FEMININE_SELF_REFERENCE_POLICY_MARKER = "Айнур — женский голосовой оператор"
_CONVERSATION_CLOSE_POLICY = (
"Правило завершения диалога: ИИ-оператор не должен самостоятельно завершать разговор. "
"Не говори «до свидания», «всего доброго», «хорошего дня» и другие финальные прощания, "
@@ -100,12 +107,19 @@ _LIVE_SEARCH_PATTERN = re.compile(
)
def _with_conversation_close_policy(system_prompt: str) -> str:
def _with_feminine_self_reference_policy(system_prompt: str) -> str:
normalized_prompt = str(system_prompt or "").strip()
if _CONVERSATION_CLOSE_POLICY_MARKER in normalized_prompt:
if _FEMININE_SELF_REFERENCE_POLICY_MARKER in normalized_prompt:
return normalized_prompt
if not normalized_prompt:
return _CONVERSATION_CLOSE_POLICY
return _FEMININE_SELF_REFERENCE_POLICY
return f"{normalized_prompt}\n\n{_FEMININE_SELF_REFERENCE_POLICY}"
def _with_conversation_close_policy(system_prompt: str) -> str:
normalized_prompt = _with_feminine_self_reference_policy(system_prompt)
if _CONVERSATION_CLOSE_POLICY_MARKER in normalized_prompt:
return normalized_prompt
return f"{normalized_prompt}\n\n{_CONVERSATION_CLOSE_POLICY}"