Все ноды/AI/RAG

Эмбеддинг текста

Вычисляет вектор-эмбеддинг для входного текста. Модель берётся из подключённой Embedding-ноды или из inline-настройки. Вектор можно подать в RAG Query (поиск по готовому вектору) или использовать в любом пайплайне.

Эмбеддинг текста
TextEmbedding
Embedding

Тип в графе: embed_text

Exec

Можно включить ветку ошибки (expose_error_output) и обработать сбой отдельным путём.

Порты можно разделить на исполнение и данные (split ports).

Как попробовать

Минимальный рабочий воркфлоу

Вход
Эмбеддинг текста
Модель эмбеддингов
Выход
  • Исполнение + данные
  • Эмбеддинги
Нажмите «Скопировать ноды», откройте редактор и нажмите Ctrl+V на холсте.

Запускается сразу

Как применять

Берите эту ноду, когда вам нужен сам вектор — числа, а не найденные документы. Для обычного поиска по базе она не нужна: RAG-запрос эмбеддит запрос сам.

Два повода её поставить. Первый — один и тот же запрос ищется в нескольких базах: вектор считается один раз и подаётся в порт «Embedding» каждого RAG-запроса, вместо того чтобы платить за эмбеддинг на каждом из них. Второй — вектор нужен вне поиска: сравнить два текста в JS-коде, сложить в коллекцию, отдать во внешний сервис.

Как это работает

Порт Text приносит и запуск ноды, и текст. Когда в него приходит только исполнение, текст берётся из поля «Текст» — шаблон вроде {{ inputs.text }} или {{ nodes.x.output.text }}. Отдельного входа запуска у ноды нет.

Модель приезжает с порта Embedding от ноды Модель эмбеддингов и перекрывает поле в форме; если конфиг-ноды нет, работает поле. Не задано ни там, ни там — нода падает с ошибкой.

На выходе объект: embedding (массив чисел), dim (длина вектора) и model (чем считали). В шаблонах обращайтесь к нужному полю — {{ nodes.<id>.output.dim }}; весь объект целиком в промпт класть незачем, это сотни чисел.

Токены эмбеддинга учитываются как чтение и списываются с баланса. Если модель приехала из вашего собственного подключения, платформа их не тарифицирует.

Частые ошибки

  • Пустой текст. Это ошибка, а не пустой результат: пустой вектор RAG-запрос молча проигнорировал бы и пошёл искать по тексту, а вы бы этого не увидели. Проверьте, что порт подключён или шаблон что-то рендерит.
  • Модель не та, что у базы. Вектор, посчитанный другой моделью, несравним с содержимым базы: либо не совпадёт размерность, либо поиск вернёт правдоподобный мусор.
  • Вектор подают в порт «Query» RAG-запроса. Туда идёт текст. Вектор принимает отдельный порт «Embedding», а запуск RAG-запрос по-прежнему получает через «Query».
  • Ожидание, что нода что-то найдёт. Она только считает вектор — поиск делает RAG-запрос.

Входы

ПортПроводДанныеПримечания
TexttextИсполнение + данныеexecute_data

Text to embed; replaces the Text template when connected

Embeddingembedding_configЭмбеддингиlink_embedding

Embedding node config; its model overrides the field here

Выходы

ПортПроводДанныеПримечания
EmbeddingoutputИсполнение + данныеexecute_dataobject

Настройки

ПолеТипПо умолчаниюОписание
Текстtext_templatestring{{inputs.text}}

Текст для эмбеддинга. Поддерживает {{inputs.text}}, {{nodes.x.output.text}}.

поддерживает шаблоны

Модель эмбеддинговmodelstring""

Модель, которой эмбеддится текст. Подключённая конфиг-нода Embedding задаёт это значение и перекрывает поле.

перекрывается портом: embedding_config

Общие поля

Эти три поля есть у каждой ноды: платформа добавляет их сама, а не автор ноды.

  • expose_error_output — Если включено, показывает выход выполнения для подключения нод, которые запускаются при сбое этого шага.
  • split_ports_in — Показывать отдельные порты входа для выполнения и данных вместо одного объединённого.
  • split_ports_out — Показывать отдельные порты выхода для выполнения и данных вместо одного объединённого.