Files
hotels/ГОТОВО_NATASHA_API.md
Фёдор 0cf3297290 Проект аудита отелей: основные скрипты и документация
- Краулеры: 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
2025-10-16 10:52:09 +03:00

4.4 KiB
Raw Blame History

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
  1. Открой Swagger UI
  2. Нажми 🔒 "Authorize"
  3. Введи ключ
  4. Тестируй прямо в браузере!

🔧 УПРАВЛЕНИЕ

Проверка статуса:

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