- Краулеры: 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
4.4 KiB
4.4 KiB
✅ 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":
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 на:
{
"text": "{{ $json.quote }}",
"max_length": 5000
}
Где {{ $json.quote }} - текст из предыдущей ноды.
🧪 РЕЗУЛЬТАТ ТЕСТА (13.10.2025 19:52)
Запрос:
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}'
Ответ:
{
"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
- Открой Swagger UI
- Нажми 🔒 "Authorize"
- Введи ключ
- Тестируй прямо в браузере!
🔧 УПРАВЛЕНИЕ
Проверка статуса:
curl http://185.197.75.249:8004/health
Перезапуск API:
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 &
Логи:
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