Admin24

Работа с ИИ-агентом.
Механизм формирования запросов к нейросети

В зависимости от того, откуда был сделан запрос к нейросети (НС), непосредственный текст запроса пользователя может представлять собой либо текст заявки, либо последний комментарий заявителя, либо произвольный запрос.

Если текст запроса превышает максимальную длину установленную настройкой «Максимальное число токенов в одной фразе», то запрос обрезается примерно до размера этой настройки.

  1. Настройка промптов
  2. Примерный расчет размера прикладываемого контекста

Настройка промптов

Большие LLM работают с промптами. В промптах прописываются детальные инструкции, которые должна выполнить НС.

Именно промпты определяют качество ответов.

Промптов обычно используется два: System prompt и User prompt. Каждая модель по-своему их обрабатывает, поэтому сложно сказать, что должно быть в каждом из них. Точно можно сказать только то, что они вместе должны содержать максимально подробные и однозначные инструкции для модели.

В Админ24 промпты настраиваются на странице «Настройки» → «AI» → «Настройка» в разделе «Настройка запросов». При открытии страницы они свернуты. Чтобы ими пользоваться, их необходимо развернуть.
Настройка промптов в Админ24
Сам запрос пользователя, прикладываемый диалог и фрагменты текстов из векторной БД вставляются в запрос к НС внутри промптов.

В полях ввода промптов используются заменители: для запроса пользователя это {$ticket$}, а для текстов из векторной БД и диалогов других страниц – {$texts$}.

Текущие диалоги в промпты не попадают, а прикладываются в специальных полях АПИ для передачи контекста чата.

В тех местах промптов, где встречаются {$ticket$} или {$texts$}, соответственно, будут вставлены запрос пользователя или контекст из БД.

{$ticket$} или {$texts$} должны встречаться один раз либо в System prompt, либо в User prompt. Если каждый из них будет вставлен более одного раза, то может превыситься суммарный разрешенный размер контекста, и при запросах к НС будут ошибки.

Информация из векторной БД состоит из строк.

Для каждой строки доступны несколько полей (их список перечислен в справочной врезке прямо на странице настроек).
Информация из векторной БД состоит из строк в Админ24
Формат каждой строки задается полем Text Item. То есть {$texts$} будет вставлен в промпт в виде нескольких строк – результатов поиска в векторной БД, а формат каждой строки задается полем Text Item.

В конце блока настроек приведен контрольный вывод промптов. Это тот вид промптов с уже заполненными запросом пользователя и контекстом, который будет отправлен в НС. Этот вывод позволяет тонко настраивать промпты и строки форматирования фрагментов текстов в том виде, в котором их представляет себе специалист, настраивающий систему.
Настройка промптов в Админ24
Хотя процесс настройки промптов на первый взгляд выглядит сложным, после ознакомления с контрольным выводом промптов все сразу проясняется.

Настраивать промпты необходимо после того, как будет закончено индексирование источников, иначе в контрольном выводе промптов нечего будет вывести и корректность настройки промптов будет не оценить.

Примерный расчет размера прикладываемого контекста

Чтобы еще лучше осмыслить назначение параметров «Ограничение для размеров контекста моделей Deepseek», «Максимальное число токенов в одной фразе» и «Размер блока контекста в токенах», опишем примерную схему, как рассчитывается количество фрагментов текстов, прикладываемых к промптам (запросу НС).

Также действуют такие правила: модели Яндекс работают быстрее, но с ограниченным контекстом, Deepseek же поддерживает в разы больший контекст, но и работает в разы медленнее.

Скорость получения ответа от Deepseek напрямую зависит от размера контекста.

Эти настройки влияют не только на качество ответов, но и позволяют использовать модели от Яндекс, если их возможностей достаточно.

Если же добиться приемлемого качества ответов от моделей Яндекс не удаётся, можно оптимизировать скорость работы моделей Deepseek, настроив ограничение размера контекста.

