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

Следующие примеры демонстрируют функциональность интерпретатора кода для обработки сложных запросов.

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

Пример сценария 1: запрос интерпретатора кода для аудита транзакций

Менеджер по закупкам в Contoso регулярно проводит аудит сделок по закупкам. Они получают периодический PDF-отчет с указанием поставщиков из группы высокого риска и следуют политике, требующей заказов на покупку для транзакций на сумму свыше 10 000 долларов. Менеджер по закупкам использует PDF для аудита транзакций в Excel. Менеджер по закупкам использует подсказки с интерпретатором кода для автоматизации этого процесса аудита.

Отредактировать и протестировать запрос транзакций

С открытым редактором подсказок и включённым интерпретатором кода следуйте следующим шагам для создания запроса:

  1. Введите следующие инструкции к запросу:

    1. You are given:
    -An Excel file <parameter A> with thousands of procurement transactions, including vendor name, invoice amount, PO number, and transaction date.
    -A PDF file <parameter B> listing vendors flagged as "High Risk" in the latest compliance audit.
    
    2. Your tasks:
    -Process the Excel file to identify:
    -Transactions over $10,000 with missing or blank PO numbers.
    -Extract vendor names from the PDF file that are marked "High Risk".
    -Cross-reference the vendor names in Excel with those from the PDF file.
    -Flag transactions that meet either of the following criteria:
      -High-value transaction with missing PO
      -Vendor is classified as High Risk
    -For each flagged transaction:
      -Highlight the row in red
      -Add a comment explaining the issue (for example, "High Risk Vendor" or "PO Missing")
    
    3. Generate a summary report listing:
    -Total flagged transactions
    -Vendor names involved
    -Reasons for flagging
    
    4. Return:
    -The updated Excel file with highlights and comments
    -A summary audit report formatted as PDF
    -A summary of updates made in text
    
  2. В инструкции замените <parameter A> на входный параметр файла для Excel файла, содержащий транзакции закупок. Чтобы внести изменения, замените текст на / и выберите Изображение или документ в контекстном меню. Укажите название этому параметру, например «закупочные транзакции», и загрузите пример файла Excel с транзакциями в ожидаемом формате.

    Убедитесь, что в файле транзакции указаны идентификатор транзакции, имя поставщика, сумма счета, номер почтовой почты и дата сделки. Вы можете использовать другой запрос с включённым интерпретатором кода, чтобы создать этот пример Excel-файла по необходимости.

  3. Повторите те же шаги, чтобы заменить текст <parameter B> на загруженный PDF-документ для отчёта о рисках поставщика. В PDF-файле можно указать имена поставщиков в виде списка. Опять же, можно использовать другой запрос с включённым интерпретатором кода, чтобы создать образец PDF-файла по мере необходимости.

  4. Выберите Тест.

    Через несколько секунд вы должны увидеть результат резюме в виде текста как ответ модели.

    Замечание

    Вы можете оставить модель по умолчанию как GPT-4o или выбрать любую другую по необходимости.

  5. В разделе «Результат ответа> модели» выберите «Документ» для формата ответа модели. Ответ модели также должен показывать обновлённый файл Excel с отмеченными транзакциями и сводный отчет в формате PDF. Вы можете скачать эти файлы для проверки результатов.

    Это важно

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

Этот пример иллюстрирует возможности интерпретатора кода, позволяющего подсказкам выполнять сложные сценарии с использованием файлов.

Пример сценария 2: запрос интерпретатора кода для создания визуального сводки таблиц Dataverse

В этом примере показано, как создать подсказку с включённым интерпретатором кода для чтения записей из таблиц Dataverse, анализа данных и создания визуального сводки (диаграммы) и текстового резюме.

Отредактировать и протестировать запрос Dataverse

С открытым редактором подсказок и включённым интерпретатором кода следуйте следующим шагам для создания запроса:

  1. Введите следующие инструкции к запросу:

    1. You are given:
    - Ticket data that gives the created date/time, first response date/time, and the first response SLA date/time:
    
    2. Your tasks:
    - Create a histogram of the tickets by day of the week created and show the first response SLA status
    - Create insights into trends in the data
    
    3. Return:
    - A graph. Make sure to return the graph as a base64 encoded image
    - A summary of insights
    
  2. Заземлите запрос, ссылаясь на соответствующие таблицы Dataverse (например, тикеты, расписания сотрудников).

    1. Используйте / для открытия меню ввода и знаний и выберите Dataverse в разделе Knowledge.

      Скриншот ссылки запроса на соответствующие таблицы Dataverse.

    2. Выберите таблицу и выберите необходимые поля (например, статус тикета, назначенный агент, статус SLA) для запроса.

    3. Выберите « Добавить », чтобы добавить поля из таблицы в подсказку.

      Скриншот добавления полей в подсказку.

    4. Выберите атрибут Фильтр по необходимости, чтобы фильтровать данные таблицы по конкретным атрибутам и значениям.

      Скриншот данных таблицы фильтрации.

  3. Выберите «Тест », чтобы запустить запрос.

  4. Проверьте, что запрос читает данные тикета, применяет правила присваивания и обновляет записи в Dataverse как ожидается.

    Скриншот запуска запроса для проверки функциональности.

  5. Сохраните запрос.

