Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Интеграция Azure content Understanding in Foundry Tools для платформы агента Microsoft предоставляет поставщик контекста для вложений файлов. Поставщик обнаруживает поддерживаемые документы, изображения, аудио и видео в входных данных агента, анализирует файлы и добавляет Markdown и извлекает поля в контекст модели.
Необходимые условия
- Подписка на Azure. Вы можете создать бесплатную подписку Azure.
- Ресурс Microsoft Foundry с настроенной службой Content Understanding. Инструкции по настройке см. в Создание ресурса Microsoft Foundry. Убедитесь, что ресурс находится в поддерживаемом регионе.
- Развертывания модели по умолчанию, настроенные для вашего ресурса. См. статью "Развертывания модели Foundry".
- Python 3.10 или более поздней версии.
- Войдите с помощью Azure CLI (
az login), чтобы пример смог пройти проверку подлинности с помощьюAzureCliCredential.
Почему эта интеграция используется
- Автоматическая обработка вложений. Платформа вызывает поставщика перед вызовом каждой модели, поэтому вы не вызываете анализатор напрямую.
- Многомодальные входные данные. Поставщик принимает документы, изображения, аудио и видео.
- Структурированные выходные данные. Поставщик может добавить Markdown и извлечь поля в контекст модели.
- Отложенная обработка. Настраиваемое время ожидания позволяет длительным анализам продолжаться в фоновом режиме. Дополнительная поддержка поиска файлов отправляет извлеченные Markdown в векторное хранилище для получения дополненного поколения (RAG).
Установите пакет
Установите пакет интеграции "Понимание содержимого" для платформы агента Microsoft. Интеграция поставляется в пакете, который также доступен в agent-framework-azure-contentunderstandingPyPI:
pip install agent-framework-azure-contentunderstanding --pre
Note
Флаг --pre устанавливает текущую предварительную сборку пакета.
Регистрация распознавания контента в качестве поставщика контекста
ContentUnderstandingContextProviderСоздайте агент, передайте его context_providers через параметр и запустите агент внутри блока поставщикаasync with. В следующем примере ответит на вопрос о присоединенном документе:
import asyncio
from agent_framework import Agent, AgentSession, Message, Content
from agent_framework.foundry import FoundryChatClient
from agent_framework.foundry import ContentUnderstandingContextProvider
from azure.identity import AzureCliCredential
credential = AzureCliCredential()
cu = ContentUnderstandingContextProvider(
endpoint="https://my-resource.cognitiveservices.azure.com/",
credential=credential,
# Block until analysis completes before sending to the model.
max_wait=None,
)
client = FoundryChatClient(
project_endpoint="https://your-project.services.ai.azure.com",
model="gpt-5.2",
credential=credential,
)
async def main():
async with cu:
agent = Agent(
client=client,
name="DocumentQA",
instructions="You are a helpful document analyst.",
context_providers=[cu],
)
session = AgentSession()
response = await agent.run(
Message(role="user", contents=[
Content.from_text("What's on this invoice?"),
Content.from_uri(
"https://raw.githubusercontent.com/Azure-Samples/"
"azure-ai-content-understanding-assets/main/"
"document/invoice.pdf",
media_type="application/pdf",
additional_properties={"filename": "invoice.pdf"},
),
]),
session=session,
)
print(response.text)
asyncio.run(main())
Перед вызовом каждой модели платформа вызывает поставщика. Поставщик обнаруживает и анализирует поддерживаемые вложения, поэтому вы не вызываете анализатор напрямую.
Настройте провайдера
Передайте дополнительные параметры, чтобы выбрать анализатор и контролировать, сколько содержимого возвращает поставщик:
| Parameter | Purpose |
|---|---|
endpoint |
Конечная точка ресурса Microsoft Foundry. Если опущено, поставщик считывает его из переменной AZURE_CONTENTUNDERSTANDING_ENDPOINT среды. |
credential |
Для AzureKeyCredential проверки подлинности ключа API или учетных данных удостоверения Azure, например AzureCliCredentialDefaultAzureCredentialдля проверки подлинности Microsoft Entra ID. |
analyzer_id |
Предварительно созданный или пользовательский идентификатор анализатора. Если этот параметр не указан, поставщик выбирает prebuilt-documentSearch документы и изображения, prebuilt-audioSearch аудио prebuilt-videoSearch и видео. |
max_wait |
Сколько секунд нужно ждать, прежде чем откладывать анализ на фон. Значение по умолчанию — 5 секунд. Задайте для него None значение, чтобы ждать завершения анализа. |
output_sections |
Какие разделы результатов следует добавить в контекст модели. Разделы по умолчанию — Markdown и поля. |
file_search |
Необязательная конфигурация для отправки извлеченных Markdown в векторное хранилище вместо добавления полного содержимого в контекст модели. |
Tip
Для извлечения для конкретного домена задайте analyzer_id предварительно созданный или пользовательский идентификатор анализатора. Затем поставщик добавляет поля анализатора в контекст модели.
Поддерживаемые типы файлов
Поставщик принимает документы, изображения, аудио и видео. Полный список поддерживаемых форматов и ограничений размера см. в разделе " Квоты и ограничения службы "Распознавание содержимого".