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