Перейти к содержимому
llmagentLLM-Агент Документация

Каталог товаров

Как подключить YML-фид, что агент берёт из него, как проходит индексация и как товары попадают в ответы.

Каталог товаров подключает агента к вашему ассортименту: клиент спрашивает «есть ли у вас …» — агент находит подходящие позиции и отвечает с названием, ценой, наличием и ссылкой на товар. Источник каталога — YML-фид: та же выгрузка, которую сайты готовят для Яндекс Маркета.

Раздел «Каталог товаров» находится в кабинете app.llmagent.ru. Каталог привязан к агенту: одна ссылка на фид на агента. Память базы знаний каталог не расходует — он хранится в отдельном поисковом индексе.

По ссылке скачивается YML-фид, товары складываются в поисковый индекс. Поиск — полнотекстовый, с русской морфологией (склонения и словоформы приводятся к основе) и допуском одной опечатки. Поля ранжируются по весу: совпадение по артикулу — самое сильное, дальше название, производитель, слова категории, затем описание и характеристики.

Когда клиент пишет агенту, быстрая модель-аналитик оценивает, товарный ли это вопрос, и формулирует поисковый запрос по контексту диалога (см. «Как агент готовит ответ»). В индекс уходит один запрос, обратно — до 10 позиций: название, цена, описание, производитель, артикул, категория, наличие, характеристики и ссылка. Основная модель выбирает из них подходящие и, используя товар в ответе, прикладывает ссылку на него. По умолчанию агент предлагает только товары в наличии — позиции с available="false" в выдачу клиенту не попадают.

В чатах сотрудников агент ищет по каталогу самостоятельно, инструментом поиска — столько раз, сколько нужно для ответа. Каталог же используют навыки: например, «Допродажи» подбирают из него сопутствующие товары (см. «Навыки»).

Индексация устроена по принципу «собрать рядом, потом заменить»: пока строится новый индекс, старый продолжает обслуживать поиск, а замена происходит мгновенно. Перерыва в работе агента нет, и неудачная загрузка не портит рабочий каталог:

  • пустой фид (0 товаров) — прежний индекс остаётся как был;
  • битый или недоступный фид — переиндексация не проходит, агент продолжает отвечать по последней удачной версии каталога.

Обновляется каталог двумя путями. Вручную — кнопка «Синхронизировать» в разделе; обычно это занимает 1–2 минуты. И автоматически — каждую ночь, в окно с 05:00 до 06:00 по Москве, фид скачивается заново и каталог тихо переиндексируется: цены и наличие подтягиваются сами, без каких-либо действий с вашей стороны.

  1. Подготовьте YML-фид и убедитесь, что он доступен по прямой ссылке без авторизации. Пример корректной ссылки показан на экране подключения; там же есть ссылка на инструкцию Яндекса по формату.
  2. В разделе «Каталог товаров» вставьте ссылку и нажмите «Индексировать». При сохранении ссылка проверяется: если фид недоступен, кабинет сообщит «URL каталога недоступен».
  3. Проверьте результат: в шапке раздела появятся число товаров и отметка «обновлён … назад», слева — дерево категорий со счётчиками, справа — поиск с фильтрами по наличию и цене и сортировкой. Поиск в кабинете ранжирует так же, как поиск агента, — это честный способ проверить выдачу; для полного соответствия включите фильтр «Только доступные», ведь клиенту агент предлагает лишь товары в наличии.

Сменили ссылку — старый каталог продолжает работать, пока вы не нажмёте «Синхронизировать» с новым адресом. Очистили ссылку — каталог отключается, и его индекс удаляется.

Поле фида Как используется
name Название; участвует в поиске с высоким весом. Для офферов формата vendor.model название собирается из typePrefix + vendor + model
price Цена; пробелы и запятая в числе допустимы
description Описание: HTML-разметка вычищается, в индекс попадают первые 200 знаков
vendor, vendorCode Производитель и артикул; артикул — самое сильное поле поиска
url Ссылка на товар в ответе агента; UTM-метки автоматически убираются
categoryId + <categories> Категория и всё дерево родителей: слова раздела («сад и огород») находят товары ветки, даже если в названиях этих слов нет
available Наличие; по умолчанию агент предлагает только available="true"
paramunit) Характеристики; показываются в карточке товара и участвуют в поиске
disabled="true" Такие офферы пропускаются целиком

Изображения из фида не используются — агент работает с текстовыми данными.

Ночная переиндексация «тихая»: ошибка вашего фида не останавливает агента — он остаётся на последней удачной версии каталога. Признак проблемы виден в кабинете: отметка «обновлён … назад» перестаёт обновляться. В этом случае проверьте фид по ссылке в браузере и нажмите «Синхронизировать» — при ручном запуске кабинет покажет конкретную ошибку («Не удалось загрузить каталог…», «Каталог пуст — не найдено ни одного товара»).

Если у агента настроен каталог, а поисковый индекс пропал из-за сбоя на платформе, агент не ломается — отвечает без товаров, а команда платформы автоматически получает оповещение (не чаще раза в час) и восстанавливает индекс. Ручная «Синхронизировать» тоже возвращает каталог к жизни.

Все советы следуют из механики поиска — что попало в индекс, то и находится.

  • Название — главное поле. «Смеситель для кухни Vidima Uno, хром» найдётся по десятку формулировок; артикул вместо названия — только по артикулу.
  • Заполняйте vendorCode. Запрос по артикулу — самый точный сценарий: цифро-буквенные коды («WMS-4400-XT») находятся и по части кода.
  • Главное — в первые 200 знаков описания. Всё, что дальше, в поиск и в ответ агента не попадает. Не начинайте описание с HTML-шапок и лозунгов.
  • Выносите свойства в param. Размер, цвет, материал, мощность как характеристики — ищутся и аккуратно показываются в карточке; в хвосте описания они просто отрежутся.
  • Стройте дерево категорий через parentId. Тогда запрос «что есть для сада» найдёт товары всей ветки. Категории-«солянки» без родителей эту связь теряют.
  • Следите за available. Товары не в наличии агент клиенту не предложит — фид со стёртым наличием равносилен пустому каталогу.