Files
hotels/ГОТОВО_NATASHA_API.md

163 lines
4.4 KiB
Markdown
Raw Normal View 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":**
```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