Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
El Azure Content Understanding in Foundry Tools integration for the Microsoft Agent Framework proporciona un proveedor de contexto para los datos adjuntos de archivos. El proveedor detecta documentos, imágenes, audio y vídeo admitidos en la entrada del agente, analiza los archivos y agrega Markdown y los campos extraídos al contexto del modelo.
Prerrequisitos
- Una suscripción a Azure. Puede crear una suscripción de Azure gratuita.
- Un recurso de Microsoft Foundry con Content Understanding configurado. Consulte Crear un recurso de Microsoft Foundry para obtener instrucciones de configuración. Confirme que el recurso está en una región admitida.
- Implementaciones de modelos predeterminadas configuradas para el recurso. Consulte Implementaciones de modelos de Foundry.
- Python 3.10 o posterior.
- Inicie sesión con el CLI de Azure (
az login) para que el ejemplo pueda autenticarse conAzureCliCredential.
¿Por qué usar esta integración?
- Procesamiento automático de datos adjuntos. El marco llama al proveedor antes de cada invocación de modelo, por lo que no se llama directamente al analizador.
- Entrada multi-modal. El proveedor acepta documentos, imágenes, audio y vídeo.
- Salida estructurada. El proveedor puede agregar Markdown y los campos extraídos al contexto del modelo.
- Procesamiento diferido. Un tiempo de espera configurable permite que los análisis de larga duración continúen en segundo plano. La búsqueda de archivos opcional admite cargas extraídas de Markdown en un almacén de vectores para la generación aumentada de recuperación (RAG).
Instalar el paquete
Instale el paquete de integración de Content Understanding para Microsoft Agent Framework. La integración se incluye en el agent-framework-azure-contentunderstanding paquete, que también está disponible en PyPI:
pip install agent-framework-azure-contentunderstanding --pre
Note
La --pre marca instala la compilación de versión preliminar actual del paquete.
Registro de Content Understanding como proveedor de contexto
Cree un ContentUnderstandingContextProvider, páselo al agente a través del context_providers parámetro y ejecute el agente dentro del bloque del async with proveedor. En el ejemplo siguiente se responde a una pregunta sobre un documento adjunto:
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())
Antes de cada invocación de modelo, el marco llama al proveedor. El proveedor detecta y analiza los datos adjuntos admitidos, por lo que no se invoca directamente al analizador.
Configurar el proveedor
Pase parámetros adicionales para seleccionar un analizador y controlar cuánto contenido devuelve el proveedor:
| Parámetro | Purpose |
|---|---|
endpoint |
Punto de conexión del recurso Microsoft Foundry. Si se omite, el proveedor lo lee de la AZURE_CONTENTUNDERSTANDING_ENDPOINT variable de entorno. |
credential |
Para AzureKeyCredential la autenticación de clave de API o una credencial de identidad de Azure, como AzureCliCredential o DefaultAzureCredential, para la autenticación de Microsoft Entra ID. |
analyzer_id |
Identificador de analizador precompilado o personalizado. Si omite este parámetro, el proveedor selecciona prebuilt-documentSearch para documentos e imágenes, prebuilt-audioSearch para audio y prebuilt-videoSearch para vídeo. |
max_wait |
Cuántos segundos hay que esperar antes de aplazar el análisis al fondo. El valor predeterminado es 5 segundos. Establézcalo en None para esperar hasta que finalice el análisis. |
output_sections |
Qué secciones de resultados se van a agregar al contexto del modelo. Las secciones predeterminadas son Markdown y campos. |
file_search |
Configuración opcional para cargar Markdown extraído en un almacén de vectores en lugar de agregar el contenido completo al contexto del modelo. |
Tip
Para la extracción específica del dominio, establezca en analyzer_id un identificador de analizador precompilado o personalizado. A continuación, el proveedor agrega los campos del analizador al contexto del modelo.
Tipos de archivo compatibles
El proveedor acepta documentos, imágenes, audio y vídeo. Para obtener la lista completa de los formatos y límites de tamaño admitidos, consulte Límites y cuotas del servicio Content Understanding.