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 dois tipos de clientes OpenAI — Respostas e Conclusão de Chat — tanto em C# como em Python. O Answers é o cliente primário recomendado: dirige-se para a mais recente API OpenAI Responses e suporta todo o conjunto de ferramentas alojadas (interpretador de código, pesquisa de ficheiros, pesquisa web, MCP alojado, geração de imagens). Utilize o Chat Completion quando precisar de compatibilidade abrangente com modelos ou já tiver uma integração com o Chat Completions que pretenda manter.
| Tipo de Cliente | API | Melhor Para |
|---|---|---|
| Respostas (recomendado) | API de respostas | Agentes completos com ferramentas alojadas (interpretador de código, pesquisa de ficheiros, pesquisa web, MCP alojado) |
| Conclusão do Chat | API de Completação de Chat | Agentes simples, amplo suporte de modelos |
Observação
A API dos Assistentes OpenAI está obsoleta pela OpenAI. O novo código deve usar o cliente Responses. Se estiver a migrar de uma aplicação já existente baseada em Assistentes, consulte o guia de migração Kernel Semântico.
Introdução
Adicione os pacotes NuGet necessários ao seu projeto.
dotnet add package Microsoft.Agents.AI.OpenAI --prerelease
Cliente de Respostas
O cliente Respostas é o cliente principal recomendado e oferece o suporte de ferramentas mais rico, incluindo interpretador de código, pesquisa de ficheiros, pesquisa web e MCP alojado.
using Microsoft.Agents.AI;
using OpenAI;
OpenAIClient client = new OpenAIClient("<your_api_key>");
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.
Cliente de Conclusão de Chat
O cliente Chat Completion oferece uma forma direta de criar agentes usando a API Chat Completions. Use-o quando precisar de uma ampla compatibilidade de modelos ou quando tiver uma integração já existente com o Chat Completions.
using Microsoft.Agents.AI;
using OpenAI;
OpenAIClient client = new OpenAIClient("<your_api_key>");
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.
Assistentes de Cliente
Observação
A API dos Assistentes OpenAI está obsoleta pela OpenAI. O Agent Framework já não documenta um cliente Assistants — use o cliente Responses acima para novo código. Para migrar uma aplicação existente, consulte o guia de migração Kernel Semântico.
Usando o agente
Ambos os tipos de cliente produzem um AIAgent padrão que suporta as mesmas operações do agente (streaming, threads, middleware).
Para mais informações, consulte os tutoriais para começar.
Tools
Os clientes OpenAI .NET expõem diferentes superfícies de ferramentas dependendo da API que pretendem. A mesma matriz aplica-se aos clientes Azure OpenAI correspondentes na página do fornecedor Azure OpenAI.
| Tool | Respostas | Conclusão do bate-papo |
|---|---|---|
| Ferramentas Funcionais | ✅ | ✅ |
| Aprovação de Ferramentas | ✅ | ✅ |
| Intérprete de código | ✅ | ❌ |
| Pesquisa de ficheiros | ✅ | ❌ |
| Pesquisa na Web | ✅ | ✅ |
| Ferramentas MCP Hospedadas | ✅ | ❌ |
| Ferramentas MCP Locais | ✅ | ✅ |
Observação
A Aprovação de Ferramentas é fornecida pelo cliente de chat invocador de funções do framework, pelo que funciona com qualquer chamada de função e ferramenta, independentemente da API subjacente.
Observação
A API dos Assistentes OpenAI está obsoleta pela OpenAI, e o Python já não fornece um cliente/fornecedor de compatibilidade com os Assistentes. Use OpenAIChatClient para respostas ou OpenAIChatCompletionClient para completar chats. Se estiver a migrar de uma versão anterior do Agent Framework Python, consulte o guia Python alterações significativas. Se estiver a migrar de Kernel Semântico, consulte o guia de migração Kernel Semântico.
Sugestão
Em Python, o Azure OpenAI utiliza agora os mesmos agent_framework.openai clientes mostrados aqui. Passe entradas explícitas de roteamento do Azure, como credential ou azure_endpoint, quando quiser o roteamento do Azure, depois defina api_version para a superfície da API do Azure que deseja usar. Se OPENAI_API_KEY estiver configurado, os clientes genéricos permanecem no OpenAI, mesmo quando também existem variáveis AZURE_OPENAI_* presentes. Se já tiver um URL completo .../openai/v1 , use base_url em vez de azure_endpoint. Para os endpoints do projeto Microsoft Foundry e o Serviço de Agentes Foundry, consulte a página do fornecedor Microsoft Foundry. Para horários locais, veja Foundry Local.
Installation
pip install agent-framework-openai
agent-framework-openai é o pacote opcional do fornecedor Python tanto para o uso direto do OpenAI como do Azure OpenAI.
Configuração
Os clientes de chat OpenAI em Python utilizam estes padrões de variáveis de ambiente:
OPENAI_API_KEY="your-openai-api-key"
OPENAI_CHAT_MODEL="gpt-4o-mini"
# Optional shared fallback:
# OPENAI_MODEL="gpt-4o-mini"
Características Comuns
Estes tipos de clientes suportam estas funcionalidades padrão de agente:
Ferramentas de Função
from agent_framework import tool
@tool
def get_weather(location: str) -> str:
"""Get the weather for a given location."""
return f"The weather in {location} is sunny, 25°C."
async def example():
agent = OpenAIChatClient().as_agent(
instructions="You are a weather assistant.",
tools=get_weather,
)
result = await agent.run("What's the weather in Tokyo?")
print(result)
Conversas com Múltiplos Turnos
async def thread_example():
agent = OpenAIChatClient().as_agent(
instructions="You are a helpful assistant.",
)
session = await agent.create_session()
result1 = await agent.run("My name is Alice", session=session)
print(result1)
result2 = await agent.run("What's my name?", session=session)
print(result2) # Remembers "Alice"
Serviço de streaming
async def streaming_example():
agent = OpenAIChatClient().as_agent(
instructions="You are a creative storyteller.",
)
print("Agent: ", end="", flush=True)
async for chunk in agent.run("Tell me a short story about AI.", stream=True):
if chunk.text:
print(chunk.text, end="", flush=True)
print()
Usando o agente
Todos os tipos de cliente produzem um padrão Agent que suporta as mesmas operações.
Para mais informações, consulte os tutoriais para começar.
Tools
Os clientes OpenAI em Python expõem diferentes superfícies de ferramentas dependendo da API subjacente.
OpenAIChatClient (Respostas) as naves alojavam fábricas de ferramentas via client.get_*_tool(...) — get_code_interpreter_tool, get_file_search_tool, get_web_search_tool, get_image_generation_tool, get_shell_tool, , e get_mcp_tool.
OpenAIChatCompletionClient apenas expõe get_web_search_tool. Ambos funcionam com ferramentas funcionais e servidores MCP locais.
A mesma matriz aplica-se quando aponta estes clientes para Azure OpenAI — veja Azure OpenAI.
| Tool |
OpenAIChatClient (Respostas) |
OpenAIChatCompletionClient (Conversa Concluída) |
|---|---|---|
| Ferramentas Funcionais | ✅ | ✅ |
| Aprovação de Ferramentas | ✅ | ✅ |
| Intérprete de código | ✅ | ❌ |
| Pesquisa de ficheiros | ✅ | ❌ |
| Pesquisa na Web | ✅ | ✅ |
| Geração de Imagem |
✅ (get_image_generation_tool) |
❌ |
| Shell Hospedado |
✅ (get_shell_tool) |
❌ |
| Ferramentas alojadas do MCP | ✅ | ❌ |
| Ferramentas MCP Locais | ✅ | ✅ |
Observação
A Aprovação de Ferramentas é gerida pelo cliente de chat invocador de funções do framework, pelo que funciona com qualquer chamada de função e ferramenta, independentemente da API subjacente.