fix(practice): guard lang variables; add furigana support for JA in prompts and UI; fix f-string JSON construction
This commit is contained in:
@@ -340,6 +340,10 @@ class AIService:
|
||||
|
||||
scenario_desc = scenarios.get(scenario, "повседневный разговор")
|
||||
|
||||
extra_fields = ''
|
||||
if learning_lang.lower() == 'ja':
|
||||
extra_fields = ",\n \"furigana\": \"фуригана (кана над/после иероглифов для поля message)\""
|
||||
|
||||
prompt = f"""Ты - собеседник для практики языка {learning_lang} уровня {level}.
|
||||
Начни диалог в сценарии: {scenario_desc} на {learning_lang}.
|
||||
|
||||
@@ -348,7 +352,7 @@ class AIService:
|
||||
"message": "твоя первая реплика на {learning_lang}",
|
||||
"translation": "перевод на {translation_lang}",
|
||||
"context": "краткое описание ситуации на {translation_lang}",
|
||||
"suggestions": ["подсказка 1", "подсказка 2", "подсказка 3"]
|
||||
"suggestions": ["подсказка 1", "подсказка 2", "подсказка 3"]{extra_fields}
|
||||
}}
|
||||
|
||||
Требования:
|
||||
@@ -408,6 +412,10 @@ class AIService:
|
||||
for msg in conversation_history[-6:] # Последние 6 сообщений
|
||||
])
|
||||
|
||||
extra_fields_resp = ''
|
||||
if learning_lang.lower() == 'ja':
|
||||
extra_fields_resp = ",\n \"furigana\": \"фуригана (кана над/после иероглифов для поля response)\""
|
||||
|
||||
prompt = f"""Ты ведешь диалог на языке {learning_lang} уровня {level} в сценарии "{scenario}".
|
||||
|
||||
История диалога:
|
||||
@@ -423,7 +431,7 @@ User: {user_message}
|
||||
"corrections": "исправления ошибок пользователя (если есть)",
|
||||
"comment": "краткий комментарий об ответе пользователя"
|
||||
}},
|
||||
"suggestions": ["подсказка 1 для следующего ответа", "подсказка 2"]
|
||||
"suggestions": ["подсказка 1 для следующего ответа", "подсказка 2"]{extra_fields_resp}
|
||||
}}
|
||||
|
||||
Требования:
|
||||
|
||||
Reference in New Issue
Block a user