Поделиться через


Настройки руководства по запросам

Библиотека подсказок — это набор предварительно написанных, протестированных и оптимизированных подсказок, предназначенных для формирования взаимодействий и ответов в чате Copilot. Они гарантируют, что чат Copilot предоставляет актуальную, точную и контекстуально соответствующую информацию на основе потребностей и предпочтений пользователя.

Руководство по запросам для помощника в приложениях на основе модели

Внимание!

  • Это предварительная версия функции.
  • Предварительные версии функций не предназначены для использования в производственной среде, а их функциональность может быть ограничена. Для этих функций действуют дополнительные условия использования и они доступны перед официальным выпуском, чтобы клиенты могли досрочно получить доступ и предоставить отзывы.

В следующих шагах подробно описано, как добавить определенные запросы в руководство по запросам. Раздел Справка Power Apps добавляется к существующему стандартному руководству по запросам Copilot. Кроме того, можно скопировать пример кода в новую тему непосредственно из примера темы настройки руководства по запросам. Все запросы, отображаемые конечному пользователю в руководстве по запросам, хранятся в агенте Copilot Studio, используемом для приложения.

  1. Откройте агент, поддерживающий приложение, в Copilot Studio и добавьте новую пустую тему. Добавить пустую тему

  2. Переименуйте тему, чтобы она отражала намерение темы, и измените триггер темы на Получено событие. «Получено событие» для темы

  3. Выберите Изменить в разделе Получено событие, затем задайте имя события Microsoft.PowerApps.Copilot.RequestSparks, которое зарезервировано для руководства по запросам. Запрос Spark для темы

  4. При необходимости вы можете задать условия, при которых будут запрашиваться вводимые данные, если они относятся к имени приложения, контексту страницы и т. д. Например, эта запись запроса проверяет, соответствует ли уникальное имя текущего приложения или имя типа таблицы контекста страницы указанным значениям. Если выполняется одно из условий, активируется чат Copilot.

    condition: =Global.PA_Copilot_Model_SessionContext.appUniqueName = "yourAppName" or Global.PA__Copilot_Model_PageContext.pageContext.entityTypeName = "Entity name"

  5. В разделе Приоритет добавьте соответствующее значение приоритета, чтобы триггер срабатывал после тем с более высоким приоритетом. Значения приоритета могут иметь диапазон от 0 до 10 тыс., где 0 — самый высокий. Хотя рекомендуется около 200, так как это позволяет добавить больше вариантов для добавления тем с более высоким приоритетом позже, в этом примере используется 10.

  6. Выберите + в разделе Получено событие, затем выберите Управление переменными>Анализировать значение, чтобы добавить следующий шаг для значения синтаксического анализа управления переменными.

    Добавить переменную

  7. Вставьте следующую формулу Power Fx в поле Анализировать значение и выберите Вставить.

    [{displayName:"Power Apps Help",displaySubtitle:"Power Apps Help",iconName:"List24Regular",sparks:[{displayName:"What is Copilot chat?",type:"PromptText"},{displayName:"How can I use the record picker?",type:"PromptText"},{displayName:"What types of questions can I ask Copilot?",type:"PromptText"},{displayName:"How do I provide feedback on Copilot’s responses?",type:"PromptText"}]}]
    

    Синтаксический анализ записей руководства по запросам

  8. Задайте Тип данных как Таблица. Появится ссылка Изменить схему.

  9. Выберите Изменить схему и вставьте следующую схему, затем выберите Подтвердить.

    kind: Table
    properties:
      displayName: String
      displaySubtitle: String
      iconName: String
      sparks:
        type:
          kind: Table
          properties:
            displayName: String
            eventName: String
            iconName: String
            payload: String
            type: String
    
  10. Задайте Сохранить как, чтобы сохранить как новую пользовательскую переменную, и задайте какое-то осмысленное имя, например SparkGroupCustom. Пользовательская группа Spark

  11. Выберите + на шаге Анализ значения, затем выберите Управление переменными>Задать значение переменной.

  12. Определение Sparks сохраняется в глобальной переменной, поэтому вам нужно задать переменную как Глобальная и назвать ее PA_Copilot_Sparks.sparkGroups и/или Global.PA_Copilot_Sparks.sparks. При этом всплывающее окно будет заполнено вашими запросами. Затем добавьте шаг для установки значения переменной.

    Задание глобальных Sparks

  13. Выполните поиск по имени определения Sparks из предыдущего шага, например, Global.PA_Copilot_Sparks.sparkGroups, и задайте для него значение следующей функции слияния Power Fx.

    ForAll(Sequence(CountRows(Global.PA_Copilot_Sparks.sparkGroups)+CountRows(Topic.SparkGroupCustom)), If(Value<=CountRows(Global.PA_Copilot_Sparks.sparkGroups),Index (Global.PA_Copilot_Sparks.sparkGroups,Value), Index(Topic.SparkGroupCustom, Value - CountRows(Global.PA_Copilot_Sparks.sparkGroups))))
    

    Слияние  Слияние глобальных Sparks

    Замените имя переменной именем переменной, которое вы использовали для пользовательских запросов, в данном примере это SparkGroupCustom.

  14. Опубликуйте агент и запустите приложение.

    Руководство по запросам с использованием глобальных Sparks

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

Ниже приведен полный код темы, который можно скопировать непосредственно в новую тему.

kind: AdaptiveDialog
beginDialog:
  kind: OnEventActivity
  id: main
  priority: 200
  eventName: Microsoft.PowerApps.Copilot.RequestSparks
  actions:
    - kind: ParseValue
      id: iCepPf
      variable: Topic.SparkGroupCustom
      valueType:
        kind: Table
        properties:
          displayName: String
          displaySubtitle: String
          iconName: String
          sparks:
            type:
              kind: Table
              properties:
                displayName: String
                eventName: String
                iconName: String
                payload: String
                type: String
      value: |-
        =[{displayName:"Power Apps Help",displaySubtitle:"Power Apps Help",iconName:"List24Regular",
        sparks:[
        {displayName:"What is Copilot chat?",type:"PromptText"},
        {displayName:"How can I use the record picker?",type:"PromptText"},
        {displayName:"What types of questions can I ask Copilot?",type:"PromptText"},
        {displayName:"How do I provide feedback on Copilot’s responses?",type:"PromptText"}
        ]}]

    - kind: SetVariable
      id: setVariable_pDu9cr
      variable: Global.PA_Copilot_Sparks.sparkGroups
      value: =ForAll(Sequence(CountRows(Global.PA_Copilot_Sparks.sparkGroups)+CountRows(Topic.SparkGroupCustom)), If(Value<=CountRows(Global.PA_Copilot_Sparks.sparkGroups),Index (Global.PA_Copilot_Sparks.sparkGroups,Value), Index(Topic.SparkGroupCustom, Value - CountRows(Global.PA_Copilot_Sparks.sparkGroups))))

Заметка

Если ваш агент поддерживает несколько языков и нуждается в переводе запросов, все строки вопросов, обращенные к пользователям, должны быть заданы с помощью SetTextVariable.