Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Microsoft Agent Framework dá suporte a dois tipos de cliente OpenAI — Respostas e Preenchimento de Chat — em C# e Python. As respostas são o cliente primário recomendado: ele tem como destino a API de Respostas OpenAI mais recente e dá suporte ao conjunto completo de ferramentas hospedadas (interpretador de código, pesquisa de arquivos, pesquisa na Web, MCP hospedado, geração de imagem). Use o Chat Completions quando precisar de compatibilidade com uma ampla variedade de modelos ou já tiver uma integração com o Chat Completions que você precise manter.
| Tipo de cliente | API | Mais Adequado Para |
|---|---|---|
| Respostas (recomendado) | API de respostas | Agentes completos com ferramentas hospedadas (interpretador de código, pesquisa de arquivo, pesquisa na Web, MCP hospedado) |
| Conclusão do chat | API de Conclusões de Chat | Agentes simples, amplo suporte a modelos |
Observação
A API de Assistentes do OpenAI é preterida pelo OpenAI. O novo código deve usar o cliente Responses. Se você estiver migrando de um aplicativo baseado em Assistentes existente, 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 de Respostas é o cliente primário recomendado e fornece o suporte de ferramenta mais avançado, incluindo interpretador de código, pesquisa de arquivo, pesquisa na Web e MCP hospedado.
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 com suporte: Ferramentas de funções, aprovação da ferramenta, interpretador de código, pesquisa de arquivo, pesquisa na Web, MCP hospedado, ferramentas MCP locais.
Cliente de conclusão de chat
O cliente de Conclusão de Chat fornece uma maneira simples de criar agentes usando a API de Conclusões de Chat. Use-o quando precisar de ampla compatibilidade com modelos ou já tiver uma integração 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 com suporte: Ferramentas de funções, pesquisa na Web, ferramentas MCP locais.
Cliente de Assistentes
Observação
A API de Assistentes do OpenAI é preterida pelo OpenAI. O framework de agentes não documenta mais um cliente Assistants — use o cliente Responses acima para novos códigos. Para migrar um aplicativo existente, consulte o guia de migração Kernel semântico.
Usando o agente
Ambos os tipos de cliente produzem um padrão AIAgent que dá suporte às mesmas operações de agente (streaming, threads, middleware).
Para obter mais informações, consulte os tutoriais de Introdução.
Tools
Os clientes .NET OpenAI expõem diferentes superfícies de ferramenta, dependendo de qual API eles visam. A mesma matriz se aplica aos clientes OpenAI Azure correspondentes na página do provedor Azure OpenAI.
| Tool | Respostas | Conclusão do chat |
|---|---|---|
| Ferramentas de Funções | ✅ | ✅ |
| Aprovação da ferramenta | ✅ | ✅ |
| Interpretador de Código | ✅ | ❌ |
| Pesquisa de Arquivo | ✅ | ❌ |
| Pesquisa na Web | ✅ | ✅ |
| Ferramentas MCP hospedadas | ✅ | ❌ |
| Ferramentas MCP locais | ✅ | ✅ |
Observação
Aprovação de Ferramenta é fornecida pelo cliente de chat do framework com invocação de funções, portanto funciona com qualquer chamada de ferramenta baseada em função, independentemente da API subjacente.
Observação
A API Assistants da OpenAI foi descontinuada pela OpenAI, e o Python não inclui mais um cliente/provedor de compatibilidade para Assistants. Use OpenAIChatClient para respostas ou OpenAIChatCompletionClient para conclusões de chat. Se você estiver migrando de uma versão anterior do Agent Framework Python, consulte o guia Python alterações significativas. Se você estiver migrando de Kernel semântico, consulte o guia de migração Kernel semântico.
Dica
No Python, o Azure OpenAI agora usa os mesmos agent_framework.openai clientes mostrados aqui. Passe entradas explícitas de roteamento do Azure, como credential ou azure_endpoint quando desejar roteamento do Azure, e defina api_version para a superfície da API do Azure que você deseja usar. Se OPENAI_API_KEY estiver configurado, os clientes genéricos permanecerão no OpenAI mesmo quando AZURE_OPENAI_* variáveis também estiverem presentes. Se você já tiver uma URL completa .../openai/v1 , use base_url em vez de azure_endpoint. Para os pontos de extremidade de projeto do Microsoft Foundry e o Serviço do Agente Foundry, consulte a página do provedor do Microsoft Foundry. Para runtimes locais, consulte Foundry Local.
Installation
pip install agent-framework-openai
agent-framework-openai é o pacote de provedor python opcional para uso direto do OpenAI e do Azure OpenAI.
Configuração
Os clientes de chat do Python OpenAI usam esses padrões de variável de ambiente:
OPENAI_API_KEY="your-openai-api-key"
OPENAI_CHAT_MODEL="gpt-4o-mini"
# Optional shared fallback:
# OPENAI_MODEL="gpt-4o-mini"
Recursos comuns
Esses tipos de cliente dão suporte a esses recursos de agente padrão:
Ferramentas de Funções
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 de várias voltas
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"
Transmissão ao vivo
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 dá suporte às mesmas operações.
Para obter mais informações, consulte os tutoriais de Introdução.
Tools
Os clientes Python OpenAI expõem diferentes superfícies de ferramenta, dependendo da API subjacente.
OpenAIChatClient (Respostas) fornece fábricas de ferramentas hospedadas por meio de 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 só expõe get_web_search_tool. Ambos funcionam com ferramentas de função e servidores MCP locais.
A mesma matriz se aplica quando você aponta esses clientes para Azure OpenAI — consulte Azure OpenAI.
| Tool |
OpenAIChatClient (Respostas) |
OpenAIChatCompletionClient (Conclusão do chat) |
|---|---|---|
| Ferramentas de Funções | ✅ | ✅ |
| Aprovação da ferramenta | ✅ | ✅ |
| Interpretador de Código | ✅ | ❌ |
| Pesquisa de Arquivo | ✅ | ❌ |
| Pesquisa na Web | ✅ | ✅ |
| Geração de imagem |
✅ (get_image_generation_tool) |
❌ |
| Shell hospedado |
✅ (get_shell_tool) |
❌ |
| Ferramentas MCP hospedadas | ✅ | ❌ |
| Ferramentas MCP locais | ✅ | ✅ |
Observação
Aprovação de Ferramenta é tratada pelo cliente de chat com chamada de função do framework, portanto funciona com qualquer chamada de ferramenta baseada em função, independentemente da API subjacente.