Полный отказ от LLM: детерминированный rules-анализ
Решение Виктора: ИИ убран из проекта — карточки детей (ПД) не должны покиать контур. Анализ полностью локальный и детерминированный. - services/rules_analysis.py: правила вместо Claude (бывший analyze_with_fallback + rule_based_urgency из closed_cases): urgency по возрасту/профилям, зоны через geo+scoring, behavioral_prediction/immediate_actions/key_locations — справочники. - search_engine: анализатор инъекцией (CaseAnalyzer, Protocol), импорт claude_service удалён; рантайм — rules_analyze. - УДАЛЕНЫ: services/claude_service.py, backend/services/claude_service.py (устаревшая копия), test_claude_service.py; ключевые правила-кейсы перенесены в test_rules_analysis.py (+тест отсутствия LLM-упоминаний). - docker-compose/.env.example: ANTHROPIC_API_KEY удалён. - Фронт: бейдж 'ИИ-анализ' -> 'Локальный расчёт'. - Доки: DEPLOY/SERVICES_README/ANALYZE_API переписаны, FIXES_REPORT помечен историческим, vector_tasks B20: zones/probability — из движка. pytest: 187 passed (было 214; -27 удалённых LLM-тестов, +тест rules). Контракт /analyze не изменён (фронт совместим).
This commit is contained in:
+5
-5
@@ -10,7 +10,7 @@
|
||||
2. Geo service - построение зон поиска (8 направлений)
|
||||
3. Scoring service - оценка и ранжирование зон
|
||||
4. Psychotype service - определение психотипа (если есть данные)
|
||||
5. Claude service - интеллектуальный анализ (опционально)
|
||||
5. Rules analysis - детерминированные правила (urgency, зоны, действия; без LLM)
|
||||
6. Merge results - объединение результатов
|
||||
|
||||
**Request:**
|
||||
@@ -56,7 +56,7 @@
|
||||
"behavioral_prediction": "Умеренное движение",
|
||||
"summary": "Случай классифицирован как средняя срочность",
|
||||
"execution_time_ms": 21197.7,
|
||||
"services_used": ["distance", "geo", "psychotype", "claude"]
|
||||
"services_used": ["distance", "geo", "psychotype", "rules"]
|
||||
}
|
||||
```
|
||||
|
||||
@@ -80,13 +80,13 @@
|
||||
| Geo | ✅ Работает | Построение зон (21 сек) |
|
||||
| Scoring | ⚠️ Fallback | NoneType division error |
|
||||
| Psychotype | ✅ Работает | Определение + модификаторы |
|
||||
| Claude | ⚠️ Fallback | 403 Forbidden (нет API ключа) |
|
||||
| Rules | ✅ | локальный расчёт |
|
||||
|
||||
## Fallback механизмы
|
||||
|
||||
Если сервис недоступен, система использует fallback:
|
||||
- **Geo/Scoring fail** → создаются базовые 8 секторов
|
||||
- **Claude fail** → базовые рекомендации из scoring service
|
||||
- Правила всегда доступны: LLM в пайплайне нет (ПД не покидают контур)
|
||||
- **Psychotype fail** → анализ без модификаторов психотипа
|
||||
|
||||
## Тестирование
|
||||
@@ -100,7 +100,7 @@
|
||||
## Известные проблемы
|
||||
|
||||
1. **Scoring service**: Ошибка деления на None - нужно добавить проверки на None в scoring_service.py
|
||||
2. **Claude API**: Требуется настройка ANTHROPIC_API_KEY в .env
|
||||
2. **LLM не используется**: API-ключи не нужны, всё локально
|
||||
3. **Geo service**: Возвращает пустые зоны (возможно, проблема с Overpass API или кешем)
|
||||
|
||||
## Дата создания
|
||||
|
||||
Reference in New Issue
Block a user