Verwenden des Inhaltsverständnisses mit dem Microsoft Agent Framework

Das Azure Inhaltsverständnis in foundry Tools Integration für das Microsoft Agent Framework stellt einen Kontextanbieter für Dateianlagen bereit. Der Anbieter erkennt unterstützte Dokumente, Bilder, Audio und Video in agent-Eingaben, analysiert die Dateien und fügt Markdown- und extrahierte Felder zum Modellkontext hinzu.

Voraussetzungen

Gründe für die Verwendung dieser Integration

  • Automatische Anlagenverarbeitung. Das Framework ruft den Anbieter vor jedem Modellaufruf auf, sodass Sie die Analyse nicht direkt aufrufen.
  • Multimodale Eingabe. Der Anbieter akzeptiert Dokumente, Bilder, Audio und Video.
  • Strukturierte Ausgabe. Der Anbieter kann markdown- und extrahierte Felder zum Modellkontext hinzufügen.
  • Verzögerte Verarbeitung. Mit einer konfigurierbaren Wartezeit können lange laufende Analysen im Hintergrund fortgesetzt werden. Optionaler Dateisuchvorgang unterstützt extrahierte Markdown-Uploads in einen Vektorspeicher für die Abruferweiterungsgenerierung (RAG).

Installiere das Paket

Installieren Sie das Integrationspaket "Content Understanding" für das Microsoft Agent Framework. Die Integration wird in das agent-framework-azure-contentunderstanding Paket geliefert, das auch auf PyPI verfügbar ist:

pip install agent-framework-azure-contentunderstanding --pre

Note

Das --pre Flag installiert den aktuellen Vorabversionsbuild des Pakets.

Registrieren von Inhaltsverständnis als Kontextanbieter

Erstellen Sie einen ContentUnderstandingContextProvider, übergeben Sie ihn über den context_providers Parameter an Ihren Agent, und führen Sie den Agent innerhalb des Anbieterblocks async with aus. Im folgenden Beispiel wird eine Frage zu einem angefügten Dokument beantwortet:

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())

Vor jedem Modellaufruf ruft das Framework den Anbieter auf. Der Anbieter erkennt und analysiert unterstützte Anlagen, sodass Sie den Analyzer nicht direkt aufrufen.

Konfigurieren Sie den Anbieter

Übergeben Sie zusätzliche Parameter, um einen Analyzer auszuwählen und zu steuern, wie viel Inhalt der Anbieter zurückgibt:

Parameter Purpose
endpoint Der Endpunkt Ihrer Microsoft Foundry-Ressource. Wenn sie weggelassen wird, liest der Anbieter ihn aus der AZURE_CONTENTUNDERSTANDING_ENDPOINT Umgebungsvariable.
credential Eine AzureKeyCredential für die API-Schlüsselauthentifizierung oder eine Azure Identitätsanmeldeinformationen, zAzureCliCredential. B. oder DefaultAzureCredentialfür Microsoft Entra ID Authentifizierung.
analyzer_id Eine vordefinierte oder benutzerdefinierte Analyse-ID. Wenn Sie diesen Parameter weglassen, wählt prebuilt-documentSearch der Anbieter für Dokumente und Bilder, prebuilt-audioSearch für Audio und prebuilt-videoSearch für Video aus.
max_wait Wie viele Sekunden warten, bevor die Analyse auf den Hintergrund zurückverzögert wird. Der Standardwert lautet 5 Sekunden. Legen Sie fest, dass None sie warten soll, bis die Analyse abgeschlossen ist.
output_sections Welche Ergebnisabschnitte dem Modellkontext hinzugefügt werden sollen. Die Standardabschnitte sind Markdown und Felder.
file_search Optionale Konfiguration für das Hochladen extrahierter Markdown-Dateien in einen Vektorspeicher, anstatt den vollständigen Inhalt zum Modellkontext hinzuzufügen.

Tip

Legen Sie für die domänenspezifische Extraktion eine vordefinierte oder benutzerdefinierte Analyse-ID fest analyzer_id . Der Anbieter fügt dann die Felder des Analyzers dem Modellkontext hinzu.

Unterstützte Dateitypen

Der Anbieter akzeptiert Dokumente, Bilder, Audio und Video. Die vollständige Liste der unterstützten Formate und Größenbeschränkungen finden Sie unter Inhaltsverständnisdienstkontingente und Grenzwerte.

Nächste Schritte