✨ Major Features: - Complete RAG system for hotel website analysis - Hybrid audit with BGE-M3 embeddings + Natasha NER - Universal horizontal Excel reports with dashboards - Multi-region processing (SPb, Orel, Chukotka, Kamchatka) 📊 Completed Regions: - Орловская область: 100% (36/36) - Чукотский АО: 100% (4/4) - г. Санкт-Петербург: 93% (893/960) - Камчатский край: 87% (89/102) 🔧 Infrastructure: - PostgreSQL with pgvector extension - BGE-M3 embeddings API - Browserless for web scraping - N8N workflows for automation - S3/Nextcloud file storage 📝 Documentation: - Complete DB schemas - API documentation - Setup guides - Status reports
123 lines
9.5 KiB
Plaintext
123 lines
9.5 KiB
Plaintext
═══════════════════════════════════════════════════════════════════════════
|
||
✅ NATASHA NER API - ГОТОВ К ИСПОЛЬЗОВАНИЮ В n8n
|
||
═══════════════════════════════════════════════════════════════════════════
|
||
|
||
📅 Дата: 13 октября 2025, 19:45
|
||
👤 Для: Фёдор
|
||
🎯 Цель: Интеграция в n8n HTTP Request Node
|
||
|
||
───────────────────────────────────────────────────────────────────────────
|
||
✅ ТЕСТЫ ПРОЙДЕНЫ
|
||
───────────────────────────────────────────────────────────────────────────
|
||
|
||
✅ API работает по внешнему IP: http://185.197.75.249:8004
|
||
✅ Время отклика: 87ms (очень быстро!)
|
||
✅ Извлекает: организации, адреса, имена
|
||
✅ Формат ответа: JSON
|
||
✅ Готов для импорта в n8n
|
||
|
||
───────────────────────────────────────────────────────────────────────────
|
||
🚀 БЫСТРЫЙ СТАРТ - СКОПИРУЙ ЭТО В n8n
|
||
───────────────────────────────────────────────────────────────────────────
|
||
|
||
1. Добавь HTTP Request Node
|
||
2. Нажми "Import from cURL"
|
||
3. Вставь это:
|
||
|
||
curl -X POST 'http://185.197.75.249:8004/extract_simple' -H 'Content-Type: application/json' -H 'Accept: application/json' -d '{"text":"ИП Фролов С.А. находится по адресу г. Петропавловск-Камчатский, ул. Пограничная 39/1. Директор Иван Петров. ИНН: 8707003759, ОГРН: 1028700516476.","max_length":5000}'
|
||
|
||
4. n8n автоматически всё настроит ✅
|
||
|
||
───────────────────────────────────────────────────────────────────────────
|
||
🔥 ГЛАВНЫЙ cURL (ПРОТЕСТИРОВАН)
|
||
───────────────────────────────────────────────────────────────────────────
|
||
|
||
curl -X POST 'http://185.197.75.249:8004/extract_simple' -H 'Content-Type: application/json' -H 'Accept: application/json' -d '{"text":"ИП Фролов С.А. находится по адресу г. Петропавловск-Камчатский, ул. Пограничная 39/1. Директор Иван Петров. ИНН: 8707003759, ОГРН: 1028700516476.","max_length":5000}'
|
||
|
||
───────────────────────────────────────────────────────────────────────────
|
||
✅ РЕАЛЬНЫЙ ОТВЕТ (13.10.2025 19:45)
|
||
───────────────────────────────────────────────────────────────────────────
|
||
|
||
{
|
||
"organizations": ["ИП"],
|
||
"persons": ["Иван Петров", "Фролов С.А."],
|
||
"locations": ["Петропавловск-Камчатский"],
|
||
"has_organizations": true,
|
||
"has_persons": true,
|
||
"has_locations": true,
|
||
"total": 4
|
||
}
|
||
|
||
───────────────────────────────────────────────────────────────────────────
|
||
🔧 ДЛЯ ДИНАМИЧЕСКИХ ДАННЫХ ИЗ ПРЕДЫДУЩЕЙ НОДЫ
|
||
───────────────────────────────────────────────────────────────────────────
|
||
|
||
После импорта cURL измени Body на:
|
||
|
||
{
|
||
"text": "{{ $json.quote }}",
|
||
"max_length": 5000
|
||
}
|
||
|
||
Где {{ $json.quote }} - текст из предыдущей ноды
|
||
|
||
───────────────────────────────────────────────────────────────────────────
|
||
📊 ХАРАКТЕРИСТИКИ
|
||
───────────────────────────────────────────────────────────────────────────
|
||
|
||
URL: http://185.197.75.249:8004/extract_simple
|
||
Метод: POST
|
||
Формат: JSON
|
||
Время отклика: ~87ms
|
||
Лимит текста: 5000 символов
|
||
Извлекает: ORG (организации), PER (люди), LOC (адреса)
|
||
|
||
───────────────────────────────────────────────────────────────────────────
|
||
🎯 ДЛЯ КАКИХ КРИТЕРИЕВ ИСПОЛЬЗОВАТЬ
|
||
───────────────────────────────────────────────────────────────────────────
|
||
|
||
Критерий 1 (ИНН/ОГРН):
|
||
→ Проверяй has_organizations == true
|
||
→ organizations содержит: ["ИП", "ООО", "АО", "ОАО", ...]
|
||
|
||
Критерий 2 (Адрес):
|
||
→ Проверяй has_locations == true
|
||
→ locations содержит: ["Москва", "Петропавловск-Камчатский", ...]
|
||
|
||
───────────────────────────────────────────────────────────────────────────
|
||
📚 ДОПОЛНИТЕЛЬНЫЕ ФАЙЛЫ
|
||
───────────────────────────────────────────────────────────────────────────
|
||
|
||
✅ NATASHA_READY_CURL.txt - Все cURL команды
|
||
✅ N8N_NATASHA_CURL_IMPORT.md - Полная документация
|
||
✅ natasha_ner_api.py - Исходный код API
|
||
✅ N8N_HTTP_REQUEST_NATASHA.md - Настройка HTTP Request Node
|
||
|
||
───────────────────────────────────────────────────────────────────────────
|
||
🧪 БЫСТРЫЙ ТЕСТ (скопируй в терминал)
|
||
───────────────────────────────────────────────────────────────────────────
|
||
|
||
curl http://185.197.75.249:8004/health
|
||
|
||
Ожидается: {"status":"healthy","natasha":"ready"}
|
||
|
||
───────────────────────────────────────────────────────────────────────────
|
||
🔥 ГОТОВЫЕ ПРИМЕРЫ ДЛЯ РАЗНЫХ КЕЙСОВ
|
||
───────────────────────────────────────────────────────────────────────────
|
||
|
||
# Проверка здоровья
|
||
curl -X GET 'http://185.197.75.249:8004/health' -H 'Accept: application/json'
|
||
|
||
# Извлечение организации (критерий 1)
|
||
curl -X POST 'http://185.197.75.249:8004/extract_simple' -H 'Content-Type: application/json' -d '{"text":"ООО Рога и Копыта. ИНН: 8707003759","max_length":5000}'
|
||
|
||
# Извлечение адреса (критерий 2)
|
||
curl -X POST 'http://185.197.75.249:8004/extract_simple' -H 'Content-Type: application/json' -d '{"text":"Юридический адрес: 689400, г. Певек, ул. Пугачева, 42","max_length":5000}'
|
||
|
||
───────────────────────────────────────────────────────────────────────────
|
||
✅ ВСЁ ГОТОВО! МОЖНО ИМПОРТИРОВАТЬ В n8n
|
||
───────────────────────────────────────────────────────────────────────────
|
||
|
||
Просто скопируй главный cURL выше и вставь в "Import from cURL" в n8n!
|
||
|