Araçlara Genel Bakış

Agent Framework, aracı özelliklerini genişleten birçok farklı araç türünü destekler. Araçlar, aracıların dış sistemlerle etkileşim kurmasına, kod yürütmesine, veri aramasına ve daha fazlasına olanak tanır.

Araç Türleri

Araç Türü Description
İşlev Araçları Aracıların konuşmalar sırasında çağırabileceği özel kod
Kod Yorumlayıcısı Korumalı bir ortamda kod yürütme
Dosya Arama Karşıya yüklenen dosyalar arasında arama
Web Araması Bilgi için web'de arama yapma
Barındırılan MCP Araçları Sağlayıcı çalışma zamanı tarafından çağrılan MCP sunucuları
Yerel MCP Araçları Yerel olarak veya özel konaklarda çalışan MCP sunucuları
Döküm Aracı Kutuları Foundry projesinde yönetilen barındırılan araç yapılandırmalarının adlandırılmış, sürümlenmiş paketleri
Araç Türü Description
İşlev Araçları Aracıların konuşmalar sırasında çağırabileceği özel kod
Kod Yorumlayıcısı Korumalı bir ortamda kod yürütme
Dosya Arama Karşıya yüklenen dosyalar arasında arama
Web Araması Bilgi için web'de arama yapma
Barındırılan MCP Araçları Sağlayıcı çalışma zamanı tarafından çağrılan MCP sunucuları
Yerel MCP Araçları Yerel olarak veya özel konaklarda çalışan MCP sunucuları
Döküm Aracı Kutuları Foundry projesinde yönetilen barındırılan araç yapılandırmalarının adlandırılmış, sürümlenmiş paketleri
Görüntü Üretimi Foundry / OpenAI Yanıtları çalışma zamanında barındırılan görüntü oluşturma
Shell OpenAI Yanıtları çalışma zamanında barındırılan kabuk yürütme — GitHub Copilot CLI'nın yerleşik kabuk/dosya/URL çalışma zamanı araçlarından farklıdır
Bing Temellendirme Bing Arama kaynağı ile kendi Topraklamanız aracılığıyla web topraklama — deneysel
Bing Özel Arama Bing topraklama, seçilmiş bir etki alanı listesiyle sınırlı — önizleme
Azure AI Arama Hizmeti Foundry bağlantısı aracılığıyla bir Azure Yapay Zeka Arama dizini sorgulama — deneysel
SharePoint SharePoint içeriğinde temel yanıtlar — önizleme
Microsoft Fabric Fabric veri aracılarını sorgulama — önizleme
Bellek Arama Foundry tarafından yönetilen bellek deposunda arama — önizleme
Bilgisayar Kullanımı Masaüstü veya tarayıcı ortamı oluşturma — önizleme
Tarayıcı Otomasyonu Azure Playwright aracılığıyla tarayıcı kullanma — önizleme
Aracıdan Aracıya (A2A) aracı Bir Foundry aracısından uzak bir A2A aracısını araç olarak çağırma — önizleme

Uyarı

Deneysel veya önizleme olarak işaretlenen araçlar, ilgili sağlayıcı sayfasında belgelenir ve bir işlemde ilk kez kullanıldıklarında yayarExperimentalWarning.

Araç Onayı

Araç Onayı , model sonucu almadan önce döngüde insan kararıyla her araç çağrısını (işlev araçları, barındırılan araçlar, MCP araç çağrıları) geçirmenizi sağlayan bir çerçeve özelliğidir. Çerçevenin hem .NET hem de Python işlev çağrılı sohbet istemcisi tarafından işlenir, bu nedenle istemcisi araçları yerel olarak çağıran herhangi bir sağlayıcıyla çalışır; sağlayıcı başına bir özellik değildir. Onayların oturumlarla, akışla ve ara yazılımla nasıl etkileşime geçtiğini de içeren tam desen için Araç Onayı sayfasına bakın.

Sağlayıcı Destek Matrisi

OpenAI ve Azure OpenAI sağlayıcılarının her biri farklı araç özelliklerine sahip iki istemci türü (Yanıtlar ve Sohbet Tamamlama) sunar. Azure OpenAI istemcileri, OpenAI eşdeğerlerini yansıtır. Copilot Studio ve A2A aracıları uzak bir hizmette çalıştırılır, böylece özellikleri Agent Framework istemcisi yerine uzak aracıda yapılandırılır; matriste listelenmez.

Araç Türü Yanıt Sohbet Tamamlama Dökümhane Anthropic Ollama GitHub Yardımcı Pilotu
İşlev Araçları
Kod Yorumlayıcısı
Dosya Arama
Web Araması
Barındırılan MCP Araçları
Yerel MCP Araçları

Uyarı

Responses ve Chat Tamamlama sütunları hem OpenAI hem de Azure OpenAI için geçerlidir; Azure varyantları, OpenAI karşılık gelenleriyle aynı araç desteğini yansıtır. Kullanım dışı bırakılan OpenAI Assistants API'si artık belgelenmemektedir; geçiş kılavuzu için bkz. Semantik Çekirdek geçiş kılavuzu.

Sağlayıcı Destek Matrisi

