Дата публикации
ai_products

Azure AI Foundry IQ: общий слой знаний для корпоративных ИИ‑агентов

Что нового

Microsoft запустила Azure AI Foundry IQ — управляемый слой знаний поверх Azure AI Search для корпоративных ИИ‑агентов.

Ключевые новшества:

  1. Единый слой знаний поверх разных хранилищ
    Один knowledge base может одновременно подключаться к:

    • SharePoint
    • Azure Blob Storage
    • OneLake
    • уже существующим индексам Azure AI Search
    • отдельным внешним источникам (поддерживаемым Foundry IQ)

    Всё это доступно через один endpoint, который учитывает права доступа пользователя.

  2. Agentic‑retrieval «из коробки»
    Foundry IQ сам управляет сложным поиском по знаниям:

    • планирует, как выполнять запрос
    • выбирает релевантные источники
    • делает поэтапный поиск (multi‑step retrieval), если нужно
    • проверяет права доступа на уровне документов
    • возвращает результаты с цитатами и ссылками на оригиналы
  3. Разные уровни «разумности» поиска
    Поддерживается несколько режимов reasoning:

    • minimal reasoning — чисто семантический поиск без LLM, быстрее и дешевле
    • low / medium reasoning — подключается Azure OpenAI, запрос обрабатывается как диалог, возможна декомпозиция на под‑вопросы и многошаговый поиск
  4. Общий knowledge base для нескольких агентов
    Один и тот же набор знаний можно использовать сразу в нескольких продуктах:

    • чат‑ассистенты
    • внутренние copilots
    • помощники в рабочих процессах (workflow helpers)

    Это снижает дублирование индексации и уменьшает риск расхождений в логике поиска.

  5. Прямая работа через Azure AI Search SDK
    Foundry IQ можно дергать напрямую из приложения, минуя Foundry Agent Service:

    • через Python‑SDK azure-search-documents
    • с использованием KnowledgeBaseRetrievalClient
    • с возвратом либо «сырых» фрагментов текста, либо готового ответа с цитатами
  6. Встроенная безопасность и управление доступом
    Foundry IQ:

    • интегрируется с Microsoft Entra ID
    • поддерживает права на уровне документа
    • учитывает sensitivity labels из Microsoft Purview (если источник их отдает)
    • умеет «обрезать» результаты по правам пользователя, если при запросе передать его bearer‑токен

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

Как это работает

Базовая архитектура

В основе Azure AI Foundry IQ лежит Azure AI Search. Foundry IQ добавляет поверх него управляемый слой знаний, который:

  1. Подключает источники контента (knowledge sources):

    • SharePoint
    • Azure Blob Storage
    • OneLake
    • уже существующие индексы Azure AI Search
  2. Автоматически настраивает:

    • data source
    • index
    • indexer
    • skillset

    Это происходит при подключении источников через REST‑API (версия 2025-11-01-preview).

  3. Формирует knowledge base, который объединяет несколько источников и предоставляет единый endpoint для агентов и приложений.

Что делает Foundry IQ при запросе

Когда агент обращается к knowledge base, Foundry IQ:

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

  2. Выбирает источники
    Решает, какие подключенные knowledge sources релевантны запросу.

  3. Запускает retrieval
    Делает поиск по индексам. При low/medium reasoning может разбивать исходный вопрос на под‑вопросы и делать несколько итераций.

  4. Проверяет права доступа
    На основе Microsoft Entra ID и метаданных источников отбрасывает документы, к которым у пользователя нет доступа.

  5. Возвращает результат
    Отдает либо:

    • фрагменты исходных документов (extractive data) с цитатами и ссылками
    • либо готовый синтезированный ответ (answer synthesis) с привязкой к источникам

Режимы работы: intents vs messages

