Все ноды/AI/RAG
Переранжирование
Переранжирует список чанков по релевантности к запросу через cross-encoder reranker. Универсально: композируется с RAG Query, RRF Fusion или любым источником чанков.
Тип в графе: rerank
Exec
Можно включить ветку ошибки (expose_error_output) и обработать сбой отдельным путём.
Порты можно разделить на исполнение и данные (split ports).
Как попробовать
Минимальный рабочий воркфлоу
- Исполнение + данные
- Реранкер
Запускается сразу
Как применять
Векторный поиск ранжирует по близости эмбеддингов и на этом останавливается. Реранкер — cross-encoder: он читает запрос и каждый документ вместе и оценивает совпадение куда точнее, но за отдельный вызов. Отсюда рабочая связка: поднимите Top K у RAG-запроса до 15–20, а сюда поставьте Top N 5 — модель получит короткий и заметно более чистый контекст.
Ноду легко перепутать с RRF-слиянием: то склеивает несколько списков по позициям и без модели, эта переоценивает один список моделью. Они складываются: сначала слить ветки, потом переранжировать результат.
Как это работает
Порт Chunks приносит и запуск, и кандидатов. Он принимает вывод RAG-запроса или RRF-слияния целиком, голый список чанков и даже одиночный чанк; всё, что на чанки не похоже, превращается в пустой список.
Запрос берётся с порта Query или из поля «Запрос». Модель и Top N приезжают с порта Reranker от ноды Реранкер и перекрывают поля формы.
Выход устроен так же, как у RAG-запроса: context (склеенные тексты, при формате json —
сериализованный массив), chunks и query. Поле score в чанках заменяется оценкой реранкера,
а сортировку и обрезку по Top N Flow применяет сам, уже после ответа провайдера, — поставщики
называют этот параметр по-разному, а у самостоятельно поднятого реранкера его может не быть вовсе.
Оплата идёт по токенам, и cross-encoder читает запрос вместе с каждым кандидатом. Поэтому счёт растёт от того, сколько чанков вы прислали, а не от того, сколько оставили.
Частые ошибки
- Пустой запрос. Это ошибка, а не тихий пропуск: ранжировать «ни по чему» — не ранжировать.
Шаблон по умолчанию
{{ inputs.query }}читает порт Query; если он не подключён, подставьте запрос явно, например{{ nodes.<id>.output.query }}от предыдущей ноды поиска. - Пустой список кандидатов. Наоборот, не ошибка: наверху ничего не нашлось, нода вернёт пустой контекст и оставит предупреждение в логе запуска.
- Ожидание, что нода найдёт документы. Она только переупорядочивает то, что пришло: сколько кандидатов достать — это Top K на ноде поиска.
- Поиск модели в списке LLM. Реранкеры — отдельный каталог; сюда попадают только они и модели ваших подключений с назначением «Rerank».
Входы
| Порт | Провод | Данные | Примечания |
|---|---|---|---|
Chunkschunks | Исполнение + данныеexecute_data | — | Candidate chunks to reorder (rag_query / rrf_fusion output) |
Queryquery | Данныеdata | — | Relevance criterion; replaces the Query template when connected |
Rerankerrerank_config | Реранкерlink_rerank | — | Reranker node config; its model and top_n override the fields here |
Выходы
| Порт | Провод | Данные | Примечания |
|---|---|---|---|
Contextoutput | Исполнение + данныеexecute_data | object |
Настройки
| Поле | Тип | По умолчанию | Описание |
|---|---|---|---|
Запросquery_template | string | {{inputs.query}} | Запрос, используемый для оценки релевантности. Поддерживает {{inputs.query}}. поддерживает шаблоны |
Модель rerankmodel | string | "" | Cross-encoder-модель, которой считаются оценки. Подключённая конфиг-нода Reranker задаёт это значение и перекрывает поле. перекрывается портом: rerank_config |
Top Ntop_n | integer | 5 | Сколько лучших результатов оставить после реранжирования. Подключённая конфиг-нода Reranker задаёт это значение и перекрывает поле. перекрывается портом: rerank_config |
Формат выводаformat | string | text | text: чанки, объединённые через ---. json: массив с метаданными. Варианты: |
Общие поля
Эти три поля есть у каждой ноды: платформа добавляет их сама, а не автор ноды.
expose_error_output— Если включено, показывает выход выполнения для подключения нод, которые запускаются при сбое этого шага.split_ports_in— Показывать отдельные порты входа для выполнения и данных вместо одного объединённого.split_ports_out— Показывать отдельные порты выхода для выполнения и данных вместо одного объединённого.