Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Agent Framework admite muchos tipos diferentes de herramientas que amplían las funcionalidades del agente. Las herramientas permiten a los agentes interactuar con sistemas externos, ejecutar código, buscar datos, etc.
Tipos de herramientas
| Tipo de herramienta | Description |
|---|---|
| Herramientas de funciones | Código personalizado al que pueden llamar los agentes durante las conversaciones |
| Aprobación de herramientas | Aprobación humana en el bucle para las invocaciones de herramientas |
| Intérprete de código | Ejecución de código en un entorno de espacio aislado |
| Búsqueda de archivos | Búsqueda a través de archivos cargados |
| Búsqueda web | Buscar información en la web |
| Herramientas de MCP hospedadas | Herramientas de MCP hospedadas por Azure AI Foundry |
| Herramientas de MCP locales | Herramientas de MCP que se ejecutan localmente o en servidores personalizados |
Matriz de compatibilidad del proveedor
Los proveedores de OpenAI y Azure OpenAI ofrecen cada uno varios tipos de cliente con distintas funcionalidades de herramientas. Los clientes de Azure OpenAI reflejan sus equivalentes de OpenAI.
| Tipo de herramienta | Finalización del chat | Respuestas | Asistentes | Azure AI Foundry | Antrópica | Ollama | Copiloto de GitHub | Copilot Studio |
|---|---|---|---|---|---|---|---|---|
| Herramientas de funciones | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| Aprobación de herramientas | ❌ | ✅ | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ |
| Intérprete de código | ❌ | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ |
| Búsqueda de archivos | ❌ | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ |
| Búsqueda web | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
| Herramientas de MCP hospedadas | ❌ | ✅ | ❌ | ✅ | ✅ | ❌ | ❌ | ❌ |
| Herramientas de MCP locales | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ |
Nota:
Las columnasFinalización de chat, Respuestas y Asistentes se aplican tanto a OpenAI como a Azure OpenAI: las variantes de Azure reflejan la misma compatibilidad con la herramienta que sus homólogos de OpenAI.
Matriz de compatibilidad del proveedor
Los proveedores de OpenAI y Azure OpenAI ofrecen cada uno varios tipos de cliente con distintas funcionalidades de herramientas. Los clientes de Azure OpenAI reflejan sus equivalentes de OpenAI.
| Tipo de herramienta | Finalización del chat | Respuestas | Asistentes | Azure AI Foundry | Antrópica | Agente de Claude | Ollama | Copiloto de GitHub |
|---|---|---|---|---|---|---|---|---|
| Herramientas de funciones | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| Aprobación de herramientas | ❌ | ✅ | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ |
| Intérprete de código | ❌ | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ |
| Búsqueda de archivos | ❌ | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ |
| Búsqueda web | ✅ | ✅ | ❌ | ✅ | ✅ | ❌ | ❌ | ❌ |
| Generación de imágenes | ❌ | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ |
| Herramientas de MCP hospedadas | ❌ | ✅ | ❌ | ✅ | ✅ | ❌ | ❌ | ❌ |
| Herramientas de MCP locales | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
Nota:
Las columnasFinalización de chat, Respuestas y Asistentes se aplican tanto a OpenAI como a Azure OpenAI: las variantes de Azure reflejan la misma compatibilidad con la herramienta que sus homólogos de OpenAI. Las herramientas de MCP locales funcionan con cualquier proveedor que admita herramientas de funciones.
Uso de un agente como una herramienta de función
Puede usar un agente como herramienta de función para otro agente, lo que permite la composición del agente y flujos de trabajo más avanzados. El agente interno se convierte en una herramienta de función y se proporciona al agente externo, que luego puede llamarlo según sea necesario.
Llame .AsAIFunction() a en para AIAgent convertirlo en una herramienta de función que se puede proporcionar a otro agente:
// Create the inner agent with its own tools
AIAgent weatherAgent = new AzureOpenAIClient(
new Uri("https://<myresource>.openai.azure.com"),
new AzureCliCredential())
.GetChatClient("gpt-4o-mini")
.AsAIAgent(
instructions: "You answer questions about the weather.",
name: "WeatherAgent",
description: "An agent that answers questions about the weather.",
tools: [AIFunctionFactory.Create(GetWeather)]);
// Create the main agent and provide the inner agent as a function tool
AIAgent agent = new AzureOpenAIClient(
new Uri("https://<myresource>.openai.azure.com"),
new AzureCliCredential())
.GetChatClient("gpt-4o-mini")
.AsAIAgent(instructions: "You are a helpful assistant.", tools: [weatherAgent.AsAIFunction()]);
// The main agent can now call the weather agent as a tool
Console.WriteLine(await agent.RunAsync("What is the weather like in Amsterdam?"));
Llame .as_tool() a en un agente para convertirlo en una herramienta de función que se puede proporcionar a otro agente:
from agent_framework.azure import AzureOpenAIChatClient
from azure.identity import AzureCliCredential
# Create the inner agent with its own tools
weather_agent = AzureOpenAIChatClient(credential=AzureCliCredential()).as_agent(
name="WeatherAgent",
description="An agent that answers questions about the weather.",
instructions="You answer questions about the weather.",
tools=get_weather
)
# Create the main agent and provide the inner agent as a function tool
main_agent = AzureOpenAIChatClient(credential=AzureCliCredential()).as_agent(
instructions="You are a helpful assistant.",
tools=weather_agent.as_tool()
)
# The main agent can now call the weather agent as a tool
result = await main_agent.run("What is the weather like in Amsterdam?")
print(result.text)
También puede personalizar el nombre, la descripción y el nombre del argumento de la herramienta:
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"
)