Есть два основных способа сформировать запрос к Foundry IQ:

  1. Intents — для минимального reasoning (без LLM)

    • Вы отправляете семантический запрос search="your question here".
    • Foundry IQ делает быстрый retrieval по векторным/семантическим индексам.
    • Отдает релевантные фрагменты текста.
  2. Messages — для low/medium reasoning (с LLM)

    • Вы отправляете историю диалога в формате сообщений: user / assistant.
    • Foundry IQ использует Azure OpenAI, чтобы понять контекст и сформировать более сложный план поиска.
    • Возможна декомпозиция на под‑вопросы и многошаговый retrieval.

Важно: intents работают только с minimal reasoning, а messages — только с low/medium reasoning. Поменять местами нельзя.

Под капотом безопасности

Для доступа к knowledge base Foundry IQ использует:

  • RBAC в Azure: роль Search Index Data Reader для сервиса, который ходит в Foundry IQ
  • DefaultAzureCredential для аутентификации сервисов
  • bearer‑токен пользователя (x_ms_query_source_authorization), чтобы обрезать результаты по его правам

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

Что это значит для вас

Где Foundry IQ действительно помогает

  1. Внутренние ассистенты по политике и операциям
    Пример: ассистент для менеджеров магазинов.

    Знания разбросаны по:

    • HR‑политикам в SharePoint
    • инструкциям по безопасности в Blob Storage
    • операционным регламентам в OneLake

    Вопросы часто затрагивают несколько документов сразу. Один knowledge base Foundry IQ объединяет все источники и автоматически учитывает права доступа.

    Польза:

    • не нужно каждый раз руками собирать RAG‑пайплайн
    • меньше риска утечки данных за счет permission trimming
  2. Комплаенс и регуляторные ассистенты
    Команде по соответствию важно, чтобы ответы строго опирались на утвержденные документы, с четкими ссылками.

    Foundry IQ:

    • ищет только по заранее одобренным источникам
    • возвращает цитаты с указанием документа и ссылки
    • не показывает документы, к которым у пользователя нет прав

    Это снижает риск случайной утечки конфиденциальной информации через ИИ‑чат.

  3. Общий слой знаний для нескольких внутренних агентов
    Если в компании несколько ассистентов, которые опираются на одни и те же регламенты и инструкции, общий knowledge base:

    • уменьшает затраты на индексацию и поддержку
    • обеспечивает одинаковое поведение поиска во всех продуктах
  4. Команды, которые не хотят строить свой RAG с нуля
    Foundry IQ берет на себя:

    • индексацию
    • нарезку документов на чанки
    • векторизацию
    • оркестрацию поиска по нескольким источникам

    Команда может сосредоточиться на логике агента и UX, а не на конвейере поиска.

  5. Сценарии, где важнее качество и доверие, чем скорость и цена
    Многошаговый retrieval с LLM в цикле дает более обоснованные ответы, чем простой RAG по одному индексу.

    Это полезно там, где ошибка в ответе стоит дорого: комплаенс, политика безопасности, юридические регламенты, сложные внутренние процедуры.

Где Foundry IQ — плохой выбор

  1. Простой Q&A по одному источнику
    Если у вас один PDF или одна база знаний, лишняя оркестрация Foundry IQ только усложнит жизнь.

    Проще настроить прямой поиск в Azure AI Search или другой системе, без agentic‑retrieval.

  2. Живые аналитические запросы по структуре данных
    Вопросы вроде «Какие были продажи в Q4 по регионам?» требуют:

    • SQL‑запросов к транзакционной базе
    • или обращения к аналитическим витринам/BI

    Foundry IQ не выполняет SQL, не считает агрегаты и не гарантирует актуальность чисел. Он работает с неструктурированным текстом, а не с живыми метриками.

  3. Голосовые ассистенты с субсекундной задержкой
    Agentic‑retrieval с LLM в цикле добавляет задержку и токен‑стоимость.

    Если вам нужны сотни или тысячи запросов в секунду с ответом за доли секунды, лучше использовать:

    • классический поиск
    • заранее сгенерированные ответы
    • или сверхлегкий RAG без сложной оркестрации
  4. Сильно кастомный пайплайн поиска
    Foundry IQ скрывает детали retrieval‑пайплайна.

    Если вы хотите:

    • тонко настраивать scoring
    • управлять собственной пред‑ и пост‑обработкой документов
    • внедрять нестандартные трансформации

    Логичнее собрать свой пайплайн на базе Azure AI Search или другой поисковой технологии.