В упрощенном виде полный запрос к НС состоит из блоков:

  • Непосредственно текст System Prompt, заданный в настройках (ограничен 2000 тк).

  • Непосредственно текст User Prompt, заданный в настройках  (ограничен 2000 тк, включая непосредственный текст запроса).

  • Фрагменты текстов векторной БД.

  • Фрагменты диалогов других заявок.

  • Текущий диалог.

Размеры и количество этих блоков, как было указано выше, определяются настройками:

  • «Ограничение для размеров контекста моделей Deepseek» (в интерфейсе; max 110 тыс. тк.).

  • Ограничения для размера контекста Яндекс: 12000 тк. (жестко задано в конфигурации Админ24).

  • «Максимальное число токенов в одной фразе» (в интерфейсе; max 2000 тк.)
  • «Размер блока контекста в токенах» (в интерфейсе; max 2000 тк.).

  • Максимальное количество блоков контекста под текущий диалог пользователя для Deepseek: 30 (жестко задано в конфигурации Админ24).

  • Максимальное количество блоков контекста под текущий диалог пользователя для Яндекс: 3 (жестко задано задано в конфигурации Админ24).

Порядок заполнения блоков контекста:

  • На основе заданных в интерфейсе размера блока контекста и единичного сообщения, а также заданного жестко максимального количества блоков для текущего диалога, определяется максимальное количество сообщений для текущего диалога.

  • Из основной БД организации для текущего тикета выбирается это определенное количество сообщений.

  • Определяется фактическое количество токенов, занятых диалогом.

  • Исходя из максимального размера контекста, фактического размера промптов, фактического размера текущего диалога, определяется число блоков контекста, доступных для фрагментов текстов и диалогов из других заявок.

Как показывают результаты внутренних тестов, чтобы получить приемлемый результат, необходимо, чтобы к контексту прикладывались не менее 8 .. 10 фрагментов из векторной БД.

Поэтому, если требуется максимальная скорость ответа, то, прежде всего, необходимо добиваться минимального размера контекста. Если это позволит уложиться в ограничения Яндекс – это наиболее предпочтительный вариант. Даже если уложиться в Яндекс не получится, уменьшенный размер контекста позволит ускорить получение ответов и от Deepseek.

Если цель – выбрать модели от Яндекс, то необходимо задать сравнительно небольшой размер блока контекста – 800 .. 1000 тк.

Это позволит прикладывать 8 .. 10 фрагментов из векторной БД, который для многих случаев будет достаточно.

Уменьшение этого размера потребует уменьшения размера поисковой фразы. Чтобы к запросу прикладывались хотя бы 15 фраз, размер фразы должен быть ограничен 150 .. 200 тк.

Если ограничения по длине контекста от Яндекс не позволяют получать ответы приемлемого качества, то для Deepseek необходимо ограничить контекст сначала хотя бы 30 тыс. тк.

Максимально допустимый размер блока контекста в настоящее время составляет 2000 тк. Это ограничение векторизатора. Для Deepseek можно оставить это максимальное значение.

Максимальный размер фразы сейчас также ограничен 2000 тк. Его при этом сценарии следует ограничить хотя бы до 1000 тк.

Если скорость ответа 1 .. 3 минуты приемлема, то здесь все максимально просто: выбирается НС Deepseek Thinking (думающая), суммарный размер контекста ставится 0, т. е. максимально возможный, размер блока контекста ставится максимум 2000, ограничение на фразу также ставится 2000.

Это позволит получить максимально качественный результат. Именно такие настройки установлены в настоящее время по умолчанию.

В дальнейшем на результаты этого режима можно ориентироваться в процессе оптимизации: пытаться увеличить скорость получения ответа, но добиваться при этом качества на уровне этого результата.

После изменения перечисленных настроек требуется переиндексирование всех источников, поэтому, если есть возможность, имеет смысл проводить подобные настройки только с частью источников, а полное сканирование делать уже после того, когда будут достигнуты нужные результаты.
Что делать, если возникли сложности?
Позвоните нам по телефону: 8 (800) 333-66-24, напишите на электронную почту: admin24@infoservice.ru или в Telegram. Принимаем звонки в любое время с 09:30 до 18:00 с понедельника по пятницу.

Мы поможем и расскажем, как настроить Admin24 под ваши нужды.