Документация для разработчиков
Темная тема

Маркеры

Ниже инструкция по маркерам, которые понимает наш модуль AI и сможет корректно интерпретировать их для нейросети.

Базовые маркеры


{original_message} – оригинальное сообщение для работы препромпта. В архитектуре редактора текста это весь набранный текст, либо выделенная руками часть набранного текста.

Пример препромпта:

Продолжи текст: {orignal_message}

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


{user_message} – то, что ввел непосредственно пользователь.

Пример препромпта:

Напиши историю про {user_message}

Эти маркеры могут применяться и вместе:

Напиши историю про {user_message} в продолжение текста: {original_message}.

{role}{/role} – парный маркер, указывающий нейросети на её роль. Внутри текст задаётся в свободной форме, дающей нейронке какие-либо инструкции. Например, «говори как робот». С одной стороны, кажется, что то же самое можно написать просто в препромпте. С другой стороны инструкции это всё же инструкции, и нейронки принимают их в бóльшей значимости.

Особенности использования маркера role:

  • Внутри инструкции можно использовать другие маркеры;
  • Используется только первая инструкция, остальные просто вырезаются;
  • Маркер добавляется после if-условий, то есть можно использовать один блок {role} для if и второй для else.

Пример:

Расскажи шутку. {role}Говори как робот по имени {author.name}{/role}

Дополнительные маркеры


{author_message} – текст оригинального поста ЖЛ или описание задачи.

Пример:

Выдели главное на основе текста: {author_message}

{context_messages} – контекст «сколько вместится». Например оригинальный пост + все последние комментарии, или переписка чата за определенный срок. Или описание задачи + комментарии к ней.

Пример:

Сформируй результат задачи на основе ее описания и комментариев к ней: {context_messages}

Это все базовые маркеры, которые могут расширяться разработчиками, но лучше на последнее не опираться и не надеяться (если только не заключен обоюдовыгодный договор).


{language} – язык портала (не пользователя!). Например, русский, english, español – именно на эти значения будет заменяться маркер.

Пример препромпта:

Переведи текст на {language}. Текст: {original_message}

Маркеры автора


Когда мы работаем с контекстными сообщениями, у каждого сообщения из контекста есть автор, его должность и другие характеристики. Так как автор – это пользователь, мы можем использовать строковые поля пользователя. Посмотреть список таких полей можно на странице документации класса CUser.

При написании маркера нужно учитывать одно правило формирования. Всё должно быть в маленьком регистре: {author.lower_case_field}.

Посмотрим на примере. Используем в препромпте поля NAME и WORK_PISITION автора:

Похвали автора.
Пост который тебе нужно будет похвалить: {original_message}
Имя автора поста: {author.name}
Должность автора поста: {author.work_position}

Маркеры текущего результата


В момент работы CoPilot-а происходит мини-диалог. Вы задаете вопрос (или работаете с текстом) и вам возвращается результат, с которым вы можете продолжать работать.

Образуется набор результатов, к которому вы можете обращаться в маркерах. На текущий момент размер стека равен трём сообщениям.


У этого набора есть ряд особенностей:

  1. Дополняется снизу вверх, то есть самый последний результат – снизу;
  2. Самый последний результат это тот, который был в ответе на момент отправки нового запроса (а не тот, который будет получен в момент запроса);
  3. Нумерация идет с нуля.

Пример

{current_result0} – результат, который было видно в момент отправки запроса (использования промпта);
{current_result1} – предыдущий такой же результат;
{current_result2} – результат до предыдущего.

Примечание. Если какие-то маркеры еще пусты, они вырезаются из текста.



Пользовательские комментарии

Мы будем рады, если разработчики добавят свои комментарии по практическому использованию методов системы.

Для этого нужно всего лишь авторизоваться на сайте

Но помните, что Пользовательские комментарии, несмотря на модерацию, не являются официальной документацией. Ответственность за их использование несет сам пользователь.

Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.
© «Битрикс», 2001-2024, «1С-Битрикс», 2024
Наверх