Важная ремарка для России

Azure AI Foundry IQ — часть облачной экосистемы Microsoft Azure. Для доступа к сервису:

  • нужен аккаунт Azure
  • требуется доступ к регионам Azure, где доступны Azure AI Search и Azure OpenAI

С учетом ограничений для российских пользователей и компаний, прямой доступ к Azure и Azure OpenAI может потребовать:

  • регистрацию через зарубежные юрлица
  • или использование VPN / инфраструктуры за пределами России

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

Место на рынке

Azure AI Foundry IQ стоит в ряду корпоративных решений для retrieval‑ориентированных агентов, но делает ставку на тесную интеграцию с экосистемой Microsoft:

  • нативная работа с SharePoint, Blob Storage, OneLake
  • Microsoft Entra ID для аутентификации
  • Purview для меток конфиденциальности
  • прямое использование Azure AI Search и Azure OpenAI

Четких цифр по сравнению со сторонними решениями (скорость против, например, self‑hosted RAG, стоимость против других облаков) Microsoft не публикует.

Из того, что можно зафиксировать по фактам:

  • Foundry IQ не пытается заменить BI‑инструменты и SQL‑слой: он вообще не работает с живыми числовыми данными.
  • Он закрывает нишу управляемого слоя знаний для неструктурированного контента внутри экосистемы Microsoft.
  • Основное отличие от самосборных RAG‑пайплайнов — автоматическая оркестрация multi‑source retrieval и permission trimming.

Если вы уже живете в Azure и строите агентов вокруг Microsoft 365, Foundry IQ логично вписывается в стек. Если же ваш стек — локальные LLM, S3‑хранилища и сторонние векторные базы, выгода от Foundry IQ будет минимальной или нулевой.

Установка

Ниже — высокоуровневые шаги, как завести Foundry IQ и knowledge base.

  1. Разверните Azure AI Search

    • тариф: Basic или выше
    • включите аутентификацию через Azure AD и API‑ключ
    • включите system‑assigned managed identity для сервиса
  2. Подключите источники контента
    Через knowledge sources:

    • Blob Storage
    • SharePoint
    • OneLake

    При подключении Microsoft автоматически создаст:

    • index
    • indexer
    • data source
    • skillset

    Knowledge sources и сами knowledge bases создаются через REST‑API версии 2025-11-01-preview.

  3. Создайте knowledge base
    При создании выберите уровень reasoning:

    • minimal reasoning — только семантический поиск, без LLM
    • low / medium reasoning — нужен Azure OpenAI, а у search‑сервиса должна быть роль Cognitive Services User
  4. Включите permission trimming (по необходимости)

    • при индексации укажите ingestionPermissionOptions
    • при запросах передавайте bearer‑токен пользователя

Как запустить: Python‑пример

Ниже — рабочие примеры кода из официального гайда Microsoft, адаптированные под Foundry IQ.

Установка SDK

pip install --pre azure-search-documents azure-identity

Инициализация клиента

from azure.identity import DefaultAzureCredential
from azure.search.documents.knowledgebases import KnowledgeBaseRetrievalClient

client = KnowledgeBaseRetrievalClient(
    endpoint="https://<search-service>.search.windows.net",
    knowledge_base_name="<kb-name>",
    credential=DefaultAzureCredential(),
)

Быстрый поиск без LLM (Minimal Reasoning)

from azure.search.documents.knowledgebases.models import (
    KnowledgeBaseRetrievalRequest,
    KnowledgeRetrievalSemanticIntent,
    KnowledgeRetrievalMinimalReasoningEffort,
    KnowledgeRetrievalOutputMode,
)

