496 lines
17 KiB
Markdown
496 lines
17 KiB
Markdown
|
|
# 📚 ИСТОРИЯ СЕССИИ - ГИБРИДНЫЙ АУДИТ ОТЕЛЕЙ
|
|||
|
|
|
|||
|
|
**Дата:** 13 октября 2025
|
|||
|
|
**Участник:** Фёдор
|
|||
|
|
**Задача:** Создание гибридного аудита отелей с семантическим поиском, регулярками и Natasha NER
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 🎯 **ЧТО СДЕЛАНО:**
|
|||
|
|
|
|||
|
|
### **1. СЕМАНТИЧЕСКИЙ ПОИСК (BGE-M3 Embeddings)**
|
|||
|
|
|
|||
|
|
✅ **Создана таблица `hotel_website_chunks`:**
|
|||
|
|
- Структура: `id`, `text`, `metadata` (JSONB), `embedding` (vector 1024)
|
|||
|
|
- Metadata содержит: `hotel_id`, `url`, `hotel_name`, `region_name`
|
|||
|
|
- Всего обработано: **64 отеля**, **52,334 chunks**
|
|||
|
|
|
|||
|
|
✅ **Создан скрипт обработки:** `process_all_hotels_embeddings.py`
|
|||
|
|
- Chunk Size: 600 символов
|
|||
|
|
- Chunk Overlap: 100 символов
|
|||
|
|
- Batch Size: 8 chunks
|
|||
|
|
- Retry логика: 3 попытки с увеличением timeout
|
|||
|
|
|
|||
|
|
✅ **BGE-M3 API:**
|
|||
|
|
- URL: `http://147.45.146.17:8002/embed`
|
|||
|
|
- API Key: `22564b177aa73b6ac0b8642d7773350ff4c01d4983f028beff15ea247f09fa89`
|
|||
|
|
- Модель: BAAI/bge-m3 (1024 размерность)
|
|||
|
|
|
|||
|
|
✅ **Semantic Search API:** `semantic_search_api.py`
|
|||
|
|
- Порт: 8001
|
|||
|
|
- Эндпоинты: `/stats`, `/search`
|
|||
|
|
- Поиск по vector similarity с фильтрами
|
|||
|
|
|
|||
|
|
✅ **Интеграция в веб-интерфейс:**
|
|||
|
|
- Добавлен семантический поиск в чат-бот
|
|||
|
|
- Развёрнуто в продакшене: `hotel.klientprav.tech`
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
### **2. ГИБРИДНЫЙ АУДИТ (Семантика + Регулярки + Natasha)**
|
|||
|
|
|
|||
|
|
✅ **Установлена Natasha:**
|
|||
|
|
```bash
|
|||
|
|
pip install natasha --break-system-packages
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
✅ **Создан гибридный аудит:** `hybrid_audit_chukotka.py`
|
|||
|
|
- Комбинирует 3 метода: семантику (40%), регулярки (40%), NER (20%)
|
|||
|
|
- Генерирует Excel отчёты с цитатами и URL
|
|||
|
|
- Протестирован на 4 отелях Чукотки
|
|||
|
|
|
|||
|
|
✅ **Результаты тестов:**
|
|||
|
|
- Гостиница «Певек»: 4.36/18 (24.2%)
|
|||
|
|
- «Гостевой дом из бруса»: 3.16/18 (17.6%)
|
|||
|
|
- Отель "Чукотка": 2.64/18 (14.7%)
|
|||
|
|
- «База морских экспедиций Алеут»: 2.04/18 (11.3%)
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
### **3. ИНТЕГРАЦИЯ С n8n**
|
|||
|
|
|
|||
|
|
✅ **Созданы промпты для AI Agent:**
|
|||
|
|
- `prompt.txt` (21 KB) - полный детальный
|
|||
|
|
- `prompt_short.txt` (2.1 KB) - краткий
|
|||
|
|
- **`prompt_json.txt` (3.0 KB)** - **JSON формат (РЕКОМЕНДУЕТСЯ!)**
|
|||
|
|
|
|||
|
|
✅ **17 вопросов для аудита:**
|
|||
|
|
- `questions_17.txt` - текстовый формат
|
|||
|
|
- `questions_17.json` - JSON формат
|
|||
|
|
- **Критерий #6 (Роскомнадзор) проверяется отдельно!**
|
|||
|
|
|
|||
|
|
✅ **Code Nodes для n8n:**
|
|||
|
|
- `n8n_code_generate_questions.js` - генерирует 17 SQL запросов
|
|||
|
|
- `n8n_code_parse_json.js` - парсит JSON ответы от AI Agent
|
|||
|
|
- `n8n_code_check_regex.js` - проверяет регулярками
|
|||
|
|
- `n8n_code_natasha_ner.js` - вызывает Natasha NER API
|
|||
|
|
|
|||
|
|
✅ **Примеры и документация:**
|
|||
|
|
- `n8n_example_json.json` - примеры ответов
|
|||
|
|
- `N8N_SETUP.md` - инструкция по настройке
|
|||
|
|
- `N8N_FILES_SUMMARY.md` - полная сводка файлов
|
|||
|
|
- `N8N_HTTP_REQUEST_NATASHA.md` - настройка HTTP Request для Natasha
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
### **4. NATASHA NER API**
|
|||
|
|
|
|||
|
|
✅ **Создан FastAPI сервис:** `natasha_ner_api.py`
|
|||
|
|
- Порт: **8004**
|
|||
|
|
- Эндпоинты:
|
|||
|
|
- `GET /` - информация
|
|||
|
|
- `GET /health` - проверка здоровья
|
|||
|
|
- `POST /extract` - полное извлечение
|
|||
|
|
- `POST /extract_simple` - упрощённое (для n8n)
|
|||
|
|
|
|||
|
|
✅ **Запуск:**
|
|||
|
|
```bash
|
|||
|
|
cd /root/engine/public_oversight/hotels
|
|||
|
|
python3 -m uvicorn natasha_ner_api:app --host 0.0.0.0 --port 8004 --reload
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
✅ **Доступ из n8n:**
|
|||
|
|
- Локально: `http://localhost:8004`
|
|||
|
|
- Извне: `http://185.197.75.249:8004`
|
|||
|
|
|
|||
|
|
✅ **Примеры cURL:** `natasha_curl_example.sh`
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 🗄️ **БАЗА ДАННЫХ:**
|
|||
|
|
|
|||
|
|
### **PostgreSQL:**
|
|||
|
|
- Host: `147.45.189.234`
|
|||
|
|
- Port: `5432`
|
|||
|
|
- Database: `default_db`
|
|||
|
|
- User: `gen_user`
|
|||
|
|
- Password: `2~~9_^kVsU?2^S`
|
|||
|
|
|
|||
|
|
### **Таблицы:**
|
|||
|
|
|
|||
|
|
**1. `hotel_main`** - основная информация об отелях
|
|||
|
|
- `id` (UUID)
|
|||
|
|
- `full_name` (TEXT)
|
|||
|
|
- `region_name` (TEXT)
|
|||
|
|
|
|||
|
|
**2. `hotel_website_processed`** - обработанные страницы
|
|||
|
|
- `hotel_id` (UUID)
|
|||
|
|
- `cleaned_text` (TEXT)
|
|||
|
|
- `url` (TEXT)
|
|||
|
|
|
|||
|
|
**3. `hotel_website_chunks`** - chunks с эмбеддингами
|
|||
|
|
- `id` (UUID)
|
|||
|
|
- `text` (TEXT)
|
|||
|
|
- `metadata` (JSONB) - содержит `hotel_id`, `url`, `hotel_name`, `region_name`
|
|||
|
|
- `embedding` (vector 1024)
|
|||
|
|
|
|||
|
|
**4. `hotel_audit_results`** - результаты аудита
|
|||
|
|
- `hotel_id` (UUID)
|
|||
|
|
- `total_score` (FLOAT)
|
|||
|
|
- `criteria_results` (JSONB)
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 📊 **18 КРИТЕРИЕВ АУДИТА:**
|
|||
|
|
|
|||
|
|
1. Юридическая идентификация и верификация (ИНН, ОГРН)
|
|||
|
|
2. Адрес
|
|||
|
|
3. Контакты (телефон, email)
|
|||
|
|
4. Режим работы
|
|||
|
|
5. Политика ПДн (152-ФЗ)
|
|||
|
|
6. **Роскомнадзор (реестр)** ← проверяется отдельно!
|
|||
|
|
7. Договор-оферта / Правила оказания услуг
|
|||
|
|
8. Рекламации и споры
|
|||
|
|
9. Цены/прайс
|
|||
|
|
10. Способы оплаты
|
|||
|
|
11. Онлайн-оплата
|
|||
|
|
12. Онлайн-бронирование
|
|||
|
|
13. FAQ
|
|||
|
|
14. Доступность для ЛОВЗ
|
|||
|
|
15. Партнёры/бренды
|
|||
|
|
16. Команда/сотрудники
|
|||
|
|
17. Уголок потребителя
|
|||
|
|
18. Актуальность документов
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 🚀 **ЗАПУЩЕННЫЕ СЕРВИСЫ:**
|
|||
|
|
|
|||
|
|
### **1. Web Interface (продакшн):**
|
|||
|
|
- URL: `http://hotel.klientprav.tech`
|
|||
|
|
- Порт: 8000
|
|||
|
|
- Процесс: `python3 -m uvicorn web_interface:app --host 0.0.0.0 --port 8000 --reload`
|
|||
|
|
|
|||
|
|
### **2. Semantic Search API:**
|
|||
|
|
- URL: `http://localhost:8001`
|
|||
|
|
- Порт: 8001
|
|||
|
|
- Процесс: `python3 -m uvicorn semantic_search_api:app --host 0.0.0.0 --port 8001 --reload`
|
|||
|
|
|
|||
|
|
### **3. BGE-M3 Embedding API:**
|
|||
|
|
- URL: `http://147.45.146.17:8002`
|
|||
|
|
- API Key: `22564b177aa73b6ac0b8642d7773350ff4c01d4983f028beff15ea247f09fa89`
|
|||
|
|
|
|||
|
|
### **4. Natasha NER API:**
|
|||
|
|
- URL: `http://185.197.75.249:8004`
|
|||
|
|
- Порт: 8004
|
|||
|
|
- Процесс: `python3 -m uvicorn natasha_ner_api:app --host 0.0.0.0 --port 8004 --reload`
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 📁 **КЛЮЧЕВЫЕ ФАЙЛЫ:**
|
|||
|
|
|
|||
|
|
### **Скрипты:**
|
|||
|
|
- `process_all_hotels_embeddings.py` - обработка всех отелей в chunks
|
|||
|
|
- `check_progress.py` - мониторинг прогресса
|
|||
|
|
- `hybrid_audit_chukotka.py` - гибридный аудит
|
|||
|
|
- `semantic_audit_chukotka.py` - только семантический аудит
|
|||
|
|
- `test_comfort_hotel.py` - тест на отеле Комфорт
|
|||
|
|
|
|||
|
|
### **API сервисы:**
|
|||
|
|
- `semantic_search_api.py` - семантический поиск
|
|||
|
|
- `natasha_ner_api.py` - Natasha NER
|
|||
|
|
- `web_interface.py` - веб-интерфейс с чат-ботом
|
|||
|
|
|
|||
|
|
### **n8n интеграция:**
|
|||
|
|
- `prompt_json.txt` - промпт для AI Agent (JSON формат)
|
|||
|
|
- `questions_17.json` - 17 вопросов
|
|||
|
|
- `n8n_code_generate_questions.js` - генерация SQL запросов
|
|||
|
|
- `n8n_code_parse_json.js` - парсинг ответов AI Agent
|
|||
|
|
- `n8n_code_check_regex.js` - проверка регулярками
|
|||
|
|
- `n8n_code_natasha_ner.js` - вызов Natasha NER
|
|||
|
|
- `natasha_curl_example.sh` - примеры cURL
|
|||
|
|
|
|||
|
|
### **Документация:**
|
|||
|
|
- `N8N_SETUP.md` - настройка n8n
|
|||
|
|
- `N8N_FILES_SUMMARY.md` - сводка файлов
|
|||
|
|
- `N8N_HTTP_REQUEST_NATASHA.md` - настройка HTTP Request
|
|||
|
|
- `NATASHA_API_USAGE.md` - использование Natasha API
|
|||
|
|
- `QUICK_START.md` - быстрый старт проекта
|
|||
|
|
- `PROGRESS_STATUS.md` - статус проекта
|
|||
|
|
|
|||
|
|
### **Отчёты:**
|
|||
|
|
- `hybrid_audit_chukotka_20251013_162428.xlsx` - последний гибридный отчёт
|
|||
|
|
- `semantic_audit_chukotka_20251013_141737.xlsx` - семантический отчёт
|
|||
|
|
- `audit_Чукотский_автономный_округ_20251012_121144.xlsx` - старый отчёт
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 🔄 **WORKFLOW В n8n:**
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
┌─────────────────────────────┐
|
|||
|
|
│ 1. Start (hotel_id) │
|
|||
|
|
└──────────────┬──────────────┘
|
|||
|
|
↓
|
|||
|
|
┌─────────────────────────────┐
|
|||
|
|
│ 2. Code: Generate 17 SQL │ ← n8n_code_generate_questions.js
|
|||
|
|
└──────────────┬──────────────┘
|
|||
|
|
↓
|
|||
|
|
┌─────────────────────────────┐
|
|||
|
|
│ 3. Loop Over Items (17x) │
|
|||
|
|
└──────────────┬──────────────┘
|
|||
|
|
↓
|
|||
|
|
┌─────────────────────────────┐
|
|||
|
|
│ 4. PostgreSQL: Regex Search │ ← Ищет в hotel_website_processed
|
|||
|
|
│ (с агрегацией GROUP BY) │
|
|||
|
|
└──────────────┬──────────────┘
|
|||
|
|
↓
|
|||
|
|
┌─────────────────────────────┐
|
|||
|
|
│ 5. Code: Process Results │ ← Обрабатывает пустые результаты
|
|||
|
|
└──────────────┬──────────────┘
|
|||
|
|
↓
|
|||
|
|
┌─────────────────────────────┐
|
|||
|
|
│ 6. HTTP Request: Natasha │ ← http://185.197.75.249:8004
|
|||
|
|
│ (только для критериев │ /extract_simple
|
|||
|
|
│ 1 и 2) │
|
|||
|
|
└──────────────┬──────────────┘
|
|||
|
|
↓
|
|||
|
|
┌─────────────────────────────┐
|
|||
|
|
│ 7. Code: Combine Scores │ ← final_score = MAX(regex, ner)
|
|||
|
|
└──────────────┬──────────────┘
|
|||
|
|
↓
|
|||
|
|
┌─────────────────────────────┐
|
|||
|
|
│ 8. Aggregate (17 → 1) │
|
|||
|
|
└──────────────┬──────────────┘
|
|||
|
|
↓
|
|||
|
|
┌─────────────────────────────┐
|
|||
|
|
│ 9. PostgreSQL: Save Results │
|
|||
|
|
└─────────────────────────────┘
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 🧪 **РЕЗУЛЬТАТЫ ТЕСТОВ:**
|
|||
|
|
|
|||
|
|
### **Тест 1: Семантический аудит Чукотки**
|
|||
|
|
```
|
|||
|
|
Гостиница «Певек»: 10.50/18 (58.3%)
|
|||
|
|
«Гостевой дом из бруса»: 8.60/18 (47.8%)
|
|||
|
|
Отель "Чукотка": 7.40/18 (41.1%)
|
|||
|
|
«База морских экспедиций Алеут»: 2.00/18 (11.1%)
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### **Тест 2: Гибридный аудит Чукотки**
|
|||
|
|
```
|
|||
|
|
Гостиница «Певек»: 4.36/18 (24.2%)
|
|||
|
|
«Гостевой дом из бруса»: 3.16/18 (17.6%)
|
|||
|
|
Отель "Чукотка": 2.64/18 (14.7%)
|
|||
|
|
«База морских экспедиций Алеут»: 2.04/18 (11.3%)
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### **Тест 3: Отель "Комфорт" (Камчатка)**
|
|||
|
|
```
|
|||
|
|
n8n AI Agent: 6.0/17 (35.3%)
|
|||
|
|
Регулярки: 5.0/17 (29.4%)
|
|||
|
|
Разница: AI лучше на 1.0 балл
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**Вывод:** Гибридный подход (AI + Regex + NER) даёт лучшие результаты!
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 🔧 **ТЕХНИЧЕСКИЙ СТЕК:**
|
|||
|
|
|
|||
|
|
### **Backend:**
|
|||
|
|
- Python 3.12
|
|||
|
|
- FastAPI
|
|||
|
|
- PostgreSQL 14+ с pgvector
|
|||
|
|
- psycopg2
|
|||
|
|
- Sentence Transformers (BGE-M3)
|
|||
|
|
- Natasha (NER)
|
|||
|
|
|
|||
|
|
### **Frontend:**
|
|||
|
|
- HTML/CSS/JavaScript
|
|||
|
|
- Веб-интерфейс на FastAPI
|
|||
|
|
|
|||
|
|
### **Automation:**
|
|||
|
|
- n8n (workflow automation)
|
|||
|
|
- Ollama (LLM для AI Agent)
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 📝 **ВАЖНЫЕ КОМАНДЫ:**
|
|||
|
|
|
|||
|
|
### **Запуск сервисов:**
|
|||
|
|
```bash
|
|||
|
|
# Web Interface (продакшн)
|
|||
|
|
cd /root/engine/public_oversight/hotels
|
|||
|
|
python3 -m uvicorn web_interface:app --host 0.0.0.0 --port 8000 --reload
|
|||
|
|
|
|||
|
|
# Semantic Search API
|
|||
|
|
python3 -m uvicorn semantic_search_api:app --host 0.0.0.0 --port 8001 --reload
|
|||
|
|
|
|||
|
|
# Natasha NER API
|
|||
|
|
python3 -m uvicorn natasha_ner_api:app --host 0.0.0.0 --port 8004 --reload
|
|||
|
|
|
|||
|
|
# Обработка эмбеддингов (фоновый процесс)
|
|||
|
|
nohup python3 process_all_hotels_embeddings.py > embeddings_processing.log 2>&1 &
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### **Мониторинг:**
|
|||
|
|
```bash
|
|||
|
|
# Проверка прогресса эмбеддингов
|
|||
|
|
python3 check_progress.py
|
|||
|
|
|
|||
|
|
# Проверка запущенных процессов
|
|||
|
|
ps aux | grep uvicorn
|
|||
|
|
ps aux | grep python3
|
|||
|
|
|
|||
|
|
# Логи
|
|||
|
|
tail -f embeddings_processing.log
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### **Тестирование:**
|
|||
|
|
```bash
|
|||
|
|
# Гибридный аудит Чукотки
|
|||
|
|
python3 hybrid_audit_chukotka.py
|
|||
|
|
|
|||
|
|
# Тест отеля Комфорт
|
|||
|
|
python3 test_comfort_hotel.py
|
|||
|
|
|
|||
|
|
# Проверка Natasha API
|
|||
|
|
curl http://localhost:8004/health
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 🌐 **ДОСТУП К СЕРВИСАМ:**
|
|||
|
|
|
|||
|
|
### **Из локальной сети:**
|
|||
|
|
- Web Interface: `http://185.197.75.249:8000`
|
|||
|
|
- Semantic Search: `http://185.197.75.249:8001`
|
|||
|
|
- Natasha NER: `http://185.197.75.249:8004`
|
|||
|
|
|
|||
|
|
### **Из интернета:**
|
|||
|
|
- Продакшн: `http://hotel.klientprav.tech`
|
|||
|
|
|
|||
|
|
### **SSH доступ:**
|
|||
|
|
```bash
|
|||
|
|
ssh root@185.197.75.249
|
|||
|
|
cd /root/engine/public_oversight/hotels
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 📊 **СТАТИСТИКА:**
|
|||
|
|
|
|||
|
|
### **База данных:**
|
|||
|
|
- Всего отелей: **116**
|
|||
|
|
- Всего страниц: **52,702**
|
|||
|
|
- Обработано отелей: **64**
|
|||
|
|
- Всего chunks: **52,334**
|
|||
|
|
- Осталось обработать: **52 отеля**
|
|||
|
|
|
|||
|
|
### **Регионы:**
|
|||
|
|
- Всего регионов с эмбеддингами: **зависит от обработки**
|
|||
|
|
- Протестированы: Чукотский АО, Камчатский край
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 🎯 **СЛЕДУЮЩИЕ ШАГИ:**
|
|||
|
|
|
|||
|
|
### **1. Завершить обработку эмбеддингов:**
|
|||
|
|
```bash
|
|||
|
|
# Продолжить обработку оставшихся 52 отелей
|
|||
|
|
python3 process_all_hotels_embeddings.py
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### **2. Настроить n8n workflow:**
|
|||
|
|
- Импортировать промпт из `prompt_json.txt`
|
|||
|
|
- Настроить Loop с 17 вопросами
|
|||
|
|
- Подключить PostgreSQL для регулярок
|
|||
|
|
- Добавить HTTP Request для Natasha NER
|
|||
|
|
|
|||
|
|
### **3. Открыть порт 8004 для Natasha API:**
|
|||
|
|
```bash
|
|||
|
|
sudo ufw allow 8004/tcp
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### **4. Масштабировать на все регионы:**
|
|||
|
|
- Запустить аудит для всех 116 отелей
|
|||
|
|
- Сгенерировать отчёты по регионам
|
|||
|
|
- Сохранить результаты в БД
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 🐛 **ИЗВЕСТНЫЕ ПРОБЛЕМЫ:**
|
|||
|
|
|
|||
|
|
1. **API таймауты:** Решено через retry логику и уменьшение batch size
|
|||
|
|
2. **Дубли в PostgreSQL результатах:** Решено через `GROUP BY` и агрегацию
|
|||
|
|
3. **n8n AI Agent не всегда ищет в базе:** Решено через улучшенный промпт
|
|||
|
|
4. **Регулярки `\b` не работают в PostgreSQL:** Заменены на `\y` или убраны
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 📞 **КОНТАКТЫ И ССЫЛКИ:**
|
|||
|
|
|
|||
|
|
- **BGE-M3 API:** `http://147.45.146.17:8002/docs`
|
|||
|
|
- **Graphiti API:** `http://185.197.75.249:9100/docs` (не используется для аудита)
|
|||
|
|
- **Продакшн:** `http://hotel.klientprav.tech`
|
|||
|
|
- **Сервер:** `185.197.75.249`
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 💾 **BACKUP И ВОССТАНОВЛЕНИЕ:**
|
|||
|
|
|
|||
|
|
### **Важные файлы для бэкапа:**
|
|||
|
|
```bash
|
|||
|
|
# Конфигурация
|
|||
|
|
.env
|
|||
|
|
|
|||
|
|
# Скрипты
|
|||
|
|
process_all_hotels_embeddings.py
|
|||
|
|
hybrid_audit_chukotka.py
|
|||
|
|
semantic_search_api.py
|
|||
|
|
natasha_ner_api.py
|
|||
|
|
web_interface.py
|
|||
|
|
|
|||
|
|
# n8n интеграция
|
|||
|
|
prompt_json.txt
|
|||
|
|
questions_17.json
|
|||
|
|
n8n_code_*.js
|
|||
|
|
|
|||
|
|
# Документация
|
|||
|
|
*.md
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### **Восстановление сессии:**
|
|||
|
|
1. SSH на сервер: `ssh root@185.197.75.249`
|
|||
|
|
2. Перейти в проект: `cd /root/engine/public_oversight/hotels`
|
|||
|
|
3. Проверить сервисы: `ps aux | grep uvicorn`
|
|||
|
|
4. Запустить недостающие сервисы (см. "Запуск сервисов")
|
|||
|
|
5. Проверить прогресс: `python3 check_progress.py`
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 🎉 **ДОСТИЖЕНИЯ:**
|
|||
|
|
|
|||
|
|
✅ Создана система семантического поиска с BGE-M3
|
|||
|
|
✅ Интегрирована Natasha NER для извлечения сущностей
|
|||
|
|
✅ Создан гибридный аудит (3 метода)
|
|||
|
|
✅ Подготовлена полная интеграция с n8n
|
|||
|
|
✅ Развёрнуто в продакшене
|
|||
|
|
✅ Протестировано на реальных отелях
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
**Дата создания:** 13 октября 2025
|
|||
|
|
**Автор:** AI Assistant + Фёдор
|
|||
|
|
**Версия:** 1.0
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|