Используйте редактор кода для написания и редактирования YAML в темах

Темы можно писать и редактировать в редакторе кода, который поддерживает YAML. YAML — это аббревиатура от «YAML Ain't Markup Language». YAML обычно используется для написания конфигурационных файлов и его проще читать, чем XML или JSON. Файлы YAML используют расширение .yaml или .yml. Файлы YAML форматируются с помощью пробелов и отступов для представления структур данных, таких как строки, числа, логические значения, списки и словари.

Чтобы открыть редактор кода из темы, выберите () Дополнительно на панели инструментов, а затем выберите Открыть редактор кода.

Посмотрите это видео, чтобы получить общее представление о том, как использовать YAML в редакторе кода:

Важно

Любой пользователь может использовать редактор кода для изучения конфигурации темы. Разработчики и опытные пользователи могут выполнять разработку и редактирование в редакторе кода. Однако будьте осторожны при внесении правок в редакторе кода. Ошибки в пунктуации или синтаксисе могут привести к сложным сообщениям об ошибке или нарушить текущий разговор. Служба технической поддержки не сможет помочь с исправлением ошибок, допущенных в редакторе кода. Если вы только начинаете работать с YAML, сделайте копию темы перед внесением изменений.

Когда использовать редактор кода

Copilot Studio не требует писать YAML с нуля. Вместо этого YAML генерируется автоматически при создании объектов на холсте тем. Затем вы можете либо просмотреть конфигурацию в редакторе кода, чтобы лучше понять настройки, либо внести изменения в YAML. Вот примеры сценариев использования редактора кода:

  • Редактор кода отображает полную конфигурацию темы без необходимости взаимодействия с отдельными элементами диалога в теме. Это единое место для отображения всех настроек в теме.
  • Создатели могут копировать определенные узлы из темы и вставлять их в другие темы, а не использовать значки Копировать и Вставить. Это может быть проще, чем выбирать несколько узлов конфигурации.
  • Создатели могут предпочесть обновить идентификатор потока Power Automate в YAML, не дожидаясь синхронизации с меню «Вызов и действие».
  • Создатели могут клонировать и редактировать узлы Вопрос или Сообщение, если они похожи. Однако в таких случаях очень важно убедиться, что все идентификаторы и переменные остаются уникальными. Не забудьте изменить клонированные идентификаторы, чтобы сделать их уникальными.
  • Создатели могут вносить простые изменения в редакторе кода, например, добавлять термин к тематическим фразам, поскольку иногда быстрее просто ввести или скопировать и вставить текст в код YAML.

Обзор YAML в редакторе кода

Ниже приведено изображение с примером типичного блока YAML.

Снимок экрана с примером блока YAML-кода в редакторе кода.

Вот как этот код применяется к соответствующей теме в том виде, в каком он отображается на холсте.

  • Строка 1: тип темы.
  • Строки 2-3: обозначают начало темы оптимизации разговора.
  • Строка 7: обозначает узел генеративных ответов.
  • Строка 9: соответствующая переменная.
  • Строки 11-12: детали о запросе и специальных инструкциях.
  • Строки 20-26: ссылки на источники знаний.
  • Строки 28–32: группа условий. Каждое условие имеет уникальный идентификатор, а также сведения о формуле условия и переадресации.

Тестирование YAML в редакторе кода

Если вы хотите протестировать этот код, выполните следующие действия в Copilot Studio:

  1. Создайте агент.

  2. Перейдите на страницу Параметры для вашего агента, выберите Генеративный ИИ, затем нажмите Генеративный.

  3. Перейдите на страницу Темы, выберите Системные и нажмите тему Улучшение качества разговора.

  4. Откройте редактор кода.

  5. Замените существующий код следующим примером кода YAML.

     kind: AdaptiveDialog
     beginDialog:
      kind: OnUnknownIntent
      id: main
      priority: -1
      actions:
        - kind: SearchAndSummarizeContent
          id: search-content
          userInput: =System.Activity.Text
          variable: Topic.Answer
          moderationLevel: Medium
          additionalInstructions: Include emojis to make responses more fun.
          publicDataSource:
            sites:
              - "www.chessusa.com/"
              - "www.chess.com/"
              - "www.lichess.org/"
    
          sharePointSearchDataSource: {}
    
        - kind: ConditionGroup
          id: has-answer-conditions
          conditions:
            - id: has-answer
              condition: =!IsBlank(Topic.Answer)
              actions:
                - kind: EndDialog
                  id: end-topic
                  clearTopicQueue: true
    
  6. Выберите Сохранить и закройте редактор кода.

  7. Протестируйте агент на панели Тест, задав вопрос, связанный с шахматами, например, «Как ходит конь?»