.
This commit is contained in:
+17
-3
@@ -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}"
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user