Лия - База Знаний
  • База знаний
  • 💻Обзор платформы
    • Намерения
      • Добавление намерения
      • Редактирование намерения
      • Как перераспределять намерения
      • Приоритизация намерений
      • Клонирование намерения
      • Добавление и удаление сущностей внутри намерения
      • Удаление намерения
      • Архивирование намерения
    • QA
    • Сущности
    • Тестовый чат
    • Обучение
      • Обучение на нераспознанных сообщениях
      • Обучение по кластерам
    • Создание сценария и работа с ним
      • Динамические сценарии
        • Тестирование в проекте
      • Реакции
        • Реакция Условие
      • Триггеры
      • Инструкция по сборке сценариев
      • Hello World бот
      • Как дообучать Лию
      • Алармные сценарии
  • 🤖Вопросы и ответы
    • Общие
    • Обучение и покрытие
    • Cценарии и намерения
    • Вопросы по приоритизации намерений
    • Датасет
    • Вопросы по аналитике
    • Распознавание
    • Безопасность
    • Интеграция
    • Ядро, языки, кейсы и др.
    • Словарь
    • Вопросы по сниппетам
    • Полезные кейсы
      • Как настроить бот для определения номера телефона и других данных и передачи их в контекст?
      • Как с помощью сниппета сделать API-запрос для обработки номера телефона и иных данных из сообщений?
  • 🤷‍♀️Работа с проектом
    • Как получить доступ к личному кабинету Лии?
    • Начало работы с проектом
    • Управление проектом
    • Безопасность
    • Управление командой
    • Журнал активности
    • Публикация
    • Аналитика
  • ⚙️Разработчикам
    • Подключение бота
      • Chat2Desk
      • Edna
      • Helpdeskeddy
      • Infobip
      • Jivochat
      • LiveChat
      • Omnidesk
      • Usedesk
      • Webim
      • Imotio
      • Chatwoot
    • Лия API
    • Минимальные требования для разработки динамического сценария
    • Работа со сниппетами
    • Контекст
    • Переменные личного кабинета
    • Интеграции
Powered by GitBook
On this page
  • Устройство контекста
  • Установка фактов
  • Примеры использования
  1. Разработчикам

Контекст

Kонтекст - ключевой объект в Lia, который содержит в себе уникальную для каждого пользователя информацию о проекте, пользователе и взаимодействии пользователя с виртуальным ассистентом.

Контекст полезно использовать, когда:

  • для сценария нужна информация о пользователе, полученная по API;

  • в сценарии нужно выводить текст в зависимости от данных конкретного пользователя;

  • нужна переменная, доступная нескольким сниппетам.

Устройство контекста

Объект контекст содержит следующие базовые ключи:

  • context.fact_name – факты, установленные вручную, полученные по API и т.п.

  • context.project_id – id проекта

  • context.user_id – id пользователя

  • channel_id – id канала, с которого пришло сообщение (например виджет или API)

  • context.events – массив событий (текстовых сообщений и прочих триггеров/реакций)

  • context.current – быстрый доступ к последнему событию от пользователя

context.events

Сообщения из переписки хранятся в context.events, который имеет следующую структуру:

[
    {
        'incoming': true, // От пользователя
        'type': 'text',
        'timestamp': 1591186466.1,
        'params': {
            'text': 'Привет, бот a@b.com'
        },
        'meta': {
            'intents': {
                'приветствие': {'proba': 0.98}
            },
            'entities': {
                'email': {...}
            }
        }
    },
    {
        'incoming': false, // От робота
        'type': 'text',
        'timestamp': 1591186466.2,
        'params': {
            'text': 'Привет, пользователь'
        },
        'meta': {
            {'reaction': 'reaction1'}
        }
    },
    ...
]

В объекте 'params' лежат параметры сообщения в зависимости от типа.

В 'meta' во входящих сообщениях лежат намерения и сущности, в исходящих - название реакции из сценария.

context.current

В context.current содержится последнее входящее событие из context.events.

Установка фактов

Существует несколько способов добавления фактов в context:

  • в сниппете через context.set('key', 'value') : такие факты будут доступны во всех сниппетах через context.key

  • вручную через надстройку под debug-чатом

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

Порядок приоритетности фактов контекста (от большего к меньшему):

  1. системные факты: 'project_id' , 'user_id', 'channel_id', 'events', 'current'

  2. context.set('key', 'value') или заданные вручную

  3. распознанные Lia entities

  4. facts из API

Контекст автоматически удаляется для пользователя в случае отсутствия от него обращений в течение 48 часов.

Примеры использования

В сниппетах

Переменная

Значение

context.current.params.text

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

context.entity_name.raw

Распознанная сущность, как ее написал пользователь

context.entity_name.str

context.fact_name

Доступ к любому заранее установленному факту

PreviousРабота со сниппетамиNextПеременные личного кабинета

Last updated 7 months ago

передача по в JSON-объект facts

, распознанные Lia, автоматически добавляются в контекст и доступны поcontext.entity_name. Поэтому сущностям следует давать название на латинице в соответствии с традиционными правилами названия переменных в коде.

Распознанная сущность в отформатированном виде ()

⚙️
Lia API
сущности
подробнее о формате сущностей