fix: проверка информации — 4 замечания

1) ИИ универсален: вместо DeepSeek — «ИИ» (OpenAI-совместимый:
   DeepSeek, ChatGPT и др.). В настройках: API-ключ, модель, базовый URL
2) склонение проверяет И полное, И краткое название (Морфер и ИИ)
3) ИИ-проверка реквизитов показывает снимок полей (статус каждого),
   замечания и предложения — а не просто «ОК»
4) DaData: регистр нормализуется (КАПС → обычный), адрес (г., ул., д.),
   дата ОГРН из миллисекунд → 09.02.2005
- совместимость со старым api_settings.json (deepseek_* → ai_*)
This commit is contained in:
2026-08-03 13:29:09 +04:00
parent 9d2690e3e0
commit 0b540f093b
3 changed files with 289 additions and 103 deletions
+17 -6
View File
@@ -3,9 +3,10 @@
Хранятся в JSON рядом с программой (api_settings.json).
Поля:
- dadata_token — API-ключ DaData (проверка организации по ИНН)
- deepseek_api_key — API-ключ DeepSeek (ИИ-проверки)
- deepseek_model — модель DeepSeek (по умолчанию deepseek-chat)
- dadata_token — API-ключ DaData (проверка организации по ИНН)
- ai_api_key — API-ключ ИИ (OpenAI-совместимый: DeepSeek, ChatGPT и др.)
- ai_model — модель ИИ (deepseek-chat, gpt-4o-mini, gpt-4o и т.п.)
- ai_base_url — адрес API ИИ (по умолчанию DeepSeek)
"""
import os
@@ -14,8 +15,15 @@ import json
DEFAULT_SETTINGS = {
'dadata_token': '',
'deepseek_api_key': '',
'deepseek_model': 'deepseek-chat',
'ai_api_key': '',
'ai_model': 'deepseek-chat',
'ai_base_url': 'https://api.deepseek.com',
}
# Старые ключи (для совместимости со старым файлом api_settings.json)
_LEGACY_KEYS = {
'deepseek_api_key': 'ai_api_key',
'deepseek_model': 'ai_model',
}
@@ -39,7 +47,10 @@ def load_api_settings(path=None):
loaded = json.load(f)
merged = dict(DEFAULT_SETTINGS)
for k, v in loaded.items():
if k in merged:
# переносим старые ключи в новые
if k in _LEGACY_KEYS and not loaded.get(_LEGACY_KEYS[k]):
merged[_LEGACY_KEYS[k]] = v
elif k in merged:
merged[k] = v
return merged
except Exception: