Управление кэшем обогащения данных

Note

Поиск с использованием ИИ Azure доступна через портал Azure, REST API и Azure SDKs. Он также лежит в основе Foundry IQ — управляемого слоя знаний, который преобразует корпоративный контент в многократно используемые базы знаний с учетом разрешений доступа для агентов на портале Microsoft Foundry.

Кэш обогащения — это необязательная функция, которая хранит обогащенное содержимое, созданное во время выполнения набора навыков. Он сохраняет содержимое между запусками, чтобы только измененные навыки и документы требовали повторной обработки. Это не резервная копия выходных данных набора навыков, состояния индексатора или индексированных документов.

Вы создаете кэш обогащения в служба хранилища Azure. Кэш содержит выходные данные из взлома документов, а также выходные данные каждого навыка для каждого документа. Несмотря на то, что кэширование взимается (используется служба хранилища Azure), общая стоимость обогащения уменьшается, так как затраты на хранение меньше, чем извлечение изображений и обработка ИИ.

Если вы настроили кэш обогащения, в этой статье описано, как управлять обновлениями навыков и источников данных, чтобы получить максимальную отдачу от кэшированных обогащений.

Необходимые условия

Ограничения

Осторожно

Если вы используете индексатор SharePoint (предварительная версия), избегайте добавочного обогащения. При определенных обстоятельствах кэш становится недействительным. Чтобы перезагрузить его, выполните сброс индексатора и полное перестроение.

Большие источники данных имеют дополнительное ограничение кэша.

Осторожно

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

Чтобы устранить растущее отставание кэша, разделите источник данных на более мелкие контейнеры или виртуальные папки. Затем используйте параллельные индексаторы , указывающие на тот же индекс. Чтобы отвязать кэш, задайте свойству cache значение null в индексаторе.

Конфигурация кэша

Физически кэш хранится в BLOB-контейнере и таблицах в вашей учетной записи служба хранилища Azure, по одному на каждый индексатор. Каждому индексатору присваивается уникальный и неизменяемый идентификатор кэша, соответствующий используемому контейнеру.

Кэш создается при указании cache свойства и запуске индексатора. Кэшировать можно только обогащенное содержимое. Если у индексатора нет подключенного набора навыков, кэширование не применяется.

В следующем примере показан индексатор с включенным кэшированием. Полные инструкции см. в разделе "Настройка кэширования обогащения ".

POST https://[YOUR-SEARCH-SERVICE-NAME].search.windows.net/indexers?api-version=2026-08-01-preview
    {
        "name": "myIndexerName",
        "targetIndexName": "myIndex",
        "dataSourceName": "myDatasource",
        "skillsetName": "mySkillset",
        "cache" : {
            "storageConnectionString" : "<Your storage account connection string>",
            "enableReprocessing": true
        },
        "fieldMappings" : [],
        "outputFieldMappings": [],
        "parameters": []
    }

Управление кэшем

Индексатор управляет жизненным циклом кэша. При удалении индексатора также удаляется его кэш. Если свойству индексатора cache присвоено значение null или изменена строка подключения, существующий кэш будет удален при следующем запуске индексатора.

Хотя добавочное обогащение предназначено для обнаружения и реагирования на изменения без вмешательства в вашей части, можно задать параметры для вызова конкретных действий:

Приоритет новых документов

Свойство cache содержит enableReprocessing параметр, который определяет, повторно ли обрабатывается кэшированное содержимое. Если задано значение true (по умолчанию), индексатор повторно обрабатывает кэшированные документы при его повторном запуске, если на них влияет обновление навыка.

Если значение false, индексатор не обрабатывает существующие документы, что определяет приоритеты нового содержимого. Установите значение для enableReprocessing на false только временно. Сохранение этого значения в большинстве случаев гарантирует, что новые и существующие документы остаются действительными для текущего определения набора навыков.

Обход оценки набора навыков

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

Если вы знаете, что изменение навыка поверхностно, переопределите оценку навыка, установив disableCacheReprocessingChangeDetection для параметра значение true:

  1. Вызов Update Skillset и изменение определения набора навыков.
  2. disableCacheReprocessingChangeDetection=true Добавьте параметр в запрос.
  3. Отправьте изменение.

При установке этого параметра фиксируются только обновления определения набора навыков. Изменение не оценивается для влияния на существующий кэш. Используйте предварительную версию API 2020-06-30-Preview или более позднюю версию. Используйте последнюю предварительную версию API.

PUT https://[servicename].search.windows.net/skillsets/[skillset name]?api-version=2026-08-01-preview&disableCacheReprocessingChangeDetection
  

Обход проверок источника данных

Большинство изменений в определении источника данных делают кэш недействительным. Однако в сценариях, в которых вы знаете, что изменение не должно аннулировать кэш, например, изменение строки подключения или смена ключа в учетной записи хранилища, добавьте параметр ignoreResetRequirement в обновление источника data source update. Задайте для этого параметра значение true, чтобы разрешить выполнение фиксации без срабатывания условия сброса, в результате которого все объекты будут повторно построены и заполнены с нуля.

PUT https://[search service].search.windows.net/datasources/[data source name]?api-version=2026-08-01-preview&ignoreResetRequirement
 

Принудительная оценка набора навыков

Цель кэша заключается в том, чтобы избежать ненужных операций обработки. Но предположим, что вы вносите изменения в навык, который индексатор не обнаруживает (например, изменение чего-то во внешнем коде, например пользовательского навыка).

В этом случае используйте API Reset Skills, чтобы принудительно повторно обработать конкретный навык, включая все последующие навыки, которые зависят от выходных данных этого навыка. Этот API принимает запрос POST со списком навыков, которые должны быть недействительными и помечены для повторной обработки. После сброса навыков выполните запрос Запустить индексатор, чтобы вызвать обработку конвейера.

Повторно кэшировать определенные документы

При сбросе индексатора все документы в корпусе поиска обрабатываются повторно.

В сценариях, когда для повторной обработки требуется только несколько документов, используйте сброс документов (предварительная версия) для принудительной повторной обработки определенных документов. При сбросе документа индексатор отменяет кэш для этого документа. Затем индексатор повторно обрабатывает документ, считывая его из источника данных. Дополнительные сведения см. в разделе "Запуск или сброс индексаторов", "Навыки" и "Документы".

Чтобы сбросить отдельные документы, укажите в запросе список ключей документов, считанных из поискового индекса. Если ключ сопоставляется с полем во внешнем источнике данных, используйте значение из индекса поиска.

В зависимости от вызова API запрос добавляет, перезаписывает или помещает в очередь список ключей:

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

  • Вызов API с параметром строки запроса overwrite, установленным в значение true, заменяет текущий список ключей документов, которые нужно сбросить, полезной нагрузкой запроса.

  • Вызов API добавляет ключи документа в очередь работы индексатора. Когда индексатор будет вызван в следующий раз — по расписанию или по запросу, — он в первую очередь обработает ключи документов, помеченных для сброса, прежде чем обрабатывать любые другие изменения из источника данных.

В следующем примере показан запрос на восстановление документа:

POST https://[search service name].search.windows.net/indexers/[indexer name]/resetdocs?api-version=2026-08-01-preview
    {
        "documentKeys" : [
            "key1",
            "key2",
            "key3"
        ]
    }

Изменения, которые аннулируют кэш.

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

Изменение, приводящее к инвалидации, — это изменение, при котором весь кэш становится недействительным. Например, обновление источника данных является недействительным изменением. Ниже приведен полный список изменений в любой части конвейера индексатора, который делает кэш недействительным:

  • Изменение типа источника данных
  • Изменение контейнера источника данных
  • Изменение учетных данных источника данных
  • Изменение политики обнаружения изменений источника данных
  • Изменение политики обнаружения удаления в источнике данных
  • Изменение сопоставлений полей индексатора
  • Изменение параметров индексатора:
    • Режим синтаксического анализа
    • Исключенные расширения имени файла
    • Индексированные расширения имен файлов
    • Метаданные хранилища индексов только для избыточных документов
    • Текстовые заголовки с разделителями
    • Разделитель для текстов с разделением
    • Корневой каталог документов
    • Операция с изображением (изменение способа извлечения изображений)

Изменения, которые активируют добавочную обработку

Добавочная обработка оценивает определение набора навыков и определяет, какие навыки следует повторно запустить. Он выборочно обновляет затронутые части дерева документов. Ниже приведен полный список изменений, которые приводят к добавочному обогащению:

  • Изменение типа навыка (обновление типа OData навыка)
  • Обновление параметров, относящихся к навыку, таких как URL-адрес, значения по умолчанию или другие параметры
  • Изменение выходных данных навыка, например когда навык возвращает дополнительные или другие выходные данные
  • Изменение входных данных навыка, приводящее к разному наследованию или разным цепочкам навыков
  • Аннулирование любого предшествующего навыка, если вы обновляете навык, который предоставляет входные данные для этого навыка.
  • Обновление расположения проекции хранилища знаний, которое приводит к повторному проецирование документов
  • Изменение проекций хранилища знаний, которое приводит к повторному проецирование документов
  • Изменение сопоставлений полей выходных данных на индексаторе, что приводит к повторному проецированию документов в индекс

API- интерфейсы, используемые для кэширования

Api предварительной версии предоставляют дополнительные свойства для индексаторов. Используйте последнюю предварительную версию API.

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