Улучшенный будильник, таймер, перевод
This commit is contained in:
@@ -4,6 +4,7 @@
|
||||
# Обрабатывает запросы пользователя и переводы.
|
||||
|
||||
import requests
|
||||
import re
|
||||
from .config import PERPLEXITY_API_KEY, PERPLEXITY_MODEL, PERPLEXITY_API_URL
|
||||
|
||||
|
||||
@@ -21,7 +22,9 @@ SYSTEM_PROMPT = """Ты — Александр, умный голосовой а
|
||||
# Требует возвращать ТОЛЬКО перевод, без лишних слов ("Конечно, вот перевод...").
|
||||
TRANSLATION_SYSTEM_PROMPT = """You are a translation engine.
|
||||
Translate from {source} to {target}.
|
||||
Return only the translated text, without quotes, comments, or explanations.
|
||||
Return 2-3 short translation variants only.
|
||||
No explanations, no quotes, no comments.
|
||||
Separate variants with " / " (space slash space).
|
||||
Keep the translation максимально кратким и естественным, без лишних слов."""
|
||||
|
||||
|
||||
@@ -178,8 +181,22 @@ def translate_text(text: str, source_lang: str, target_lang: str) -> str:
|
||||
|
||||
response = _send_request(
|
||||
messages,
|
||||
max_tokens=400,
|
||||
max_tokens=160,
|
||||
temperature=0.2, # Низкая температура для точности перевода
|
||||
error_text="Произошла ошибка при переводе. Попробуйте ещё раз.",
|
||||
)
|
||||
return response.strip()
|
||||
cleaned = response.strip()
|
||||
if not cleaned:
|
||||
return cleaned
|
||||
|
||||
# Normalize to 2-3 variants separated by " / "
|
||||
parts = []
|
||||
for chunk in re.split(r"(?:\s*/\s*|\n|;|\|)", cleaned):
|
||||
item = chunk.strip(" \t-•")
|
||||
if item:
|
||||
parts.append(item)
|
||||
if not parts:
|
||||
return cleaned
|
||||
|
||||
parts = parts[:3]
|
||||
return " / ".join(parts)
|
||||
|
||||
Reference in New Issue
Block a user