Partager via


Les réponses génératives pointant vers SharePoint des sources ne renvoient pas de résultats

Les réponses génératives permettent aux créateurs de créer des copilotes qui répondent à des questions fondées sur des sources de données, telles que des sites Web publics ou SharePoint, en pointant le copilote vers ces sources de données. Cependant, il arrive parfois que le copilote ne fournisse pas de réponse et renvoie à la place quelque chose comme Je ne sais pas comment vous aider. Pouvez-vous essayer de reformuler ? (le message réel dépend de l’implémentation).

Capture d’écran montrant aucune réponse des réponses génératives.

Pourquoi le nœud « Créer des réponses génératives » ne répond-il pas ?

Lorsqu’une source de données SharePoint est configurée, plusieurs facteurs différents peuvent empêcher les réponses génératives de renvoyer une réponse, notamment les facteurs potentiels suivants :

  1. Les résultats de la recherche sont manquants

  2. L’utilisateur qui accède au copilote ne dispose pas d’autorisations suffisantes sur la source de données

  3. La taille des fichiers est supérieure à 512 Mo

  4. L’enregistrement de l’application ou le copilote est configuré de manière incorrecte

  5. Contenu bloqué par la modération du contenu

Note

Avant de continuer, assurez-vous d’avoir suivi les instructions sur la façon de configurer des réponses génératives dans SharePoint.

Les résultats de la recherche sont manquants

Les réponses génératives pour une source de données SharePoint se basent sur la réalisation d’appels au point de terminaison de recherche de l’API Graph. Seuls les trois premiers résultats provenant de l’API Graph sont utilisés pour résumer et générer une réponse. Si aucun résultat n’est renvoyé par l’API Graph, le nœud de réponses génératives ne fournit pas de réponse.

Pour diagnostiquer si Copilot Studio ne renvoie pas de résultats de l’API Graph, vous pouvez effectuer des appels directs au point de terminaison de la recherche de l’API Graph. Cet appel simule la façon dont Copilot Studio fonctionne en arrière-plan. Les appels au point de terminaison de la recherche de l’API Graph peuvent être générés en utilisant le modèle suivant avec l’Explorateur graphique. Lorsque vous accédez à l’Explorateur graphique, veillez à vous connecter avec les informations d’identification appropriées pour le client SharePoint.

Le modèle peut être utilisé soit en copiant la charge utile suivante, soit en utilisant ce lien profond, qui ouvre l’Explorateur graphique avec une requête préremplie.

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
            }
        }
    ]
}

Résultats manquants

Supposons que les réponses génératives soient configurées pour fournir des réponses basées sur le contenu stocké dans https://<user-domain>.sharepoint.com/sites/HR. Cependant, les utilisateurs ne reçoivent pas de réponses lorsqu’ils demandent : « Quelle est notre politique concernant les avantages et les bénéfices ? »

En arrière-plan, les requêtes des utilisateurs sont réécrites ; par conséquent, seuls les mots-clés principaux sont envoyés à l’API Graph, ce qui génère une requête similaire à l’exemple suivant :

Capture d’écran d’une requête de recherche dans l’Explorateur graphique.

Si aucun résultat n’est renvoyé au point de terminaison de la recherche, comme indiqué dans la réponse suivante, les réponses génératives ne fournissent pas non plus de réponse.

Capture d’écran montrant aucun résultat renvoyé par une recherche dans l’Explorateur graphique.

Comment corriger

  1. Assurez-vous que votre nœud Créer des réponses génératives pointe vers un emplacement SharePoint avec un contenu pertinent.

  2. Seuls les documents dans les formats pris en charge sont utilisés pour générer des réponses.

    Note

    Seules les pages SharePoint modernes sont prises en charge.

  3. Il est possible que les documents n’aient été téléchargés que récemment dans SharePoint, mais qu’ils ne soient pas encore indexés. Il est également possible que certains paramètres empêchent certains sites d’apparaître dans les résultats de la recherche. Pour plus d’informations, consultez Résultats de la recherche manquants dans SharePoint Online.

Autorisations utilisateur manquantes

Les réponses génératives sur SharePoint se basent sur les autorisations déléguées lors de la réalisation d’appels à l’API Graph. Au minimum, un utilisateur doit disposer d’autorisations de lecture sur les sites et fichiers pertinents, sinon l’appel à l’API Graph ne renvoie aucun résultat.

Si l’utilisateur ne dispose pas d’autorisations, aucun résultat n’est renvoyé par l’API Graph, ni aucune erreur ou exception. Pour un utilisateur sans autorisations, il semble qu’aucun document n’ait été trouvé.

Comment corriger

Modifiez les autorisations afin que les utilisateurs puissent accéder aux sites et fichiers pertinents. Pour plus d’informations, consultez Partage et autorisations dans l’expérience moderne SharePoint.

L’enregistrement de l’application ou le copilote est configuré de manière incorrecte

Lorsque les administrateurs configurent des réponses génératives sur SharePoint, ils doivent configurer l’authentification avec un Microsoft Entra ID et configurer des étendues supplémentaires. Si des portées sont manquantes lors de l’enregistrement de l’application ou dans les paramètres d’authentification du copilote, ou si le consentement n’a pas été accordé pour les portées requises, aucun résultat n’est renvoyé, ni aucune erreur ou exception. Pour un utilisateur final, il semble qu’aucun document n’ait été trouvé.

Comment corriger

Ajoutez les portées nécessaires à l’enregistrement de l’application et/ou aux paramètres d’authentification du copilote et accordez votre consentement.

L’exemple suivant est une référence à un enregistrement d’application bien configuré :

Capture d’écran des autorisations d’enregistrement de l’application.

L’exemple suivant montre les paramètres d’authentification requis dans Copilot Studio :

Capture d’écran montrant les paramètres d’authentification de Copilot Studio.

Prise en charge de la taille des fichiers

Les fichiers d’une taille maximale de 512 Mo peuvent être chargés. Cependant, actuellement, pour les sources SharePoint, les réponses génératives ne peuvent traiter que des fichiers d’une taille maximale de 3 Mo. Les fichiers plus volumineux peuvent être stockés dans SharePoint et sont renvoyés par une recherche de l’API Graph, mais ne sont pas traités par les réponses génératives.

Comment corriger

Si les fichiers pertinents pour votre expérience d’IA conversationnelle dépassent la limitation de taille, vous souhaiterez peut-être explorer des architectures alternatives, comme utiliser l’indexation sémantique Microsoft 365 ou connecter vos données à Azure OpenAI pour obtenir des réponses génératives.

Contenu bloqué par la modération du contenu

Lors de la génération de réponses, Copilot Studio modère le contenu nuisible, malveillant, non conforme ou en violation des droits d’auteur. Lorsque le contenu est modéré, les réponses génératives ne fournissent pas de réponse ni d’indication que le contenu a été modéré. Cependant, les événements de modération sont enregistrés lorsque Copilot Studio est configuré pour envoyer des données de télémétrie à Azure Applications Insights.

Après avoir connecté votre copilote à Azure App Insights, vous pouvez utiliser la requête Kusto Query Language (KQL) suivante pour savoir si le contenu a été filtré :

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

Dans l’exemple suivant, la requête KQL met en évidence une tentative d’utilisation de réponses génératives filtrées par la modération de contenu :

Capture d’écran d’Azure Application Insights.

Comment corriger

  1. Essayez d’ajuster la modération du contenu, mais gardez à l’esprit que des paramètres de modération du contenu plus faibles peuvent générer des réponses moins précises ou pertinentes.

  2. Si vous pensez que votre contenu ne doit pas être modéré, adressez-vous au service clientèle.