Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
O Microsoft Agent Framework suporta três tipos distintos de clientes Azure OpenAI, cada um direcionado para uma superfície API diferente com capacidades de ferramenta distintas:
| Tipo de Cliente | API | Melhor Para |
|---|---|---|
| Conclusão do Chat | API de Completação de Chat | Agentes simples, amplo suporte de modelos |
| Respostas | API de respostas | Agentes completos com ferramentas alojadas (interpretador de código, pesquisa de ficheiros, pesquisa web, MCP alojado) |
| Assistentes | API de Assistentes | Agentes geridos pelo servidor com interpretador de código e pesquisa de ficheiros |
Sugestão
Para equivalentes diretos da OpenAI (OpenAIChatClient, OpenAIChatCompletionClient, OpenAIAssistantsClient), consulte a página do fornecedor da OpenAI. O suporte à ferramenta é idêntico.
Introdução
Adicione os pacotes NuGet necessários ao seu projeto.
dotnet add package Azure.AI.OpenAI --prerelease
dotnet add package Azure.Identity
dotnet add package Microsoft.Agents.AI.OpenAI --prerelease
Todos os tipos de clientes Azure OpenAI começam pela criação de um:AzureOpenAIClient
using System;
using Azure.AI.OpenAI;
using Azure.Identity;
using Microsoft.Agents.AI;
AzureOpenAIClient client = new AzureOpenAIClient(
new Uri("https://<myresource>.openai.azure.com"),
new DefaultAzureCredential());
Advertência
DefaultAzureCredential é conveniente para o desenvolvimento, mas requer uma consideração cuidadosa na produção. Em produção, considere usar uma credencial específica (por exemplo, ManagedIdentityCredential) para evitar problemas de latência, sondagens não intencionais de credenciais e potenciais riscos de segurança provenientes de mecanismos de recurso.
Cliente de Conclusão de Chat
O cliente Chat Completion oferece uma forma direta de criar agentes usando a API ChatCompletion.
var chatClient = client.GetChatClient("gpt-4o-mini");
AIAgent agent = chatClient.AsAIAgent(
instructions: "You are good at telling jokes.",
name: "Joker");
Console.WriteLine(await agent.RunAsync("Tell me a joke about a pirate."));
Ferramentas suportadas: Ferramentas funcionais, pesquisa na web, ferramentas MCP locais.
Cliente de Respostas
O cliente Respostas oferece o suporte de ferramentas mais completo, incluindo interpretador de código, pesquisa de ficheiros, pesquisa web e MCP alojado.
var responsesClient = client.GetResponseClient("gpt-4o-mini");
AIAgent agent = responsesClient.AsAIAgent(
instructions: "You are a helpful coding assistant.",
name: "CodeHelper");
Console.WriteLine(await agent.RunAsync("Write a Python function to sort a list."));
Ferramentas suportadas: Ferramentas funcionais, aprovação de ferramentas, interpretador de código, pesquisa de ficheiros, pesquisa web, MCP alojado, ferramentas locais de MCP.
Assistentes de Cliente
O cliente Assistants cria agentes geridos pelo servidor com interpretador de código e pesquisa de ficheiros incorporados.
var assistantsClient = client.GetAssistantClient();
AIAgent agent = assistantsClient.AsAIAgent(
instructions: "You are a data analysis assistant.",
name: "DataHelper");
Console.WriteLine(await agent.RunAsync("Analyze trends in the uploaded data."));
Ferramentas suportadas: Ferramentas de funções, interpretador de código, pesquisa de ficheiros, ferramentas MCP locais.
Ferramentas de Função
Pode fornecer ferramentas de função personalizadas a qualquer agente Azure OpenAI:
using System.ComponentModel;
using Microsoft.Extensions.AI;
[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.";
AIAgent agent = new AzureOpenAIClient(
new Uri(endpoint),
new DefaultAzureCredential())
.GetChatClient(deploymentName)
.AsAIAgent(instructions: "You are a helpful assistant", tools: [AIFunctionFactory.Create(GetWeather)]);
Console.WriteLine(await agent.RunAsync("What is the weather like in Amsterdam?"));
Respostas de streaming
await foreach (var update in agent.RunStreamingAsync("Tell me a joke about a pirate."))
{
Console.Write(update);
}
Sugestão
Consulte os exemplos do .NET para exemplos completos executáveis.
Usando o agente
Os três tipos de cliente produzem um padrão AIAgent que suporta as mesmas operações de agente (streaming, threads, middleware).
Para mais informações, consulte os tutoriais para começar.
Orientação em Python
Importante
A orientação do Python para o Azure OpenAI está agora disponível na página do provedor OpenAI. Utilize essa página para OpenAIChatCompletionClient, OpenAIChatClient, e OpenAIEmbeddingClient, mapeamento do nome-de-implementação para model, entradas explícitas de roteamento do Azure como credential ou azure_endpoint, configuração de api_version após a seleção do Azure, além de orientações para URLs completos base_url. Se OPENAI_API_KEY também estiver presente, os clientes genéricos permanecem na plataforma OpenAI, a menos que passe entradas explícitas de roteamento da Azure. Se só as definições AZURE_OPENAI_* estiverem presentes, o fallback do ambiente Azure continua a funcionar. As antigas classes de compatibilidade em Python AzureOpenAI* foram removidas do namespace atual agent_framework.azure , por isso migre código antigo para agent_framework.openai. Para novas soluções Python, recomendamos implementar modelos com o Microsoft Foundry e conectá-los através de FoundryChatClient em vez de restringir-se ao caminho específico do Azure OpenAI. Se precisar de endpoints de projeto Foundry ou do Serviço de Agentes Foundry, consulte a página de fornecedores Foundry. Para uma lista de verificação de migração mais ampla, consulte o guia de alterações significativas em Python.