Возврат списка результатов
Обычно агент просит найти данные во внешней системе и вернуть список результатов. Для этого агент может вызвать поток Power Automate для того, чтобы:
- Выполнить аутентификацию и подключиться к внешнему решению.
- Выполнять запрос на основе данных, введенных пользователем.
- Форматировать результаты.
- Вернуть результаты агенту.
В этом примере используется соединитель Dataverse в Power Automate для поиска учетных записей. Соединитель возвращает агенту список результатов, включающий имя учетной записи, город и номер учетной записи.
Предварительные требования
- Узнайте, как создать поток с холста разработки Copilot Studio
- Использование входных и выходных переменных для передачи информации
- Настройка поиска Dataverse для своей среды
Настройка таблицы учетной записи Dataverse
Таблица учетных записей — это стандартная таблица, доступная по умолчанию в средах Power Platform. Однако она не поставляется с данными учетных записей. Прежде чем агент сможет выполнять поиск счетов, необходимо заполнить таблицу Учетная запись.
Если у вас уже есть таблица учетных записей с данными, пропустите этот шаг и перейдите к пункту Создание темы. Однако не забывайте использовать условия поиска, относящиеся к вашим данным, при тестировании агента на последующих этапах.
Перейдите на портал Power Apps.
На панели навигации выберите Таблицы.
Выберите таблицу Учетная запись, затем на странице свойств таблицы выберите Изменить.
Добавьте следующие строки в таблицу:
Адрес 1: город Имя учетной записи Номер счета Сиэтл Contoso Inc AC0125 Сан-Франциско Contoso Residences AC0255 Olympia Доставка еды Contoso AC0035
Создание темы
В Copilot Studio перейдите на страницу Темы для вашего агента.
Создайте тему с названием Поиск учетной записи.
Добавьте следующие триггерные фразы:
- Я ищу клиента
- Я ищу организацию
- поиск организации
- поиск клиента
Добавьте узел Сообщение и введите сообщение «Похоже, вы ищете учетную запись. Я могу найти это для вас».
Добавьте узел Вопрос и введите сообщение «Как называется клиент, которого вы ищете?».
В поле Идентификация выберите Организация.
Весь ответ пользователя также будет работать. Однако, выбрав элемент Организация, вы воспользуетесь возможностями понимания языка агента для извлечения названия организации из ответа.
Для Сохранить ответ пользователя как переименуйте переменную в "организация".
Создание потока
Выберите значок Добавить узел
под любым узлом и выберите Добавить действие.
На вкладке Основные действия выберите Создать поток Power Automate.
В Power Automate выберите имя потока и замените его на Поиск учетной записи.
Выберите триггер потока Выполнить поток из Copilot и добавьте входной параметр Текст с именем Организация.
Выберите значок Добавить под триггером потока Выполнить поток из Copilot.
В разделе Добавить действие найдите "Microsoft Dataverse" и выберите действие Поиск строк.
Это действие использует нечеткое сопоставление для поиска релевантных учетных записей в вашей таблице учетных данных Dataverse.
В поле Поисковый запрос введите косую черту (
/
), выберите Вставить динамическое содержимое, затем выберите входной параметр Организация.Для пункта Дополнительные параметры выберите Показать все и задайте следующие значения:
-
Элемент фильтра таблицы:
account
-
Сортировать по позиции - 1:
search.score desc
-
Сортировать по позиции - 2:
name asc
-
Элемент фильтра таблицы:
Форматирование результатов
Действие Поиск строк возвращает переменную Список строк, которая содержит данные JSON. Прежде чем использовать данные, необходимо проанализировать их с помощью действия Анализ JSON.
Выберите значок Добавить под действием Поиск строк.
В Добавить действие найдите "Операция с данными" и выберите действие Анализ JSON.
В поле Содержимое введите косую черту (
/
), выберите Вставить динамическое содержимое, затем выберите Список строк.Скопируйте следующую схему JSON и вставьте ее в поле Схема:
{ "type": "array", "items": { "type": "object", "properties": { "@@search.score": { "type": "number" }, "name": { "type": "string" }, "address1_city": { "type": "string" }, "accountnumber": { "type": "string" } }, "required": [ "name" ] } }
Выберите значок Добавить под действием Анализ JSON.
В Добавить действие найдите "Переменная" и выберите действие Инициализировать переменную.
В поле Имя введите "ListOfAccounts".
Для Тип выберите Строка.
Выберите значок Добавить под действием Инициализировать переменную.
В Добавить действие найдите "Элемент управления" и выберите действие Применить к каждому.
В поле Выберите выходные данные из предыдущих шагов введите косую черту (
/
), выберите Вставить динамическое содержимое, затем выберите переменную Текст в разделе Анализ JSON.Выберите значок Добавитьвнутри действия Применить к каждому.
В Добавить действие найдите "Переменная" и выберите действие Добавить к переменной строки.
Для Имя выберите ListOfAccounts.
Скопируйте следующий текст и вставьте его в поле Значение:
- @{items('Apply_to_each')['accountnumber']}: @{items('Apply_to_each')['name']} - @{items('Apply_to_each')['address1_city']}
Добавьте перевод строки после фрагмент кода, чтобы каждый результат отображался на отдельной строке.
В действии Ответить Copilot добавьте выходные данные Текст.
Для Имя введите "FoundAccounts".
В качестве значения введите косую черту (
/
) в поле, выберите Вставить динамическое содержимое, затем выберите переменную ListOfAccounts.Сохраните и опубликуйте свой поток.
Вызов потока из Copilot Studio
В Copilot Studio выберите значок Добавить узел
под узлом Вопрос, выберите Добавить действие, затем выберите поток, который вы создали ранее, Поиск учетной записи.
Присвойте входному параметру потока значение выходной переменной из узла Вопрос: Организация(строка) получает свое значение из переменной организация.
Добавьте узел Сообщение и введите сообщение "Хорошо, вот что удалось найти".
Добавьте второй узел Сообщение. Выберите значок Вставить переменную, затем выберите FoundAccounts.
Выберите Сохранить.
Протестируйте свой агент.