Интегрируйте запрос в поток агентов в Copilot Studio

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

  1. Вернитесь на страницу «Инструменты» агента и выберите «Добавить инструмент> Новыйинструмент>» Flow агента.

    Конструктор потоков агента появляется с инициалом Когда агент вызывает триггер потока .

  2. В дизайнере выберите Insert>Run a prompt , чтобы добавить новое действие Run a prompt.

    Скриншот вставки нового действия для запуска запроса в Agent Flow Designer.

  3. В узле Run a prompt выберите запрос интерпретатора кода.

    Скриншот выбора запроса интерпретатора кода в узле запуска запроса.

  4. В проектировщике выберите Вставить>Ответить агенту , чтобы добавить новое действие Ответить к агенту после действия Выполнить запрос .

  5. Далее откройте редактор «Ответить в узле агента », чтобы выбрать параметры для передачи агенту в качестве выходных данных.

  6. Используйте Add an output для добавления резюме текста и данных графика из запроса как выходные данные для потока.

    Назовите один из выходов Summary, и используйте опцию динамического значения, чтобы выбрать Insights выходную переменную из действия Run a prompt .

    Назовите второй выход GraphBase64, и определите значение выхода с помощью опции выражения. Выберите выход изображения Base64 из действия «Запустить подсказку ».

    Скриншот выбора выводов Summary text и Graph.

  7. Выберите Сохранить черновик.

  8. На вкладке «Обзор » в разделе «Детали» дайте название потоку.

Опубликуйте и используйте агент

  1. Сохраните и опубликуйте агента.

    Агент теперь может обрабатывать записи Dataverse и генерировать сводку и диаграмму.

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

  3. В разделе «Завершение» установите действие после запуска на «Отправить адаптивную карту» (указано ниже).

  4. В разделе Adaptive card для отображения с помощью формулы Power Fx выберите Formula , чтобы определить карту с помощью формулы.

    Появляется редактор адаптивных формул карт.

  5. Определите содержимое и источник адаптивной карты по следующей формуле:

    {
      "$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
      "type": "AdaptiveCard",
      "version": "1.0",
      "body": [
        {
          "type": "Image",
          "url": "data:image/png;base64," & Topic.Output.GraphBase64,
          "altText": "Ticket analysis generated graph"
        },
        {
          "type": "TextBlock",
          "text": Topic.Output.Summary,
          "wrap": true
        }
      ]
    }
    

    Здесь Topic.Output.GraphBase64 и Topic.Output.Summary — выходные переменные, определённые ранее для потока агентов.

  6. Сохраните своего агента и протестируйте его.

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

Пример сценария 3: запрос интерпретатора кода для создания диаграммы из пользовательского файла Excel

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

Создайте и настройте запрос для генерации диаграммы

С открытым редактором подсказок и включённым интерпретатором кода следуйте следующим шагам для создания запроса:

  1. Дайте вашему запросу значимое название (например, запрос для генерации изображений) и введите следующие инструкции для этой подсказки:

    Read the attached Excel (.xlsx) and convert it into a chart named mychart.png. 
    
  2. Откройте / меню ввода и знаний и выберите Изображение или документ в разделе Введение.

  3. Выберите файл Excel с примерами данных для загрузки в качестве входа документа для тестирования.

  4. Нажмите кнопку "Сохранить".

  5. Выберите Add to agent , чтобы добавить подсказку как инструмент.

