Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
L'integrazione di Azure Content Understanding in Foundry Tools per Microsoft Agent Framework fornisce un provider di contesto per gli allegati di file. Il provider rileva documenti, immagini, audio e video supportati nell'input dell'agente, analizza i file e aggiunge i campi Markdown ed estratti al contesto del modello.
Prerequisiti
- Una sottoscrizione di Azure. È possibile creare una sottoscrizione Azure gratuita.
- Una risorsa Microsoft Foundry in cui è configurato Content Understanding. Per istruzioni sull'installazione, vedere Creare una risorsa Microsoft Foundry. Verificare che la risorsa si trova in un'area supportata.
- Distribuzioni di modelli predefinite configurate per la risorsa. Vedere Distribuzioni di modelli foundry.
- Python 3.10 o versione successiva.
- Accedere con il interfaccia della riga di comando di Azure (
az login) in modo che l'esempio possa eseguire l'autenticazione conAzureCliCredential.
Perché usare questa integrazione
- Elaborazione automatica degli allegati. Il framework chiama il provider prima della chiamata a ogni modello, quindi non chiamare direttamente l'analizzatore.
- Input multimodale. Il provider accetta documenti, immagini, audio e video.
- Output strutturato. Il provider può aggiungere i campi Markdown ed estratti al contesto del modello.
- Elaborazione posticipata. Un tempo di attesa configurabile consente alle analisi a esecuzione prolungata di continuare in background. Il supporto facoltativo per la ricerca di file supporta i caricamenti di Markdown estratti in un archivio vettoriale per la generazione aumentata del recupero (RAG).
Installare il pacchetto
Installare il pacchetto di integrazione Content Understanding per Microsoft Agent Framework. L'integrazione viene fornita nel agent-framework-azure-contentunderstanding pacchetto, disponibile anche in PyPI:
pip install agent-framework-azure-contentunderstanding --pre
Annotazioni
Il --pre flag installa la build preliminare corrente del pacchetto.
Registrare Content Understanding come provider di contesto
Creare un ContentUnderstandingContextProvider, passarlo all'agente tramite il context_providers parametro ed eseguire l'agente all'interno del blocco del async with provider. L'esempio seguente risponde a una domanda su un documento allegato:
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())
Prima della chiamata a ogni modello, il framework chiama il provider. Il provider rileva e analizza gli allegati supportati, quindi non si richiama direttamente l'analizzatore.
Configura il provider
Passare parametri aggiuntivi per selezionare un analizzatore e controllare la quantità di contenuto restituito dal provider:
| Parametro | Purpose |
|---|---|
endpoint |
Endpoint della risorsa Microsoft Foundry. Se omesso, il provider lo legge dalla AZURE_CONTENTUNDERSTANDING_ENDPOINT variabile di ambiente. |
credential |
Oggetto AzureKeyCredential per l'autenticazione della chiave API o una credenziale di identità Azure, ad esempio AzureCliCredential o DefaultAzureCredential, per l'autenticazione di Microsoft Entra ID. |
analyzer_id |
ID analizzatore predefinito o personalizzato. Se si omette questo parametro, il provider seleziona prebuilt-documentSearch per documenti e immagini, prebuilt-audioSearch per l'audio e prebuilt-videoSearch per il video. |
max_wait |
Numero di secondi di attesa prima di rinviare l'analisi in background. Il valore predefinito è 5 secondi. Impostarla su None per attendere il completamento dell'analisi. |
output_sections |
Sezioni dei risultati da aggiungere al contesto del modello. Le sezioni predefinite sono Markdown e campi. |
file_search |
Configurazione facoltativa per il caricamento di Markdown estratti in un archivio vettoriale anziché aggiungere il contenuto completo al contesto del modello. |
Tip
Per l'estrazione specifica del dominio, impostare su analyzer_id un ID analizzatore predefinito o personalizzato. Il provider aggiunge quindi i campi dell'analizzatore al contesto del modello.
Tipi di file supportati
Il provider accetta documenti, immagini, audio e video. Per l'elenco completo dei formati e dei limiti di dimensioni supportati, vedere Quote e limiti del servizio Content Understanding.