Обзор поиска содержимого приложения

Функция поиска содержимого приложений, включенная API ИИ Windows, позволяет разработчикам приложений интегрировать интеллектуальные возможности поиска в приложения Windows с помощью API AppContentIndexer . Индексируя содержимое в приложении и делая его доступным для поиска с помощью семантических запросов, пользователи могут получать результаты не только на основе точных ключевых слов, но и на семантическом значении. Этот семантический индекс можно использовать для улучшения собственных помощников по искусственному интеллекту с помощью знаний, относящихся к домену, создания более персонализированных, контекстных возможностей.

Используйте этот API для:

  • Создайте интерфейсы поиска в приложении, использующие как семантический, так и лексический поиск. Пользователи могут искать по смыслу, а также по точным совпадениям ключевых слов, что упрощает нахождение соответствующей информации.

  • Поддержка поколения Retrieval-Augmented (RAG) активируя извлечение локальных знаний. При паре с крупной языковой моделью (LLM) это позволяет получить наиболее релевантное содержимое из базы знаний вашего приложения и создать более точные ответы с учетом контекста.

API ApplicationContentIndexer в настоящее время доступен только в пакете SDK для приложений Windows версии 2.0 Экспериментальная версия 4.

Приложение AI Dev Gallery предлагает интерактивный пример API AppContentIndexer, позволяющий экспериментировать с функцией поиска по содержимому приложений. Дополнительные сведения о коллекции разработчиков ИИ, включая установку из Microsoft Store или исходного кода на GitHub.

Что такое API AppContentIndexer?

API AppContentIndexer позволяет приложениям выполнять поиск по тексту и изображению с помощью поиска по ключевым словам (лексическому) и лексическому (семантическому) поиска, не требуя, чтобы разработчики понимали базовую сложность.

За кулисами он использует расширенные методы, такие как внедрение векторов, векторных баз данных и традиционное индексирование текста, но эти сведения полностью абстрагированы. Разработчики взаимодействуют с простым высокоуровневым API. При индексировании содержимого система сохраняет векторы внедрения (которые фиксируют семантические значения) вместе с идентификаторами контента. Затем запросы поиска возвращают идентификаторы на основе совпадений ключевых слов или семантической сходства. Например, поиск "котят" может возвращать связанный текст о кошках или изображениях котят. Семантические поиски лучше всего работают с описательными фразами, поэтому запрос, такой как "кошки, сидящие на подоконниках", скорее всего, будут получать очень релевантные результаты.

Индекс сохраняется на диске, поэтому для каждого запуска приложения не требуется повторное индексирование.

Внутри приложения ApplicationContentIndexer использует сочетание традиционного индексирования текста и современного векторного поиска, основанного на внедрениях. Эти сведения абстрагируются, разработчики не должны управлять моделями внедрения, хранилищем векторов или инфраструктурой извлечения напрямую.

Вы можете запросить индекс с помощью простой строки. Запрос может возвращать значения:

  • Лексические совпадения — точные совпадения текста (включая текст, найденный в изображениях).
  • Семантические совпадения — содержимое, аналогичное значению, даже если слова не идентичны.

Например, запрос на "котят" может вернуть ссылку на:

  • Текстовые записи о кошках, даже если слово "котят" не упоминается явно.
  • Изображения, которые визуально содержат котят.
  • Текстовое содержимое в изображениях, содержащих "кот" или слова с достаточной смысловой релевантностью.

Поддерживаемые типы содержимого

ApplicationContentIndexer поддерживает добавление следующих типов содержимого:

  • Текст — простое или структурированное текстовое содержимое.
  • Изображения , включая снимки экрана, фотографии или файлы изображений, содержащие текст или распознаваемые визуальные элементы.

Идентификаторы содержимого, определяемые приложением

AppContentIndexer поддерживает управляемое приложением содержимое, позволяя приложениям индексировать элементы с помощью идентификаторов содержимого, определяемых приложением. Запросы возвращают эти идентификаторы, которые приложение использует для получения фактического содержимого из собственного хранилища данных.

Текстовые запросы возвращают объекты AppManagedTextQueryMatch, а запросы изображений возвращают объекты AppManagedImageQueryMatch— оба включают только ContentId, а не сам контент.

Руководство по интеграции этой функции в приложение и использование API ApplicationContentIndexer см. в разделе "Краткое руководство. Поиск содержимого приложения"

Конфиденциальность и безопасность

Семантические и лексические индексы создаются от имени приложения и хранятся в локальной папке данных приложения. В рамках закрытого предварительного релиза эта функция предназначена для индексирования несекретного содержимого приложения. Для обеспечения лучших практик безопасности не используйте эту функцию для индексирования данных пользователей, которые могут содержать личную, конфиденциальную или чувствительную информацию.

Рекомендации по ответственному использованию искусственного интеллекта

Возможности семантического индексирования и поиска в этой предварительной версии не применяют ни одну форму модерации содержимого, ни пытаются обнаружить или устранить семантические смещения, введенные базовыми моделями. Разработчики отвечают за оценку потенциальных рисков и управление ими при реализации функций, управляемых ИИ.

Мы рекомендуем изучить руководство по ответственному развитию генеративного ИИ в Windows для внедрения лучших практик при создании возможностей искусственного интеллекта в вашем приложении.