Partager via


Vue d’ensemble de la recherche de contenu d’application

La fonctionnalité Recherche de contenu d’application activée par les API d’IA Windows permet aux développeurs d’applications d’intégrer des fonctionnalités de recherche intelligentes dans leurs applications Windows à l’aide de l’API AppContentIndexer . En indexant du contenu dans l’application et en le rendant accessible à la recherche via des requêtes sémantiques, les utilisateurs peuvent récupérer des résultats basés non seulement sur des mots clés exacts, mais également sur la signification sémantique. Vous pouvez utiliser cet index sémantique pour améliorer vos propres assistants IA avec des connaissances spécifiques au domaine, en créant des expériences plus personnalisées et spécifiques au contexte.

Utilisez cette API pour :

  • Créez des expériences de recherche dans l’application qui utilisent la recherche sémantique et lexicale. Les utilisateurs peuvent rechercher par signification, en plus des correspondances exactes de mots clés, ce qui facilite la recherche d’informations pertinentes.

  • Prise en charge de la génération augmentée de récupération (RAG) en activant la récupération de connaissance locale. Lorsqu’il est associé à un modèle de langage volumineux (LLM), cela vous permet de récupérer le contenu le plus pertinent à partir de la base de connaissances de votre application et de générer des réponses plus précises et contextuelles.

L’API ApplicationContentIndexer est actuellement disponible uniquement dans la version 2.0 Expérimentale 2 du Kit de développement logiciel (SDK) d’application Windows.

L’application ai Dev Gallery offre un exemple interactif de l’API AppContentIndexer qui vous permet d’expérimenter la fonctionnalité Recherche de contenu d’application. En savoir plus sur la galerie AI Dev, notamment sur l’installation à partir du Microsoft Store ou du code source sur GitHub.

Qu’est-ce que l’API AppContentIndexer ?

L’API AppContentIndexer permet aux applications de rendre leur contenu texte et image pouvant faire l’objet d’une recherche à l’aide de mots clés (lexical) et de recherche basée sur une signification (sémantique), sans que les développeurs comprennent la complexité sous-jacente.

En arrière-plan, il utilise des techniques avancées telles que l’incorporation de vecteurs, les bases de données vectorielles et l’indexation de texte traditionnelle, mais ces détails sont entièrement abstraits. Les développeurs interagissent avec une API simple et de haut niveau. Lorsque le contenu est indexé, le système stocke les vecteurs d’incorporation (qui capturent la signification sémantique) ainsi que les identificateurs de contenu. Les demandes de recherche retournent ensuite des identificateurs basés sur les correspondances de mots clés ou la similarité sémantique. Par exemple, la recherche de « chatons » peut retourner un texte connexe sur les chats ou les images de chatons. Les recherches sémantiques fonctionnent mieux avec des expressions descriptives, de sorte qu’une requête comme « chats assis sur des fenêtres » est plus susceptible de produire des résultats très pertinents.

L’index est conservé sur le disque. Par conséquent, la réindexation n’est pas nécessaire lors du lancement de chaque application.

En interne, ApplicationContentIndexer utilise une combinaison d’indexation de texte traditionnelle et de recherche basée sur des vecteurs modernes alimentés par des incorporations. Ces détails sont extraits : les développeurs n’ont pas besoin de gérer directement les modèles d’incorporation, le stockage vectoriel ou l’infrastructure de récupération.

Vous pouvez interroger l’index à l’aide d’une chaîne simple. La requête peut retourner :

  • Correspondances lexicales : correspondances de texte exactes (y compris le texte trouvé dans les images).
  • Correspondances sémantiques : contenu similaire au sens, même si les mots ne sont pas identiques.

Par exemple, une requête pour « chaton » peut renvoyer une référence à :

  • Les entrées de texte sur les chats, même si le mot « chaton » n’est pas explicitement mentionné.
  • Images qui contiennent visuellement des chatons.
  • Contenu textuel dans les images contenant le mot « chat » ou des mots ayant une pertinence sémantique suffisante.

Types de contenu pris en charge

ApplicationContentIndexer prend en charge l’ajout des types de contenu suivants :

  • Texte : contenu texte brut ou structuré.
  • Images : captures d’écran, photos ou fichiers image contenant du texte ou des éléments visuels reconnaissables.

Identificateurs de contenu définis par l’application

AppContentIndexer prend en charge le contenu géré par l’application en permettant aux applications d’indexer des éléments à l’aide d’identificateurs de contenu définis par l’application. Les requêtes retournent ces identificateurs, que l’application utilise pour récupérer le contenu réel à partir de son propre magasin de données.

Les requêtes de texte retournent des objets AppManagedTextQueryMatch, et les requêtes d’image retournent des objets AppManagedImageQueryMatch, qui incluent uniquement le ContentId, et non le contenu lui-même.

Pour obtenir des conseils sur l’intégration de cette fonctionnalité dans votre application et l’utilisation de l’API ApplicationContentIndexer, consultez : Démarrage rapide : Recherche de contenu d’application

Confidentialité et sécurité

Les index sémantiques et lexicals sont générés au nom de votre application et stockés dans le dossier de données d’application locale de l’application. Dans le cadre de la préversion privée, cette fonctionnalité est destinée à l’indexation du contenu d’application non sensible. Pour les meilleures pratiques de sécurité, n’utilisez pas cette fonctionnalité pour indexer les données utilisateur susceptibles de contenir des informations personnelles, confidentielles ou sensibles.

Considérations relatives à l’IA responsable

Les fonctionnalités d’indexation sémantique et de recherche de cette préversion n’appliquent aucune forme de modération de contenu, ni tentent de détecter ou d’atténuer le biais sémantique introduit par les modèles sous-jacents. Les développeurs sont responsables de l’évaluation et de la gestion des risques potentiels lors de l’implémentation de fonctionnalités basées sur l’IA.

Nous vous recommandons d’examiner les recommandations en matière de développement d’IA responsable sur Windows lors de la création d’expériences IA dans votre application.