Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Microsoft Agent Framework , Foundry Agent Hizmeti'ni kullanan aracılar oluşturmayı destekler. Hizmet tarafından yönetilen sohbet geçmişiyle kalıcı hizmet tabanlı aracı örnekleri oluşturabilirsiniz.
Başlangıç Yapmak
Projenize gerekli NuGet paketlerini ekleyin.
dotnet add package Azure.Identity
dotnet add package Microsoft.Agents.AI.AzureAI.Persistent --prerelease
Döküm Aracıları Oluşturma
İlk adım olarak Aracı Hizmetine bağlanmak için bir istemci oluşturmanız gerekir.
using System;
using Azure.AI.Agents.Persistent;
using Azure.Identity;
using Microsoft.Agents.AI;
var persistentAgentsClient = new PersistentAgentsClient(
"https://<myresource>.services.ai.azure.com/api/projects/<myproject>",
new DefaultAzureCredential());
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ı Hizmeti'ni kullanmak için hizmette bir aracı kaynağı oluşturmanız gerekir. Bu, Azure.AI.Agents.Persistent SDK'sı veya Microsoft Agent Framework yardımcıları kullanılarak yapılabilir.
Kalıcı SDK kullanma
Kalıcı bir ajan oluşturun ve bunu AIAgent kullanarak PersistentAgentsClient olarak alın.
// Create a persistent agent
var agentMetadata = await persistentAgentsClient.Administration.CreateAgentAsync(
model: "gpt-4o-mini",
name: "Joker",
instructions: "You are good at telling jokes.");
// Retrieve the agent that was just created as an AIAgent using its ID
AIAgent agent1 = await persistentAgentsClient.GetAIAgentAsync(agentMetadata.Value.Id);
// Invoke the agent and output the text result.
Console.WriteLine(await agent1.RunAsync("Tell me a joke about a pirate."));
Agent Framework yardımcılarını kullanma
Ayrıca AIAgent'yi tek bir adımda oluşturup döndürebilirsiniz.
AIAgent agent2 = await persistentAgentsClient.CreateAIAgentAsync(
model: "gpt-4o-mini",
name: "Joker",
instructions: "You are good at telling jokes.");
Döküm Temsilcilerini Yeniden Kullanma
Mevcut Foundry Ajanlarını, ID'lerini kullanarak yeniden kullanabilirsiniz.
AIAgent agent3 = await persistentAgentsClient.GetAIAgentAsync("<agent-id>");
Tavsiye
Çalıştırılabilir örneklerin tamamı için .NET örneklerine bakın.
Aracıyı kullanma
Aracı, standart bir AIAgent'dir ve tüm standart AIAgent işlemlerini destekler.
Aracıları çalıştırma ve aracılarla etkileşim kurma hakkında daha fazla bilgi için bkz. Aracı kullanmaya başlama öğreticileri.
Konfigürasyon
Ortam Değişkenleri
Foundry Aracılarını kullanmadan önce şu ortam değişkenlerini ayarlamanız gerekir:
export AZURE_AI_PROJECT_ENDPOINT="https://<your-project>.services.ai.azure.com/api/projects/<project-id>"
export AZURE_AI_MODEL_DEPLOYMENT_NAME="gpt-4o-mini"
Alternatif olarak, bu değerleri doğrudan kodunuzda sağlayabilirsiniz.
Installation
Projenize Agent Framework Azure AI paketini ekleyin:
pip install agent-framework-azure-ai --pre
Başlangıç Yapmak
Kimlik Doğrulaması
Döküm aracıları kimlik doğrulaması için Azure kimlik bilgilerini kullanır. En basit yaklaşım, AzureCliCredential çalıştırdıktan sonra az login kullanmaktır. Tüm Azure AI istemcileri, birleşik bir credential parametresini kabul eder; bu parametre TokenCredential, AsyncTokenCredential veya çağrılabilir bir belirteç sağlayıcısını destekler. Belirteç önbelleğe alma ve yenileme işlemleri otomatik olarak gerçekleştirilir.
from azure.identity.aio import AzureCliCredential
async with AzureCliCredential() as credential:
# Use credential with Azure AI agent client
Döküm Aracıları Oluşturma
Temel Ajan Oluşturma
Aracı oluşturmanın en basit yolu, ortam değişkenleriyle kullanmaktır AzureAIAgentClient :
import asyncio
from agent_framework.azure import AzureAIAgentClient
from azure.identity.aio import AzureCliCredential
async def main():
async with (
AzureCliCredential() as credential,
AzureAIAgentClient(credential=credential).as_agent(
name="HelperAgent",
instructions="You are a helpful assistant."
) as agent,
):
result = await agent.run("Hello!")
print(result.text)
asyncio.run(main())
Açık Yapılandırma
Ortam değişkenlerini kullanmak yerine açıkça yapılandırma da sağlayabilirsiniz:
import asyncio
from agent_framework.azure import AzureAIAgentClient
from azure.identity.aio import AzureCliCredential
async def main():
async with (
AzureCliCredential() as credential,
AzureAIAgentClient(
project_endpoint="https://<your-project>.services.ai.azure.com/api/projects/<project-id>",
model_deployment_name="gpt-4o-mini",
credential=credential,
agent_name="HelperAgent"
).as_agent(
instructions="You are a helpful assistant."
) as agent,
):
result = await agent.run("Hello!")
print(result.text)
asyncio.run(main())
Mevcut Dökümhane Ajanlarını Kullanma
Mevcut Temsilciyi Kullanma
Foundry'de mevcut bir aracınız varsa, ID'sini sağlayarak kullanabilirsiniz.
import asyncio
from agent_framework import Agent
from agent_framework.azure import AzureAIAgentClient
from azure.identity.aio import AzureCliCredential
async def main():
async with (
AzureCliCredential() as credential,
Agent(
chat_client=AzureAIAgentClient(
credential=credential,
agent_id="<existing-agent-id>"
),
instructions="You are a helpful assistant."
) as agent,
):
result = await agent.run("Hello!")
print(result.text)
asyncio.run(main())
Kalıcı Aracılar Oluşturma ve Yönetme
Aracı yaşam döngüsü üzerinde daha fazla denetim için Azure AI Projeleri istemcisini kullanarak kalıcı aracılar oluşturabilirsiniz:
import asyncio
import os
from agent_framework import Agent
from agent_framework.azure import AzureAIAgentClient
from azure.ai.projects.aio import AIProjectClient
from azure.identity.aio import AzureCliCredential
async def main():
async with (
AzureCliCredential() as credential,
AIProjectClient(
endpoint=os.environ["AZURE_AI_PROJECT_ENDPOINT"],
credential=credential
) as project_client,
):
# Create a persistent agent
created_agent = await project_client.agents.create_agent(
model=os.environ["AZURE_AI_MODEL_DEPLOYMENT_NAME"],
name="PersistentAgent",
instructions="You are a helpful assistant."
)
try:
# Use the agent
async with Agent(
chat_client=AzureAIAgentClient(
project_client=project_client,
agent_id=created_agent.id
),
instructions="You are a helpful assistant."
) as agent:
result = await agent.run("Hello!")
print(result.text)
finally:
# Clean up the agent
await project_client.agents.delete_agent(created_agent.id)
asyncio.run(main())
Temsilci Özellikleri
Akıl yürütme ve içerik filtreleme seçenekleri
Azure AI proje sağlayıcıları aracılığıyla ajan oluştururken, model akıl yürütmeyi ve sorumlu yapay zeka içerik filtrelemesini etkinleştirecek şekilde ayarlayabilirsiniz default_options.
Akıl yürütme özellikli modeller için kullanın reasoning :
from agent_framework.azure import AzureAIProjectAgentProvider
from azure.ai.projects.models import Reasoning
from azure.identity.aio import AzureCliCredential
async with (
AzureCliCredential() as credential,
AzureAIProjectAgentProvider(credential=credential) as provider,
):
agent = await provider.create_agent(
async with (
AzureCliCredential() as credential,
AzureAIProjectAgentProvider(credential=credential) as provider,
):
agent = await provider.create_agent(
Yapılandırılmış bir RAI ilkesini uygulamak için rai_config kullanın.
from azure.ai.projects.models import RaiConfig
from azure.identity.aio import AzureCliCredential
async def main() -> None:
print("=== Azure AI Agent with Content Filtering ===\n")
# Replace with your RAI policy from Azure AI Foundry portal
rai_policy_name = (
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/"
"Microsoft.CognitiveServices/accounts/{accountName}/raiPolicies/{policyName}"
)
async with (
AzureCliCredential() as credential,
AzureAIProjectAgentProvider(credential=credential) as provider,
):
# Create agent with content filtering enabled via default_options
agent = await provider.create_agent(
İşlev Araçları
Foundry aracılarına özel işlev araçları sağlayabilirsiniz:
import asyncio
from typing import Annotated
from agent_framework.azure import AzureAIAgentClient
from azure.identity.aio import AzureCliCredential
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 sunny with a high of 25°C."
async def main():
async with (
AzureCliCredential() as credential,
AzureAIAgentClient(credential=credential).as_agent(
name="WeatherAgent",
instructions="You are a helpful weather assistant.",
tools=get_weather
) as agent,
):
result = await agent.run("What's the weather like in Seattle?")
print(result.text)
asyncio.run(main())
Kod Yorumlayıcı
Döküm aracıları barındırılan kod yorumlayıcı aracılığıyla kod yürütmeyi destekler:
import asyncio
from agent_framework.azure import AzureAIAgentClient
from azure.identity.aio import AzureCliCredential
async def main():
async with (
AzureCliCredential() as credential,
AzureAIAgentClient(credential=credential) as client,
client.as_agent(
name="CodingAgent",
instructions="You are a helpful assistant that can write and execute Python code.",
tools=client.get_code_interpreter_tool(),
) as agent,
):
result = await agent.run("Calculate the factorial of 20 using Python code.")
print(result.text)
asyncio.run(main())
Akış Yanıtları
Akış kullanılarak oluşturulurken yanıtları alın:
import asyncio
from agent_framework.azure import AzureAIAgentClient
from azure.identity.aio import AzureCliCredential
async def main():
async with (
AzureCliCredential() as credential,
AzureAIAgentClient(credential=credential).as_agent(
name="StreamingAgent",
instructions="You are a helpful assistant."
) as agent,
):
print("Agent: ", end="", flush=True)
async for chunk in agent.run("Tell me a short story", stream=True):
if chunk.text:
print(chunk.text, end="", flush=True)
print()
asyncio.run(main())
Ajanı Kullanma
Aracı standart bir BaseAgent'dir ve tüm standart aracı işlemleri destekler.
Aracıları çalıştırma ve aracılarla etkileşim kurma hakkında daha fazla bilgi için bkz. Aracı kullanmaya başlama öğreticileri.