Настройка передачи в любой общий центр взаимодействия
Важно
Возможности и функции Power Virtual Agents теперь являются частью Microsoft Copilot Studio после значительных инвестиций в генеративный искусственный интеллект и расширенную интеграцию с Microsoft Copilot.
Некоторые статьи и снимки экрана могут ссылаться на Power Virtual Agents, пока мы обновляем документацию и учебные материалы.
Copilot Studio позволяет легко и контекстно передавать беседы с помощниками агенту-человеку через центр взаимодействия.
С помощью некоторых пользовательских разработок вы можете настроить свой помощник на передачу разговоров в любой центр взаимодействия. Это руководство описывает, как вы можете сделать это.
Предварительные условия
- Вам нужно создать помощник с помощью Copilot Studio.
- Вам нужен центр взаимодействия, который может программно взаимодействовать с помощью API или SDK.
Внимание
Инструкции в этом разделе требуют разработки программного обеспечения от вас или ваших разработчиков. Она предназначена для опытных ИТ-специалистов, таких как ИТ-администраторы или разработчики, которые хорошо разбираются в инструментах разработчика, утилитах и интегрированных средах разработки (IDE) и которым требуется интегрировать центры взаимодействия сторонних разработчиков с Copilot Studio.
Обзор
Полная передача в центр взаимодействия следует этой схеме:
Конечный пользователь взаимодействует с холстом чата центра взаимодействия.
Центр взаимодействия направляет входящий чат через встроенные возможности маршрутизации чата помощнику.
Пользовательский адаптер передает входящие сообщения чата из центра взаимодействия в помощник Copilot Studio.
После того как конечный пользователь запускает передачу, Copilot Studio начинает передачу с полным разговорным контекстом.
Пользовательский адаптер перехватывает сообщение о передаче обслуживания, анализирует полный контекст диалога и плавно перенаправляет эскалированный диалог квалифицированному агенту-человеку в зависимости от доступности.
Чат конечного пользователя легко и контекстно передается человеку-агенту, который может возобновить разговор.
Чтобы передать разговор агенту-человеку, вам нужно создать специальный адаптер для передачи.
Создание пользовательского адаптера передачи обслуживания
Адаптер соединяет разговоры с центром обслуживания вашего агента, передавая и преобразовывая сообщения между конечными пользователями, помощниками и агентами-людьми.
Самые популярные центры взаимодействия с агентами предоставляют SDK или публично документируют свои API, что позволяет создавать такие адаптеры.
Хотя обсуждение того, что может содержать пользовательский адаптер, выходит за рамки этого документа, следующий пример сообщения о передаче, основанный на том, что Copilot Studio генерирует как часть нашего стандартного переключения на агента-человека, может помочь вам начать.
Эти фрагменты кода и примеры позволяют извлекать контекст из беседы, чтобы беспрепятственно и контекстуально передавать беседы с помощником любому общему центру взаимодействия.
Пример полезной нагрузки сообщения о передаче
Передача сейчас поддерживается только по Direct Line. Узнайте больше о взаимодействии с помощником по Direct Line. После передачи действие события под названием handoff.initiate
вызывается и отправляется в адаптер.
Вы можете увидеть полный пример действия сообщения передачи на нашем сайте GitHub.
Извлечение контекста из сообщения о передаче
Чтобы использовать контекст разговора, нужно разобрать действие события handoff.initiate
.
Следующий фрагмент кода анализирует действие события handoff.initiate
и извлекает контекст разговора. См. полный пример кода на GitHub.
public void InitiateHandoff(string botresponseJson)
{
BotResponse response = JsonConvert.DeserializeObject<BotResponse>(botresponseJson);
// Look for Handoff Initiate Activity. This indicates that conversation needs to be handed off to agent
Activity handoffInitiateActivity = response.Activities.ToList().FirstOrDefault(
item => string.Equals(item.Type, ActivityTypes.Event, System.StringComparison.Ordinal)
&& string.Equals(item.Name, HandoffInitiateActivityName, System.StringComparison.Ordinal));
if (handoffInitiateActivity != null)
{
// Read transcript from attachment
if (handoffInitiateActivity.Attachments?.Any() == true)
{
Attachment transcriptAttachment = handoffInitiateActivity.Attachments.FirstOrDefault(a => string.Equals(a.Name.ToLowerInvariant(), TranscriptAttachmentName, System.StringComparison.Ordinal));
if (transcriptAttachment != null)
{
Transcript transcript = JsonConvert.DeserializeObject<Transcript>(transcriptAttachment.Content.ToString());
}
}
// Read handoff context
HandoffContext context = JsonConvert.DeserializeObject<HandoffContext>(handoffInitiateActivity.Value.ToString());
// Connect to Agent Hub
// <YOUR CUSTOM ADAPTER CODE GOES HERE>
}
}
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по