request = KnowledgeBaseRetrievalRequest(
    intents=[KnowledgeRetrievalSemanticIntent(search="your question here")],
    retrieval_reasoning_effort=KnowledgeRetrievalMinimalReasoningEffort(),
    output_mode=KnowledgeRetrievalOutputMode.EXTRACTIVE_DATA,
)

response = client.retrieve(retrieval_request=request)

Здесь:

  • intents — семантический запрос
  • MinimalReasoning — быстрый режим без LLM
  • EXTRACTIVE_DATA — на выходе будут фрагменты текста, которые вы можете отдать своему LLM

Диалоговый поиск с LLM (Conversational Reasoning)

from azure.search.documents.knowledgebases.models import (
    KnowledgeBaseRetrievalRequest,
    KnowledgeBaseMessage,
    KnowledgeBaseMessageTextContent,
    KnowledgeRetrievalLowReasoningEffort,
    KnowledgeRetrievalOutputMode,
)

request = KnowledgeBaseRetrievalRequest(
    messages=[
        KnowledgeBaseMessage(
            role="user",
            content=[KnowledgeBaseMessageTextContent(text="<first user question>")]
        ),
        KnowledgeBaseMessage(
            role="assistant",
            content=[KnowledgeBaseMessageTextContent(text="<assistant response>")]
        ),
        KnowledgeBaseMessage(
            role="user",
            content=[KnowledgeBaseMessageTextContent(text="<follow-up question>")]
        ),
    ],
    retrieval_reasoning_effort=KnowledgeRetrievalLowReasoningEffort(),
    output_mode=KnowledgeRetrievalOutputMode.EXTRACTIVE_DATA,
)

response = client.retrieve(retrieval_request=request)

Здесь:

  • messages — история диалога
  • LowReasoningEffort — подключается Azure OpenAI, возможен многошаговый поиск
  • EXTRACTIVE_DATA — снова получаете сырые фрагменты для собственного генератора ответов

Помните:

  • intents работают только с minimal reasoning
  • messages работают только с low / medium reasoning

Обработка ответа

# Extracted content
for msg in (response.response or []):
    for item in (msg.content or []):
        print(item.text)

# Citations (handles blob, SharePoint, OneLake, and search index references)
for ref in (response.references or []):
    ref_id = getattr(ref, "id", None)
    url = getattr(ref, "blob_url", None) or getattr(ref, "url", None)
    print(f"[{ref_id}] {url}")

# Retrieval diagnostics
for record in (response.activity or []):
    elapsed = getattr(record, "elapsed_ms", None) or ""
    print(f"{record.type}: {elapsed}ms")

Здесь вы получаете:

  • сами фрагменты текста (response.response)
  • ссылки на исходные документы (response.references), включая Blob, SharePoint, OneLake и индексы поиска
  • диагностическую информацию по шагам retrieval (response.activity), включая время каждого шага в миллисекундах

Режимы вывода

Foundry IQ поддерживает два ключевых режима:

  • extractiveData — отдаёт «сырые» чанки текста для вашего LLM
  • answerSynthesis — генерирует готовый ответ с цитатами (требуется LLM)

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

Безопасность и права доступа

Для доступа к Foundry IQ через SDK нужно:

  • назначить сервису роль Search Index Data Reader
  • использовать DefaultAzureCredential для аутентификации

Чтобы включить permission trimming по пользователю, при вызове retrieve передайте его bearer‑токен:

response = client.retrieve(
    retrieval_request=request,
    x_ms_query_source_authorization="Bearer <user-token>"
)

В этом случае Foundry IQ вернет только те документы, к которым у пользователя есть права.


Azure AI Foundry IQ не решает все задачи поиска и аналитики. Но если ваши агенты живут в экосистеме Microsoft, тянут знания из SharePoint, Blob Storage и OneLake и должны строго соблюдать права доступа, этот слой знаний снимает большую часть рутины. Вы фокусируетесь на логике агента, а Foundry IQ берет на себя многослойный поиск, индексацию и безопасность.


Читайте также