- Обновлён Code1: нормализация данных из give_data1 с поддержкой payload.applicant, ai_analysis, wizard_plan - Обновлён Code6: генерация промптов для RAG (user, project, offenders) - Добавлена документация по настройке n8n нод для OCR статуса - Добавлен эндпоинт check-ocr-status в documents.py - Добавлен лог сессии с полным описанием workflow Workflow itX62h38faB51y9J успешно извлекает: - Данные пользователя (ФИО, контакты, адрес) - Данные проекта (сумма, предмет, даты договора) - Несколько контрагентов с разными ролями (seller, service_provider)
2.8 KiB
2.8 KiB
Настройка OCR Status Tracking в n8n
Шаги для добавления нод в workflow fnSo3FTTbQcMjwt3
1. Открой workflow в n8n
https://n8n.clientright.pro/workflow/fnSo3FTTbQcMjwt3
2. Добавь ноды в следующем порядке:
Нода 1: update_ocr_status (PostgreSQL)
Расположение: После Postgres PGVector Store1
Позиция: [3850, 1664]
SQL запрос:
UPDATE clpr_claim_documents
SET
ocr_status = 'ready',
ocr_processed_at = NOW()
WHERE id = '{{ $('files').item.json.claim_document_id }}'::uuid
RETURNING
id AS doc_id,
claim_id,
ocr_status,
(SELECT COUNT(*) FROM clpr_claim_documents WHERE claim_id = clpr_claim_documents.claim_id) AS total_docs,
(SELECT COUNT(*) FROM clpr_claim_documents WHERE claim_id = clpr_claim_documents.claim_id AND ocr_status = 'ready') AS ready_docs;
Credentials: timeweb_bd (Postgres account 2)
Нода 2: redis_incr_ready (Redis)
Расположение: После update_ocr_status
Позиция: [4100, 1664]
Параметры:
- Operation:
incr - Key:
claim:ocr:ready:{{ $json.claim_id }}
Credentials: Redis account
Нода 3: check_all_ready (IF)
Расположение: После redis_incr_ready
Позиция: [4350, 1664]
Условие:
{{ $('update_ocr_status').item.json.total_docs }} == {{ $('update_ocr_status').item.json.ready_docs }}
Нода 4: publish_docs_ready (Redis)
Расположение: TRUE выход из check_all_ready
Позиция: [4600, 1550]
Параметры:
- Operation:
publish - Channel:
clpr:claim:docs_ready - Message:
{{ JSON.stringify({
claim_id: $('update_ocr_status').item.json.claim_id,
total_docs: $('update_ocr_status').item.json.total_docs,
ready_docs: $('update_ocr_status').item.json.ready_docs,
timestamp: new Date().toISOString()
}) }}
Credentials: Redis account
3. Соединения (Connections)
Postgres PGVector Store1 → update_ocr_status
update_ocr_status → redis_incr_ready
redis_incr_ready → check_all_ready
check_all_ready (TRUE) → publish_docs_ready
check_all_ready (FALSE) → (конец)
4. Сохрани и активируй workflow
Проверка
После добавления нод, при обработке документа:
- Статус в
clpr_claim_documents.ocr_statusбудет меняться на'ready' - Счётчик в Redis
claim:ocr:ready:{claim_id}будет инкрементиться - Когда все документы готовы, событие
clpr:claim:docs_readyбудет опубликовано в Redis