Создайте тему, которая вызовет подсказку с графиком

  1. Перейдите во вкладку Topics в Copilot Studio и создайте новую тему, выбрав Add a topic>From blank.

  2. Под примечанием триггера установите Описать, что делает тема на «Когда файл загружается и пользователь говорит 'generate my chart.'»

  3. Выберите «Добавить» узел (Add node), а затем выберите цикл управления>переменными (Variable management list>management List Management Loop ) через список, чтобы добавить узел цикла.

  4. Выберите цикл через узел списка , чтобы открыть редактор узлов. В разделе «Элементы для цикла» выберите Выбрать переменную>системную>активность.Вложения.

    Скриншот примерной темы для триггерного запроса.

  5. Внутри цикла выберите « Добавить» узел, затем выберите «Добавить инструмент » и выберите ранее созданную подсказку, чтобы добавить инструмент подсказок в тему.

  6. Настройте соответственно входные и выходные переменные. Для входных данных установите с помощью формулы и Topic.LoopValue1.Value выберите Вставить. Для выхода инициализуйте переменную с именем Output , чтобы захватить выход запроса.

    Скриншот примера инструмента с подсказками.

  7. Внутри цикла выберите Добавить узел>Создать сообщение для добавления узла сообщения. Узел сообщения используется для передачи вывода запроса обратно пользователю. В этом примере запрос инициализирует переменную Output с ответом. Текст хранится в Output.text.

  8. В текстовой части сообщения выберите «Вставить переменную » и выберите Output.text.

  9. Выберите « Добавить>изображение », чтобы добавить изображение в сообщение.

    Скриншот примера инструмента для сообщений.

  10. Далее отформатируйте изображение правильно. Выберите «Медиа» и в разделе «URL изображения» выберите «Переменную>формулу» и введите следующую формулу:"data:" & Topic.Output.artifacts.mychart.mimeType & ";base64," & Topic.Output.artifacts.mychart.base64Content

    Замечание

    Этот формат необходим для правильного рендеринга изображения в чате. В этом примере — mychart это имя, выбранное для вывода файла в нашем запросе, а Output — имя переменной. Детали могут меняться в других примерах в зависимости от того, как названы переменные запроса и темы.

    Скриншот формулы рендеринга изображения.

  11. Выберите Сохранить, чтобы сохранить тему.

  12. Выберите Тест. При срабатывании запроса вы должны увидеть изображение.

    Скриншот ответа в чате с изображением.

Больше примеров запросов с использованием интерпретатора кода

В следующей таблице приведены дополнительные примеры подсказок, которые можно использовать с включённым интерпретатором кода. Эти примеры показывают, как подсказывать интерпретатор кода для выполнения сложных задач.

Prompt Ожидаемый результат
Создайте PDF-файл для фиксации деталей заказа Сгенерировать форму захвата заказов в PDF-форме
Создайте копию параметра PDF-файла <A> Создайте копию предоставленного PDF-файла.
Создайте Excel-файл с синтетическим набором данных о транзакциях продаж Создайте файл Excel с примером сделки по продажам. Вы можете повысить производительность, давая больше инструкций в запросе для генерации более продвинутых синтетических данных. Следующий пример показывает более сложный запрос.
Создайте Excel-файл с реалистичным синтетическим набором данных, моделирующий еженедельные транзакции продаж в четырёх регионах («Север», «Юг», «Восток», «Запад») на течение целого календарного года. Каждая запись должна включать:
- Дата сделки (еженедельная)
- Регион
- Имя продавца (по крайней мере три уникальных имени в каждом регионе)
- Категория товаров (например, «Электроника», «Мебель», «Бытовая техника», «Одежда»)
- Название продукта (реалистичные названия по категории)
- Проданные единицы
- Цена единицы (варьируется в зависимости от категории)
- Общая сумма продажи (рассчитана)
- Достигнутая цель (Да/Нет, на основе регионального порога)
- Четверть
- Канал (онлайн, розничная торговля, дистрибьютор)
- Сегмент клиента (например, «Предприятие», «МСП», «Потребитель»)

Внедрите случайные вариации и сезонность:
- Увеличение продаж «Электроники» в четвертом квартале
- Снижение продаж в «Севере» в январе–феврале (имитация зимнего замедления)
- Рост продаж одежды во втором квартале (весна)

Итоговый набор данных должен быть не менее 2000 строк. Добавьте лёгкую случайность для реализма.
Этот запрос генерирует Excel-файл с более насыщенными синтетическими данными, чем раньше. Этот запрос иллюстрирует эффективность интерпретатора кода и то, как следует давать чёткие и подробные инструкции в задании.
Автосоздание таблицы резюме — с использованием <параметра A> Генерировать:

- Ежемесячные сборки
- Регионы с высокими результатами
- Условное форматирование для слабых сотрудников
Проведите анализ файла Excel, передавая его в качестве входного в этот запрос. Этот запрос создаёт сводку в Excel, но также может быть сохранен в PDF-файл по соответствующим запросам.
Если продажи > 1000, выделите ячейки зелёным цветом, иначе сделайте красным Попросите интерпретатор кода выполнить форматирование Excel на основе условий и формул. Форматирование выражено в задании, как показано на иллюстрациях.

Вы можете применить ту же идею и к другим сценариям использования в форматировании/обработке стиля Excel.