Генеративные ответы, указывающие на источники SharePoint не возвращают результаты
Генеративные ответы позволяют разработчикам создавать агентов, которые отвечают на вопросы, основанные на источниках данных, таких как общедоступные веб-сайты или SharePoint, указывая агент на эти источники данных. Однако иногда агент не предоставляет ответ и вместо этого возвращает что-то вроде «Я не уверен, как с этим помочь. Можете попробовать перефразировать?» (фактическое сообщение зависит от реализации).
Почему не отвечает узел «Создать генеративные ответы»?
При настройке источника данных SharePoint может быть несколько различных факторов, препятствующих генеративным ответам возвращать ответ, например следующие потенциальные факторы:
Заметка
Прежде чем продолжить, убедитесь, что вы выполнили инструкции по настройке генеративных ответов по SharePoint.
Результаты поиска отсутствуют
Генеративные ответы для источника данных SharePoint основаны на вызовах конечной точки поиска API-интерфейса Graph. Только три первых результата, поступающие из API-интерфейса Graph, используются для подготовки резюме и генерации ответа. Если от API-интерфейса Graph не возвращается никаких результатов, узел генеративных ответов не предоставляет ответ.
Чтобы проверить, действительно ли Copilot Studio не возвращает результаты из API Graph, вы можете напрямую вызывать конечную точку поиска API Graph. Этот вызов имитирует работу Copilot Studio за кулисами. Вызовы конечной точки поиска API Graph можно создать с использованием следующего шаблона с помощью песочницы Graph. При доступе к песочнице Graph обязательно войдите в систему, используя соответствующие учетные данные для клиента SharePoint.
Шаблон можно использовать либо путем копирования следующих полезных данных, либо с помощью этой прямой ссылки, которая открывает песочницу Graph с предварительно заполненным запросом.
POST https://graph.microsoft.com/v1.0/search/query
{
"requests": [{
"entityTypes": ["driveItem", "listItem"],
"query": {
"queryString": "SEARCH TERMS filetype:docx OR filetype:aspx OR filetype:pptx OR filetype:pdf path:\"https://DOMAIN.sharepoint.com/sites/SITENAME\""
},
"from": 0,
"size": 3,
"QueryAlterationOptions": {
"EnableModification": true,
"EnableSuggestion": true
}
}
]
}
Отсутствующие результаты
Предположим, что генеративные ответы настроены на предоставление ответов на основе содержимого, хранящегося по адресу https://<домен-пользователя>.sharepoint.com/sites/HR. Однако пользователи не получают ответов на вопрос: «Какова наша политика в отношении льгот и преимуществ?»
За кулисами запросы пользователей переписываются, поэтому в API Graph передаются только основные ключевые слова, в результате чего получается запрос, аналогичный следующему примеру:
Если конечная точка поиска не возвращает результатов, как показано в следующем ответе, генеративные ответы также не дают ответа.
Как исправить
Убедитесь, что узел создания генеративных ответов указывает на расположение SharePoint с соответствующим содержимым.
Для формирования ответов используются только документы поддерживаемых форматов.
Заметка
Поддерживаются только современные страницы SharePoint.
Возможно, документы были отправлены в SharePoint совсем недавно, но еще не проиндексированы. Также возможно, что существуют настройки, которые не позволяют некоторым сайтам появляться в результатах поиска. Дополнительную информацию см. в разделе Отсутствуют результаты поиска в SharePoint Online.
Отсутствующие разрешения пользователя
Генеративные ответы по SharePoint полагаются на делегированные разрешения при вызовах API Graph. Как минимум, у пользователя должны быть разрешения на чтение соответствующих сайтов и файлов, иначе вызов API Graph не вернет никаких результатов.
Если у пользователя отсутствуют разрешения, API Graph не возвращает ни результатов, ни ошибок или исключений. Для пользователя без разрешений создается впечатление, что документы не найдены.
Как исправить
Измените разрешения, чтобы пользователи могли получить доступ к соответствующим сайтам и файлам. Дополнительную информацию см. в разделе Общий доступ и разрешения в современном интерфейсе SharePoint.
Регистрация приложения или агент настроены неправильно
Когда администраторы настраивают генеративные ответы по SharePoint, они должны настроить проверку подлинности с помощью Microsoft Entra ID и настроить дополнительные области действия. Если области отсутствуют в регистрации приложения или в настройках аутентификации агент, или если согласие не было предоставлено для требуемых областей, результаты не возвращаются, а также не возникают какие-либо ошибки или исключения. Для конечного пользователя создается впечатление, что документы не найдены.
Как исправить
Добавьте необходимые области действия в настройки регистрации приложения и/или аутентификации агент и предоставьте согласие.
Следующий пример представляет собой ссылку на хорошо настроенную регистрацию приложения:
В следующем примере показаны необходимые настройки аутентификации в Copilot Studio:
Поддержка размеров файлов
В настоящее время для SharePoint источников генеративные ответы могут обрабатывать только файлы размером до 3 МБ. Файлы большего размера можно хранить в SharePoint и они возвращаются с помощью поиска API Graph, но не обрабатываются генеративными ответами. В качестве альтернативы можно загружать файлы размером до 512 МБ.
Как исправить
Если файлы, необходимые для вашей коммуникации с искусственным интеллектом, превышают ограничение на размер, вы можете изучить альтернативные архитектуры, такие как использование семантического индексирования Microsoft 365 или подключить ваши данные к Azure OpenAI для получения генеративных ответов.
Контент заблокирован модерацией контента
При формировании ответов Copilot Studio модерирует контент, который является вредным, вредоносным, не соответствует требованиям или нарушает авторские права. Когда контент модерируется, генеративные ответы не дают ответа или указания на то, что контент был модерирован. Однако события модерации регистрируются, если Copilot Studio настроен на отправку данных телеметрии в Azure Applications Insights.
После подключения агент к Azure App Insights вы можете использовать следующий запрос Kusto Query Language (KQL), чтобы узнать, был ли отфильтрован контент:
customEvents
| extend cd = todynamic(customDimensions)
| extend conversationId = tostring(cd.conversationId)
| extend topic = tostring(cd.TopicName)
| extend message = tostring(cd.Message)
| extend result = tostring(cd.Result)
| extend SerializedData = tostring(cd.SerializedData)
| extend Summary = tostring(cd.Summary)
| extend feedback = tostring(todynamic(replace_string(SerializedData,"$","")).value)
| where name == "GenerativeAnswers" and result contains "Filtered"
| where cloud_RoleInstance == "myCopilot"
| project cloud_RoleInstance, name, timestamp, conversationId, topic, message, result, feedback, Summary
| order by timestamp desc
В следующем примере запрос KQL демонстрирует попытку использовать генеративные ответы, отфильтрованные модерацией контента:
Как исправить
Попробуйте настроить модерацию контента, но имейте в виду, что более низкие настройки модерации контента могут привести к тому, что ответы будут менее точными или релевантными.
Если вы считаете, что ваш контент не подлежит модерации, обратитесь в службу поддержки клиентов.