fix: именительный падеж при веб-склонении (Морфер/ИИ)
- Морфер и ИИ не всегда возвращают именительный падеж (он равен исходному слову) — теперь подставляем его сами - табло результатов склонения показывает ВСЕ 6 падежей, включая именительный (раньше показывал только Р,Д,В,Т,П)
This commit is contained in:
+1
-1
@@ -450,7 +450,7 @@ class DokoGenApp:
|
||||
for key, res in results:
|
||||
label = "Полное название" if key == 'declension' else "Краткое название"
|
||||
lines.append(f"\n{label}:")
|
||||
for code, name_case in [('Р', 'Родительный'), ('Д', 'Дательный'), ('В', 'Винительный'),
|
||||
for code, name_case in [('И', 'Именительный'), ('Р', 'Родительный'), ('Д', 'Дательный'), ('В', 'Винительный'),
|
||||
('Т', 'Творительный'), ('П', 'Предложный')]:
|
||||
if code in res['data']:
|
||||
lines.append(f" {name_case}: {res['data'][code]}")
|
||||
|
||||
@@ -159,6 +159,11 @@ def check_declension_morpher(text):
|
||||
if not decl:
|
||||
return None, "Морфер не смог просклонять (возможно, это не слово/ФИО)"
|
||||
|
||||
# Морфер не возвращает именительный падеж (он равен исходному слову) —
|
||||
# добавляем его сами, иначе поле «Именительный» остаётся пустым
|
||||
if 'И' not in decl:
|
||||
decl['И'] = text.strip()
|
||||
|
||||
return {
|
||||
'source': 'Морфер 3.0',
|
||||
'source_url': 'https://morpher.ru',
|
||||
@@ -298,6 +303,10 @@ def check_declension_ai(text, api_key, model='deepseek-chat', base_url=None):
|
||||
if not decl:
|
||||
return None, "ИИ не смог просклонять"
|
||||
|
||||
# Именительный падеж равен исходному слову — подставляем, если ИИ его не вернул
|
||||
if 'И' not in decl:
|
||||
decl['И'] = text.strip()
|
||||
|
||||
return {
|
||||
'source': 'ИИ',
|
||||
'source_url': 'openai-совместимый API',
|
||||
|
||||
Reference in New Issue
Block a user