Aracılığıyla paylaş


Bir temsilciyi fonksiyon aracı olarak kullanma

Bu öğreticide, bir ajanı işlev aracı olarak nasıl kullanacağınız ve bir ajanın başka bir ajanı araç olarak nasıl çağırabileceği gösterilmektedir.

Önkoşullar

Önkoşullar ve NuGet paketlerini yükleme için bu öğreticideki Basit bir aracı oluşturma ve çalıştırma adımına bakın.

Bir ajanı fonksiyon aracı olarak oluşturma ve kullanma

Bir aracı AIAgent üzerinde çalıştırarak bir işlev aracı olarak kullanabilir ve bir başka aracıya .AsAIFunction()'i araç olarak sağlayabilirsiniz. Bu sayede aracılar oluşturabilir ve daha gelişmiş iş akışları oluşturabilirsiniz.

İlk olarak, C# yöntemi olarak bir işlev aracı oluşturun ve gerekirse açıklamalarla süsleyin. Bu araç, işlev olarak kullanıma sunulan temsilciniz tarafından kullanılacaktır.

using System.ComponentModel;

[Description("Get the weather for a given location.")]
static string GetWeather([Description("The location to get the weather for.")] string location)
    => $"The weather in {location} is cloudy with a high of 15°C.";

İşlev aracını kullanan bir AIAgent oluşturun.

using System;
using Azure.AI.OpenAI;
using Azure.Identity;
using Microsoft.Agents.AI;
using Microsoft.Extensions.AI;
using OpenAI;

AIAgent weatherAgent = new AzureOpenAIClient(
    new Uri("https://<myresource>.openai.azure.com"),
    new AzureCliCredential())
     .GetChatClient("gpt-4o-mini")
     .CreateAIAgent(
        instructions: "You answer questions about the weather.",
        name: "WeatherAgent",
        description: "An agent that answers questions about the weather.",
        tools: [AIFunctionFactory.Create(GetWeather)]);

Şimdi ana bir ajan oluşturun ve weatherAgent'i çağırarak .AsAIFunction()'yi bir işlev aracına dönüştürmek için weatherAgent'yi bir işlev aracı olarak sağlayın.

AIAgent agent = new AzureOpenAIClient(
    new Uri("https://<myresource>.openai.azure.com"),
    new AzureCliCredential())
     .GetChatClient("gpt-4o-mini")
     .CreateAIAgent(instructions: "You are a helpful assistant who responds in French.", tools: [weatherAgent.AsAIFunction()]);

Ana aracıyı normal şekilde çağırın. Artık hava durumu aracısını bir araç olarak kullanabilir ve yanıtı Fransızca vermelidir.

Console.WriteLine(await agent.RunAsync("What is the weather like in Amsterdam?"));

Bu öğreticide, bir ajanı işlev aracı olarak nasıl kullanacağınız ve bir ajanın başka bir ajanı araç olarak nasıl çağırabileceği gösterilmektedir.

Önkoşullar

Önkoşullar ve paketleri yükleme için bu öğreticideki Basit bir aracı oluşturma ve çalıştırma adımına bakın.

Temsilciyi işlev aracı olarak oluşturma ve kullanma

Bir aracıda ChatAgent çağırarak ve başka bir aracıya araç olarak .as_tool() sağlayarak işlev aracı olarak kullanabilirsiniz. Bu sayede aracılar oluşturabilir ve daha gelişmiş iş akışları oluşturabilirsiniz.

İlk olarak, ajanınız tarafından kullanılacak işlev olarak sunulan bir işlev aracı oluşturun.

from typing import Annotated
from pydantic import Field

def get_weather(
    location: Annotated[str, Field(description="The location to get the weather for.")],
) -> str:
    """Get the weather for a given location."""
    return f"The weather in {location} is cloudy with a high of 15°C."

İşlev aracını kullanan bir ChatAgent oluşturun.

from agent_framework.azure import AzureOpenAIChatClient
from azure.identity import AzureCliCredential

weather_agent = AzureOpenAIChatClient(credential=AzureCliCredential()).create_agent(
    name="WeatherAgent",
    description="An agent that answers questions about the weather.",
    instructions="You answer questions about the weather.",
    tools=get_weather
)

Şimdi ana bir ajan oluşturun ve weather_agent'i çağırarak .as_tool()'yi bir işlev aracına dönüştürmek için weather_agent'yi bir işlev aracı olarak sağlayın.

main_agent = AzureOpenAIChatClient(credential=AzureCliCredential()).create_agent(
    instructions="You are a helpful assistant who responds in French.",
    tools=weather_agent.as_tool()
)

Ana aracıyı normal şekilde çağırın. Artık hava durumu aracısını bir araç olarak kullanabilir ve yanıtı Fransızca vermelidir.

result = await main_agent.run("What is the weather like in Amsterdam?")
print(result.text)

Ajanı araca dönüştürürken araç adını, açıklamasını ve parametre adını özelleştirebilirsiniz:

# Convert agent to tool with custom parameters
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"
)

main_agent = AzureOpenAIChatClient(credential=AzureCliCredential()).create_agent(
    instructions="You are a helpful assistant who responds in French.",
    tools=weather_tool
)

Sonraki Adımlar