Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Note
В этой статье описываются особенности, используемые в агентах или потоках агентов, питаемых стандартным жгутом.
Следующие примеры демонстрируют возможности интерпретатора кода для работы со сложными запросами.
Примеры предполагают, что вы создали новый запрос и включили интерпретатор кода в параметрах запроса.
Пример сценария 1: запрос интерпретатора кода для аудита транзакций
Менеджер по закупкам в компании Contoso регулярно проводит аудит транзакций по закупкам. Он получает периодический PDF-отчет со списком поставщиков с высоким уровнем риска и следует политике, согласно которой для операций на сумму свыше 10 000 долларов США требуется оформление заказа на покупку. Менеджер по закупкам использует PDF-отчет для аудита транзакций в Excel. Менеджер по закупкам использует запросы с интерпретатором кода для автоматизации этого процесса аудита.
Редактирование и тестирование запроса транзакций
Откройте редактор запросов и включите интерпретатор кода, затем выполните следующие шаги для создания запроса:
Введите следующие инструкции для запроса:
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В инструкциях замените
<parameter A>на входной параметр файла Excel, который содержит транзакции по закупкам. Чтобы внести изменения, замените текст на/, а затем выберите Изображение или документ из контекстного меню. Назовите этот параметр, например "транзакции по закупкам", и отправьте пример файла Excel с транзакциями в ожидаемом формате.Убедитесь, что в файле транзакций есть следующие столбцы: идентификатор транзакции, имя поставщика, сумма счета, номер заказа на покупку и дата транзакции. Вы можете использовать другой запрос с включенным интерпретатором кода, чтобы при необходимости создать этот пример файла Excel.
Выполните те же шаги, чтобы заменить текст
<parameter B>в инструкции на загруженный PDF-документ отчета о рисках поставщика. В PDF-файле можно указать имена поставщиков в виде списка. Опять же, вы можете использовать другой запрос с включенным интерпретатором кода, чтобы создать пример PDF-файла по мере необходимости.Выберите Тест.
Через несколько секунд вы увидите сводку в виде текстового ответа модели.
Note
Вы можете оставить модель по умолчанию GPT-4o или выбрать любую другую модель при необходимости.
В разделе Ответ модели>Выходные данные выберите Документ в качестве формата ответа модели. В ответе модели также должен отображаться обновленный файл Excel с отмеченными транзакциями и сводный отчет в формате PDF. Вы можете загрузить эти файлы для проверки результатов.
Для повторного тестирования с другими входными файлами отправьте новые примеры файлов в инструкции и выберите Тест без повторного создания.
Этот пример демонстрирует возможности интерпретатора кода, который позволяет выполнять сложные сценарии с использованием файлов непосредственно на основе запросов.
Пример сценария 2: запрос интерпретатора кода для создания визуальной сводки по таблицам Dataverse
Этот пример показывает, как создать запрос с включенным интерпретатором кода для чтения записей из таблиц Dataverse, анализа данных, а также генерации визуальной сводки (диаграммы) и текстовой сводки.
Редактирование и тестирование запроса Dataverse
Откройте редактор запросов и включите интерпретатор кода, затем выполните следующие шаги для создания запроса:
Введите следующие инструкции для запроса:
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Свяжите запрос с соответствующими таблицами Dataverse (например, запросами и расписаниями сотрудников), чтобы обеспечить его контекстом.
Используйте
/, чтобы открыть меню входных данных и базы знаний, и выберите Dataverse в разделе База знаний.
Выберите таблицу, затем выберите необходимые поля (например, статус запроса, назначенный агент, статус SLA) для запроса.
Выберите Добавить, чтобы добавить поля из таблицы в запрос.
Выберите Атрибут фильтра по необходимости, чтобы фильтровать данные таблицы по конкретным атрибутам и значениям.
Выберите Тестировать, чтобы выполнить запрос.
Убедитесь, что запрос читает данные запросов, применяет правила назначения и обновляет записи в Dataverse, как ожидается.
Сохраните запрос.
Интеграция запроса в поток агента в Copilot Studio
Затем можно создать поток агента, который будет использовать этот запрос и подключаться к Dataverse.
Вернитесь на страницу Инструменты для агента и выберите Добавить инструмент>Новый инструмент>Поток агента.
Откроется конструктор потоков агентов с начальным триггером Когда поток вызывается агентом.
В конструкторе выберите Вставить>Выполнить запрос, чтобы добавить новое действие Выполнить запрос.
В узле Выполнить запрос выберите запрос интерпретатора кода.
В конструкторе выберите Вставить>Ответить агенту, чтобы добавить новое действие Ответить агенту после действия Выполнить запрос.
Затем откройте редактор узла Ответить агенту, чтобы выбрать параметры для передачи агенту в качестве выходных данных.
С помощью команды Добавить выходные данные добавьте в поток текст сводки и данные изображения графика из запроса в качестве выходных данных.
Назовите один из выходных параметров
Summaryи с помощью параметра динамического значения выберите выходную переменнуюInsightsиз действия Выполнить запрос.Назовите второй выходной параметр
GraphBase64и задайте выходное значение с помощью параметра выражения. Выберите выходные данные изображения Base64 из действия Выполнить запрос.
Выберите Сохранить черновик.
На вкладке Обзор в разделе Сведения присвойте имя потоку.
Публикация и использование агента
Сохраните и опубликуйте агента.
Теперь агент может обрабатывать записи Dataverse и создавать сводку и диаграмму.
Перейдите на страницу Инструменты агента и выберите конкретный поток агента, который использует запрос.
В разделе Завершение задайте для действия После запуска значение Отправить адаптивную карточку (укажите ниже).
В разделе Адаптивная карточка для отображения с использованием формулы Power Fx выберите Формула, чтобы определить карточку с помощью формулы.
Откроется редактор формул адаптивной карточки.
Определите содержимое и источник для адаптивной карточки, используя следующую формулу:
{ "$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— это выходные переменные, определенные ранее для потока агента.Сохраните агент и протестируйте его.
Опубликуйте агент, чтобы другие пользователи могли генерировать динамическое содержимое на основе таблиц Dataverse.
Пример сценария 3: запрос интерпретатора кода для создания диаграммы из предоставленного пользователем файла Excel
В этом примере показано, как создать запрос с включенным интерпретатором кода для чтения отправленного файла Excel, преобразования данных в изображение диаграммы и возврата изображения пользователю. Запрос активируется из темы, когда пользователь отправляет файл Excel и запрашивает диаграмму.
Создание и настройка запроса на создание диаграммы
Откройте редактор запросов и включите интерпретатор кода, затем выполните следующие действия, чтобы создать запрос:
Присвойте запросу понятное имя (например, Запрос на создание изображения) и введите для него следующие инструкции:
Read the attached Excel (.xlsx) and convert it into a chart named mychart.png.Используйте
/для открытия меню входных данных и базы знаний и выберите Изображение или документ в разделе Входные данные.Выберите файл Excel с демонстрационными данными, чтобы загрузить его в качестве входного документа для тестирования.
Нажмите Сохранить.
Выберите Добавить в агент, чтобы добавить запрос как инструмент.
Создание темы, которая вызывает запрос на создание диаграммы
Перейдите на вкладку Темы в Copilot Studio и создайте новую тему, выбрав Добавить тему>С нуля.
В примечании Триггер установите для параметра Опишите назначение темы значение «Когда файл загружен и пользователь говорит: "создай мою диаграмму"».
Выберите Добавить узел, затем выберите Управление переменными>Управление списками>Перебор списка, чтобы добавить узел цикла.
Выберите узел Перебор списка, чтобы открыть редактор узла. В разделе Элементы для перебора в цикле выберите Выбрать переменную>Система>Activity.Attachments.
Внутри цикла выберите Добавить узел, затем выберите Добавить инструмент и выберите созданный ранее запрос, чтобы добавить инструмент запроса в тему.
Настройте входные и выходные переменные соответствующим образом. Для входных данных задайте значение с помощью формулы
Topic.LoopValue1.Value, затем выберите Вставить. Для выходных данных инициализируйте переменную с именемOutput, чтобы захватить выходные данные запроса.
Внутри цикла выберите Добавить узел>Создать сообщение, чтобы добавить узел сообщения. Узел сообщения используется для передачи выходных данных запроса обратно пользователю. В этом примере запрос инициализирует переменную
Outputс ответом. Текст хранится вOutput.text.В текстовой части сообщения выберите Вставить переменную и выберите
Output.text.Выберите Добавить>Изображение, чтобы добавить изображение в сообщение.
Затем настройте форматирование, чтобы изображение отображалось правильно. Выберите Мультимедиа и в разделе URL-адрес изображения выберите Выбрать переменную>Формула, затем введите следующую формулу:
"data:" & Topic.Output.artifacts.mychart.mimeType & ";base64," & Topic.Output.artifacts.mychart.base64ContentNote
Данный формат требуется для корректного отображения изображения в чате. В этом примере
mychartпредставляет имя, которое мы выбрали для выходных данных файла в нашем запросе, аOutput— это имя переменной. В других примерах эти значения могут отличаться в зависимости от того, как названы выходные данные запроса и переменные темы.
Выберите Сохранить, чтобы сохранить тему.
Выберите Тест. При срабатывании запроса вы должны увидеть изображение.
Дополнительные примеры запросов с использованием интерпретатора кода
В следующей таблице приведены дополнительные примеры запросов, которые можно использовать при включенном интерпретаторе кода. Эти примеры показывают, как с помощью запросов поручать интерпретатору кода выполнение сложных задач.
| Prompt | Ожидаемый результат |
|---|---|
| Создание PDF-файла для захвата сведений о заказе | Генерирование формы захвата заказа в форме PDF |
| Создание копии <параметра A> PDF-файла | Создайте копию предоставленных входных данных PDF-файла. |
| Создание файла Excel с синтетическим набором данных транзакций продаж | Создайте файл Excel с примером транзакции продажи. Для повышения качества результатов можно добавить в запрос дополнительные инструкции, чтобы генерировать более сложные синтетические данные. В следующем примере показан более сложный запрос. |
| Создайте файл Excel с реалистичным синтетическим набором данных, моделирующим еженедельные транзакции по продажам в четырех регионах ("Север", "Юг", "Восток", "Запад") за полный календарный год. Каждая запись должна включать: - Дата транзакции (еженедельно) - Регион - Имя продавца (по крайней мере три уникальных имени в каждом регионе) - Категория продукта (например, "Электроника", "Мебель", "Бытовая техника", "Одежда") - Название продукта (реалистичные, соответствующие категории названия) - Количество проданных единиц - Цена за единицу (варьируется в зависимости от категории) - Общая сумма продаж (рассчитанная) - Достигнутая цель ("Да/нет", на основе регионального порога) - Квартал - Канал (онлайн, розница, дистрибьютор) - Сегмент клиента (например, "Предприятие", "SMB", "Потребитель") Добавьте случайные вариации и сезонность: - Увеличение продаж в категории "Электроника" в четвертом квартале - Снижение продаж в регионе "Север" в январе–феврале (симуляция зимнего спада) - Увеличение продаж одежды во втором квартале (весна) Итоговый набор данных должен быть не менее 2000 строк. Добавьте небольшую случайность для реализма. |
Этот запрос генерирует файл Excel с более богатыми синтетическими данными, чем раньше. Этот запрос иллюстрирует эффективность интерпретатора кода и то, насколько важно давать четкие и подробные инструкции в запросе. |
| Автоматическое создание листа "Сводка" — с помощью <параметра A> создайте: - Ежемесячные сводные данные - Лучшие регионы - Условное форматирование для регионов с низкими показателями |
Проанализируйте файл Excel, передав его в качестве входных данных в этот запрос. Этот запрос создает сводку в Excel, но при необходимости ее можно сохранить в PDF-файл. |
| Выдели ячейки зеленым цветом, если продажи > 1000; в противном случае выдели красным цветом | Попросите интерпретатор кода выполнить форматирование Excel на основе условий и формул. Форматирование описывается в запросе, как показано ниже. Этот же подход можно применять и в других сценариях форматирования и оформления в Excel. |