OpenAI ve Azure OpenAI sağlayıcılarının her biri farklı araç özelliklerine sahip birden çok istemci türü sunar. Azure OpenAI istemcileri, OpenAI eşdeğerlerini yansıtır. Foundry sütunu için FoundryChatClient geçerlidir— içinFoundryAgent, araçlar Foundry aracı tanımında yapılandırılır (bkz. Ne işe yarar ve nelerle FoundryAgentçalışmaz? ). Copilot Studio ve A2A aracıları uzak bir hizmette çalıştırılır, böylece özellikleri Agent Framework istemcisi yerine uzak aracıda yapılandırılır; matriste listelenmez.

Araç Türü Yanıt Sohbet Tamamlama Dökümhane Anthropic Ollama Dökümhane Yerel GitHub Yardımcı Pilotu
İşlev Araçları ⚠️¹ ⚠️¹
Kod Yorumlayıcısı
Dosya Arama
Web Araması
Görüntü Üretimi
Barındırılan Kabuk (get_shell_tool)
Yerleşik kabuk / dosya sistemi / URL getirme ✅²
Barındırılan MCP Araçları
Yerel MCP Araçları
Döküm Aracı Kutuları
Bing Topraklama (deneysel)
Bing Özel Arama (önizleme)
Azure Yapay Zeka Arama (deneysel)
SharePoint (önizleme)
Microsoft Fabric (önizleme)
Bellek Arama (önizleme)
Bilgisayar Kullanımı (önizleme)
Tarayıcı Otomasyonu (önizleme)
Aracıdan Aracıya (A2A) aracı (önizleme)

¹ Seçilen yerel modeli destekleyen işlev çağrısına bağlıdır. ² bir izin işleyicisi tarafından geçitli GitHub Copilot CLI çalışma zamanında yerleşiktir. OpenAI'nin get_shell_toolfarklı yüzeyi.

Uyarı

Responses ve Chat Tamamlama sütunları hem OpenAI hem de Azure OpenAI için geçerlidir; Azure varyantları, OpenAI karşılık gelenleriyle aynı araç desteğini yansıtır. Yerel MCP Araçları, işlev araçlarını destekleyen tüm sağlayıcılarla çalışır.

Aracıyı İşlev Aracı olarak Kullanma

Aracıyı başka bir aracı için işlev aracı olarak kullanarak aracı oluşturma ve daha gelişmiş iş akışları sağlayabilirsiniz. İç aracı bir işlev aracına dönüştürülür ve dış aracıya sağlanır ve gerektiğinde çağırılabilir.

Başka bir .AsAIFunction() aracıya sağlanabilir bir işlev aracısına dönüştürmek için çağrısı AIAgent yapın:

// Create the inner agent with its own tools
AIAgent weatherAgent = new AIProjectClient(
    new Uri("<your-foundry-project-endpoint>"),
    new DefaultAzureCredential())
     .AsAIAgent(
        model: "gpt-4o-mini",
        instructions: "You answer questions about the weather.",
        name: "WeatherAgent",
        description: "An agent that answers questions about the weather.",
        tools: [AIFunctionFactory.Create(GetWeather)]);

// Create the main agent and provide the inner agent as a function tool
AIAgent agent = new AIProjectClient(
    new Uri("<your-foundry-project-endpoint>"),
    new DefaultAzureCredential())
     .AsAIAgent(
        model: "gpt-4o-mini",
        instructions: "You are a helpful assistant.",
        tools: [weatherAgent.AsAIFunction()]);

// The main agent can now call the weather agent as a tool
Console.WriteLine(await agent.RunAsync("What is the weather like in Amsterdam?"));

Uyarı

DefaultAzureCredential geliştirme için uygundur ancak üretimde dikkatli bir şekilde dikkate alınması gerekir. Üretimde gecikme sorunları, istenmeyen kimlik bilgisi yoklama ve geri dönüş mekanizmalarından kaynaklanan olası güvenlik risklerini önlemek için belirli bir kimlik bilgisi (ör ManagedIdentityCredential. ) kullanmayı göz önünde bulundurun.

Aracıyı çağırarak .as_tool() başka bir aracıya sağlanabilir bir işlev aracısına dönüştürün:

import os
from agent_framework.openai import OpenAIChatCompletionClient
from azure.identity import AzureCliCredential

# Create the inner agent with its own tools
weather_agent = OpenAIChatCompletionClient(
    model=os.environ["AZURE_OPENAI_CHAT_COMPLETION_MODEL"],
    azure_endpoint=os.environ["AZURE_OPENAI_ENDPOINT"],
    api_version=os.getenv("AZURE_OPENAI_API_VERSION"),
    credential=AzureCliCredential(),
).as_agent(
    name="WeatherAgent",
    description="An agent that answers questions about the weather.",
    instructions="You answer questions about the weather.",
    tools=get_weather
)

# Create the main agent and provide the inner agent as a function tool
main_agent = OpenAIChatCompletionClient(
    model=os.environ["AZURE_OPENAI_CHAT_COMPLETION_MODEL"],
    azure_endpoint=os.environ["AZURE_OPENAI_ENDPOINT"],
    api_version=os.getenv("AZURE_OPENAI_API_VERSION"),
    credential=AzureCliCredential(),
).as_agent(
    instructions="You are a helpful assistant.",
    tools=weather_agent.as_tool()
)

# The main agent can now call the weather agent as a tool
result = await main_agent.run("What is the weather like in Amsterdam?")
print(result.text)

Araç adını, açıklamasını ve bağımsız değişken adını da özelleştirebilirsiniz:

weather_tool = weather_agent.as_tool(
    name="WeatherLookup",
    description="Look up weather information for any location",
    arg_name="query",
    arg_description="The weather query or location"
)

Sonraki Adımlar