Microsoft Aracısı Çerçevesi ile Content Understanding kullanma

Microsoft Agent Framework için Döküm Araçları'nda Azure Content Understanding tümleştirmesi, dosya ekleri için bir bağlam sağlayıcısı sağlar. Sağlayıcı aracı girişinde desteklenen belgeleri, görüntüleri, sesleri ve videoları algılar, dosyaları analiz eder ve Model bağlamı için Markdown ve ayıklanan alanlar ekler.

Prerequisites

Bu tümleştirmeyi neden kullanmalısınız?

  • Otomatik ek işleme. Çerçeve, her model çağrısından önce sağlayıcıyı çağırır, böylece çözümleyiciyi doğrudan çağırmazsınız.
  • Çok modüllü giriş. Sağlayıcı belgeleri, görüntüleri, sesi ve videoyu kabul eder.
  • Düzenlenmiş çıkış. Sağlayıcı model bağlamı için Markdown ve ayıklanmış alanlar ekleyebilir.
  • Ertelenen işleme. Yapılandırılabilir bekleme süresi, uzun süre çalışan analizlerin arka planda devam etmesini sağlar. İsteğe bağlı dosya arama desteği, ayıklanan Markdown'ı alma artırılmış nesil (RAG) için bir vektör deposuna yükler.

Paketi yükle

Microsoft Aracısı Çerçevesi için Content Understanding tümleştirme paketini yükleyin. Tümleştirme, PyPI üzerinde de kullanılabilen paketteagent-framework-azure-contentunderstanding sunulur:

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

Note

bayrağı, --pre paketin geçerli yayın öncesi derlemesini yükler.

İçerik Anlama'ya bağlam sağlayıcısı olarak kaydetme

bir ContentUnderstandingContextProvideroluşturun, parametresi aracılığıyla context_providers aracınıza geçirin ve aracıyı sağlayıcı async with bloğunun içinde çalıştırın. Aşağıdaki örnek, ekli bir belgeyle ilgili bir soruyu yanıtlar:

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

Her model çağrıdan önce, çerçeve sağlayıcıyı çağırır. Sağlayıcı desteklenen ekleri algılar ve analiz eder, böylece çözümleyiciyi doğrudan çağırmazsınız.

Sağlayıcıyı yapılandırma

Çözümleyici seçmek ve sağlayıcının ne kadar içerik döndürdüğü denetlemek için ek parametreler geçirin:

Parametre Purpose
endpoint Microsoft Foundry kaynağınızın uç noktası. Belirtilmezse, sağlayıcı bunu ortam değişkeninden AZURE_CONTENTUNDERSTANDING_ENDPOINT okur.
credential AzureKeyCredential API anahtarı kimlik doğrulaması için veya Microsoft Entra ID kimlik doğrulaması için veya DefaultAzureCredentialgibi AzureCliCredential Azure kimlik bilgileri.
analyzer_id Önceden oluşturulmuş veya özel çözümleyici kimliği. Bu parametreyi atlarsanız, sağlayıcı belgeler ve görüntüler, prebuilt-audioSearch ses ve prebuilt-videoSearch video için seçerprebuilt-documentSearch.
max_wait Analizi arka plana ertelemeden önce kaç saniye beklenmesi gerekir? Varsayılan değer 5 saniyedir. Çözümleme tamamlanana kadar bekleyecek şekilde None ayarlayın.
output_sections Model bağlamı için eklenecek sonuç bölümleri. Varsayılan bölümler Markdown ve alanlardır.
file_search Ayıklanan Markdown'ı model bağlamının tamamına eklemek yerine bir vektör deposuna yüklemek için isteğe bağlı yapılandırma.

Tip

Etki alanına özgü ayıklama için önceden oluşturulmuş veya özel çözümleyici kimliği olarak ayarlayın analyzer_id . Sağlayıcı daha sonra çözümleyicinin alanlarını model bağlamlarına ekler.

Desteklenen dosya türleri

Sağlayıcı belgeleri, görüntüleri, sesi ve videoyu kabul eder. Desteklenen biçimlerin ve boyut sınırlarının tam listesi için bkz. Content Understanding hizmet kotaları ve sınırları.

Sonraki Adımlar