- Краулеры: smart_crawler.py, regional_crawler.py - Аудит: audit_orel_to_excel.py, audit_chukotka_to_excel.py - РКН проверка: check_rkn_registry.py, recheck_unclear_rkn.py - Отчёты: create_orel_horizontal_report.py - Обработка: process_all_hotels_embeddings.py - Документация: README.md, DB_SCHEMA_REFERENCE.md
163 lines
4.4 KiB
Markdown
163 lines
4.4 KiB
Markdown
# ✅ NATASHA NER API - ГОТОВО К РАБОТЕ
|
||
|
||
**Дата:** 13 октября 2025, 19:52
|
||
**Статус:** 🟢 Работает с защитой API ключом
|
||
**Версия:** 1.1.0
|
||
|
||
---
|
||
|
||
## 🎯 ЧТО СДЕЛАНО
|
||
|
||
✅ Создан Natasha NER API на FastAPI
|
||
✅ Добавлена защита через API ключ (X-API-Key)
|
||
✅ API работает по внешнему IP: `http://185.197.75.249:8004`
|
||
✅ Протестировано на реальных данных
|
||
✅ Время отклика: ~70ms (очень быстро!)
|
||
✅ Готовые cURL для импорта в n8n
|
||
|
||
---
|
||
|
||
## 🔑 API КЛЮЧ
|
||
|
||
```
|
||
CH2BAYBYGYDDSWpaEd_CvJrH04DoVSGtZi_mah2nXbw
|
||
```
|
||
|
||
⚠️ **ХРАНИ В СЕКРЕТЕ!**
|
||
|
||
---
|
||
|
||
## 🚀 ГЛАВНЫЙ cURL ДЛЯ n8n
|
||
|
||
**Скопируй это и вставь в "Import from cURL":**
|
||
|
||
```bash
|
||
curl -X POST 'http://185.197.75.249:8004/extract_simple' -H 'Content-Type: application/json' -H 'X-API-Key: CH2BAYBYGYDDSWpaEd_CvJrH04DoVSGtZi_mah2nXbw' -d '{"text":"ИП Фролов С.А. находится по адресу г. Петропавловск-Камчатский, ул. Пограничная 39/1.","max_length":5000}'
|
||
```
|
||
|
||
---
|
||
|
||
## 📋 ДЛЯ ДИНАМИЧЕСКИХ ДАННЫХ В n8n
|
||
|
||
После импорта cURL измени Body на:
|
||
|
||
```json
|
||
{
|
||
"text": "{{ $json.quote }}",
|
||
"max_length": 5000
|
||
}
|
||
```
|
||
|
||
Где `{{ $json.quote }}` - текст из предыдущей ноды.
|
||
|
||
---
|
||
|
||
## 🧪 РЕЗУЛЬТАТ ТЕСТА (13.10.2025 19:52)
|
||
|
||
**Запрос:**
|
||
```bash
|
||
curl -X POST 'http://185.197.75.249:8004/extract_simple' \
|
||
-H 'X-API-Key: CH2BAYBYGYDDSWpaEd_CvJrH04DoVSGtZi_mah2nXbw' \
|
||
-H 'Content-Type: application/json' \
|
||
-d '{"text":"ИП Фролов С.А. находится по адресу г. Петропавловск-Камчатский, ул. Пограничная 39/1.","max_length":5000}'
|
||
```
|
||
|
||
**Ответ:**
|
||
```json
|
||
{
|
||
"organizations": ["ИП"],
|
||
"persons": ["Фролов С.А."],
|
||
"locations": ["Петропавловск-Камчатский"],
|
||
"has_organizations": true,
|
||
"has_persons": true,
|
||
"has_locations": true,
|
||
"total": 3
|
||
}
|
||
```
|
||
|
||
**Время отклика:** 69ms ⚡
|
||
|
||
---
|
||
|
||
## 🔒 БЕЗОПАСНОСТЬ
|
||
|
||
| Эндпоинт | Защита | Описание |
|
||
|----------|--------|----------|
|
||
| `/health` | ❌ Без ключа | Проверка здоровья (для мониторинга) |
|
||
| `/extract` | ✅ С ключом | Полное извлечение с позициями |
|
||
| `/extract_simple` | ✅ С ключом | Упрощённое (для n8n) |
|
||
|
||
**Без ключа:**
|
||
```
|
||
401 Unauthorized
|
||
{"detail": "Неверный или отсутствующий API ключ..."}
|
||
```
|
||
|
||
---
|
||
|
||
## 📊 ДЛЯ КАКИХ КРИТЕРИЕВ ИСПОЛЬЗОВАТЬ
|
||
|
||
### Критерий 1: ИНН/ОГРН (Юридическая идентификация)
|
||
- Проверяй: `has_organizations == true`
|
||
- Извлекает: `["ИП", "ООО", "АО", ...]`
|
||
|
||
### Критерий 2: Адрес
|
||
- Проверяй: `has_locations == true`
|
||
- Извлекает: `["Москва", "Петропавловск-Камчатский", ...]`
|
||
|
||
---
|
||
|
||
## 📚 ДОКУМЕНТАЦИЯ
|
||
|
||
### Файлы:
|
||
- ✅ `API_KEY.txt` - Краткая шпаргалка с ключом
|
||
- ✅ `NATASHA_API_KEY.txt` - Полная документация
|
||
- ✅ `N8N_NATASHA_CURL_IMPORT.md` - Детальная инструкция
|
||
- ✅ `natasha_ner_api.py` - Исходный код API
|
||
|
||
### Swagger UI:
|
||
```
|
||
http://185.197.75.249:8004/docs
|
||
```
|
||
|
||
1. Открой Swagger UI
|
||
2. Нажми 🔒 "Authorize"
|
||
3. Введи ключ
|
||
4. Тестируй прямо в браузере!
|
||
|
||
---
|
||
|
||
## 🔧 УПРАВЛЕНИЕ
|
||
|
||
### Проверка статуса:
|
||
```bash
|
||
curl http://185.197.75.249:8004/health
|
||
```
|
||
|
||
### Перезапуск API:
|
||
```bash
|
||
pkill -f natasha_ner_api
|
||
cd /root/engine/public_oversight/hotels
|
||
nohup python3 -m uvicorn natasha_ner_api:app --host 0.0.0.0 --port 8004 --reload > natasha_api.log 2>&1 &
|
||
```
|
||
|
||
### Логи:
|
||
```bash
|
||
tail -f /root/engine/public_oversight/hotels/natasha_api.log
|
||
```
|
||
|
||
---
|
||
|
||
## 🎉 ГОТОВО!
|
||
|
||
**Natasha NER API полностью готов к использованию в n8n!**
|
||
|
||
Просто скопируй главный cURL выше и импортируй в HTTP Request Node. 🚀
|
||
|
||
---
|
||
|
||
**Автор:** AI Assistant + Фёдор
|
||
**Проверено:** 13 октября 2025, 19:52
|
||
**API:** http://185.197.75.249:8004
|
||
|