Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Server-side uso de herramientas
Si usas la API Responses para invocar el modelo, este puede usar las llamadas a herramientas del lado del servidor, además de las llamadas a las herramientas del lado del cliente que mencionamos anteriormente. Server-side La llamada a herramientas es un mecanismo en el que las herramientas (API, funciones, flujos de trabajo) se ejecutan en un entorno de backend confiable, no en el cliente. Esto mejora la seguridad, la confiabilidad y la postura de gobierno de la aplicación. Antes de ejecutar la función Lambda que implementa el uso de la herramienta, Amazon Bedrock se asegura de que la función Lambda tenga la misma política de IAM que la aplicación que la llama. Como Amazon Bedrock gestiona la ejecución de las herramientas, los clientes pueden centrarse en implementar su lógica empresarial, en lugar de añadir la funcionalidad de las herramientas. Amazon Bedrock también cumple con los estándares de gobierno más exigentes, como los que cumplen con las normas ISO, SOC e HIPAA. Puede enviar su propia función Lambda personalizada para ejecutar la herramienta o utilizar las herramientas predefinidas existentes, como notas y tareas. Server-side Las herramientas que utilizan la API Responses están disponibles a partir de los 20B/120B modelos GPT OSS, y pronto serán compatibles con otros modelos. Puedes usar la API de modelos para descubrir los modelos disponibles que puedes usar con la API de respuestas. Para obtener más información sobre la API de respuestas, consulte Generar respuestas con las API de OpenAI.
Hay dos tipos de herramientas que puede utilizar con Amazon Bedrock: herramientas personalizadas con Lambda o herramientas predefinidas compatibles con Amazon Bedrock. En esta sección se explica cómo crear una herramienta Lambda personalizada con la API Responses. En las siguientes secciones se describe cada tipo en detalle.
Herramientas personalizadas que utilizan Lambda en la API Responses
Al utilizar una función de Lambda como herramienta personalizada en Amazon Bedrock, puede ampliar las capacidades del agente integrando funciones de Lambda personalizadas como herramientas. Con esto, puede crear herramientas escalables y sin servidor a las que puedan acceder los asistentes de IA y otras aplicaciones a través del Model Context Protocol (MCP). Estas son las ventajas de esta función:
Amplíe la funcionalidad: añada lógica empresarial personalizada, integraciones de API o capacidades de procesamiento de datos.
Ejecute las herramientas de forma segura: Lambda permite que las herramientas accedan a los recursos de una VPC sin tener que conceder un acceso total a la VPC.
Arquitectura sin servidor: sin administración de la infraestructura, Lambda gestiona el escalado automáticamente.
Rentable: pague solo por el tiempo de ejecución, no por los recursos inactivos.
Integración sencilla: las funciones de Lambda aparecen sin problemas junto con las herramientas integradas.
Para permitir que un modelo de Amazon Bedrock utilice una herramienta para completar la respuesta de un mensaje, debe enviar el mensaje y las definiciones de una o más herramientas al modelo. En función de la solicitud de la aplicación, si el modelo determina que una de las herramientas puede ayudar a generar una respuesta, devuelve una solicitud para que Amazon Bedrock utilice la herramienta y envíe los resultados de la herramienta al modelo. En su respuesta, el modelo utiliza los resultados para generar una respuesta para el mensaje original.
En los pasos siguientes se muestra cómo utilizar una herramienta con la API de respuestas.
Cómo funciona
Función Lambda: cree su función Lambda que implemente el protocolo MCP
Descubrimiento de herramientas: Bedrock llama a su función Lambda para descubrir las herramientas disponibles
Registro de herramientas: sus herramientas están registradas en Bedrock
Ejecución de herramientas: cuando el agente solicita su herramienta, Bedrock invoca su función Lambda
Gestión de respuestas: los resultados se devuelven al agente a través de la interfaz estándar
Paso 1: Defina la función Lambda para obtener la canción más popular
Cree una función Lambda que implemente el protocolo MCP. Este es un ejemplo sencillo de Python:
import json def lambda_handler(event, context): # Parse JSON-RPC request method = event.get('method') params = event.get('params', {}) request_id = event.get('id') if method == 'tools/list': return { "jsonrpc": "2.0", "id": request_id, "result": { "tools": [ { "name": "my_custom_tool", "description": "My custom business logic tool", "inputSchema": { "type": "object", "properties": { "input": { "type": "string", "description": "Input text to process" } }, "required": ["input"] } } ] } } elif method == 'tools/call': tool_name = params.get('name') arguments = params.get('arguments', {}) if tool_name == 'my_custom_tool': # Your custom logic here result = f"Processed: {arguments.get('input', '')}" return { "jsonrpc": "2.0", "id": request_id, "result": { "content": [ { "type": "text", "text": result } ] } } # Error response for unsupported methods return { "jsonrpc": "2.0", "id": request_id, "error": { "code": -32601, "message": "Method not found" } }
Paso 2: Implemente la función Lambda
A continuación, utilice su función de IAM para implementar esta función de Lambda y obtener un ARN. Puede obtener más información en la Guía para desarrolladores de Lambda, en la Guía para desarrolladores de Lambda.
# Example using AWS CLI aws lambda create-function \ --function-name my-custom-tool \ --runtime python3.14 \ --role arn:aws:iam::YOUR-ACCOUNT:role/lambda-execution-role \ --handler lambda_function.lambda_handler \ --zip-file fileb://function.zip
Supongamos que su ARN es: arn:aws:lambda:us-west-2:123456789012:function:my-custom-tool
Paso 3: Defina la definición del mensaje y la herramienta en su solicitud de inferencia
Para enviar el mensaje y la definición de la herramienta, utiliza las operaciones de la API de respuestas. Amazon Bedrock utiliza los conectores y la funcionalidad de los servidores MCP remotos connector_id campo de la API de conectores de respuestas, puede introducir el ARN de Lambda que creó en el paso anterior. No es necesario que proporcione las credenciales de autorización porque Amazon Bedrock utiliza las mismas políticas y funciones de IAM que se utilizan para la aplicación que invoca el modelo. El siguiente es un esquema de ejemplo para una herramienta que obtiene la canción más popular de una emisora de radio.
from openai import OpenAI client = OpenAI() resp = client.responses.create( model="oss-gpt-120b", tools=[ { "type": "mcp", "server_label": "xamzn_arn", "connector_id": "arn:aws:lambda:us-west-2:123456789012:function:my-custom-tool", "require_approval": "never", }, ], input="My custom prompt.", ) print(resp.output_text)
Paso 4: Bedrock llama a la herramienta y devuelve la respuesta al modelo
La posibilidad de utilizar la herramienta de conexión está disponible en los modelos compatibles con la API de
Al especificar una función de Lambda en el tools parámetro, la API intentará obtener una lista de herramientas del servidor. Si se recupera correctamente la lista de herramientas, aparecerá un nuevo elemento de mcp_list_tools salida en el resultado de la respuesta del modelo. La tools propiedad de este objeto mostrará las herramientas que se importaron correctamente. Una vez que el modelo tenga acceso a estas definiciones de herramientas, puede optar por llamarlas en función del contexto del modelo. Cuando el modelo decida llamar a una herramienta Lambda, la API solicitará a la función Lambda que llame a la herramienta y coloque su resultado en el contexto del modelo. Puedes obtener más información sobre la lista de herramientas y herramientas de llamada en la documentación de OpenAI.
{ "jsonrpc": "2.0", "id": 1, "error": { "code": -32000, "message": "Tool execution failed", "data": "Additional error details" } }
Uso de las herramientas AWS proporcionadas en la API de respuestas
Se AWS proporcionan dos herramientas integradas en los openai.gpt-oss-120b modelos openai.gpt-oss-20b and: la Note-taking funcionalidad (herramienta de notas) y la administración de tareas (herramienta de tareas). Estas herramientas están disponibles automáticamente; no es necesario definirlas en el tools parámetro.
Descripción general de la herramienta de notas
La notes herramienta permite al modelo almacenar notas dentro de la misma sesión de conversación. Esto proporciona un mecanismo de memoria simple para mantener el contexto en múltiples interacciones. La memoria se limita únicamente a la conversación actual.
Cuando el modelo usa la herramienta de notas, emite una mcp_call salida con el valor name establecido en. "notes" El modelo determina los argumentos apropiados en función de su solicitud.
Puedes usar cualquier lenguaje natural (por ejemplo, «Recuerda que mi color favorito es el azul», «¿Qué te dije sobre mi color favorito?» , «Guarda el hecho de que prefiero las reuniones matutinas», «Recuerda lo que he dicho acerca de las preferencias de las reuniones») o puedes usar llamadas directas en tus mensajes («Usa la herramienta de notas para guardar mi correo electrónico como john@example.com «, «Comprueba las notas de mi dirección de correo electrónico»).
Descripción general de la herramienta de tareas
La tasks herramienta proporciona una pila para administrar las tareas dentro de una sesión de conversación. Puedes añadir tareas a la pila y eliminarlas, lo que resulta útil para gestionar los flujos de trabajo, los recordatorios o la gestión jerárquica de tareas. Las tareas persisten durante toda la sesión de conversación. La memoria se limita únicamente a la conversación actual.
Cuando el modelo usa la herramienta de tareas, emite una mcp_call salida con el valor name establecido en. "tasks" El modelo determina los argumentos apropiados (como methodtask.title, ytask.description) en función de su solicitud.
Puedes utilizar un lenguaje natural para llamar a la herramienta de tareas (por ejemplo, «Añade una tarea para revisar el presupuesto», «Envía un recordatorio para llamar al cliente» o «¿Cuál es la siguiente tarea que tengo que hacer?» , «Mostrar la tarea más reciente», «Obtener la tarea más reciente de mi pila») o puedes llamar a la herramienta directamente en tu mensaje («Usa la herramienta de tareas para pulsar 'finalizar presentación'», «Sacar una tarea de la pila», «Añadir 'programar reunión' a mi lista de tareas»).
Ejemplo de código: uso de las herramientas de notas y tareas
Las herramientas de notas y tareas están integradas en los openai.gpt-oss-120b modelos openai.gpt-oss-20b y. No es necesario definirlos de forma explícita en el tools parámetro; basta con hacer referencia a ellos en la solicitud:
from openai import OpenAI client = OpenAI( base_url="https://bedrock-mantle.us-east-1.api.aws/v1" ) # The notes tool is built-in — just ask the model to use it resp = client.responses.create( model="openai.gpt-oss-120b", input="Use the notes tool to store that my preferred language is Python.", ) print(resp.output) # The model automatically calls the notes tool via mcp_call # Use the tasks tool to push a task resp = client.responses.create( model="openai.gpt-oss-120b", input="Use the tasks tool to push a task: review the API documentation", ) print(resp.output)
Server-side integración de uso de herramientas con Gateway AgentCore
Amazon Bedrock ahora admite AgentCore Gateway como una herramienta del lado del servidor que llama al tipo de integración. Con esta función, puede conectar sus modelos directamente a los puntos de enlace de AgentCore Gateway para acceder sin problemas a las herramientas administradas a través de la infraestructura de gateway.
La integración de AgentCore Gateway sigue el mismo patrón que la integración de funciones de Lambda, con una diferencia clave.
Integración de Lambda:
Utiliza los ARN de la función Lambda
Invoca AWS directamente las funciones de Lambda
AgentCore Integración de Gateway:
Utiliza los AgentCore ARN de Gateway
Dirige las llamadas a las herramientas a través de la infraestructura de AgentCore Gateway
Proporciona una administración y un descubrimiento centralizados de herramientas
Configuración
Estructura de solicitudes
Al configurar AgentCore Gateway como fuente de herramientas, usa la siguiente estructura en tu tools matriz cuando solicites la API de respuestas.
{ "type":"mcp", "server_label":"agentcore_tools", "connector_id":"arn:aws:bedrock-agentcore:us-west-2:342789630635:gateway/agentcore-intro-gateway-v2-swvq44sovp", "server_description":"AgentCore Gateway providing custom tools", "require_approval":"never" }
Parámetros
| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
type |
string | Sí | Debe establecerse en mcp |
server_label |
cadena | Sí | Un identificador único para este conector de herramientas incluido en su solicitud |
connector_id |
cadena | Sí | El ARN de su puerta de enlace AgentCore |
server_description |
cadena | No | Human-readable descripción de las herramientas que proporciona esta puerta de enlace |
require_approval |
cadena | Sí | El campo tiene que ser "never" |
Ejemplo de solicitud completo
{ "model":"openai.gpt-oss-120b", "stream":true, "background":false, "store":false, "tools": [ { "type":"mcp", "server_label":"agentcore_tools", "connector_id":"arn:aws:bedrock-agentcore:us-west-2:342789630635:gateway/agentcore-intro-gateway-v2-swvq44sovp", "server_description":"AgentCore Gateway providing custom tools", "require_approval":"never" } ], "input": [ { "type":"message", "role":"user", "content": [ { "type":"input_text", "text":"What is the weather in Seattle?" } ] } ] }
Requisitos previos
Antes de usar la integración de AgentCore Gateway, asegúrese de tener:
Creó una AgentCore puerta de enlace con objetivos configurados (funciones de Lambda, etapas de API Gateway, esquemas de OpenAPI o servidores MCP)
Se configuraron los permisos de IAM para que su función de servicio de Bedrock invocara la puerta de enlace. Tenga en cuenta que Bedrock solo admite puertas de enlace con autenticación de IAM.
El ARN de Gateway está en el formato correcto
Ventajas de la integración de AgentCore Gateway
Administración centralizada de herramientas: administre todas sus herramientas a través de un único punto final de puerta de enlace
Descubrimiento de herramientas: los agentes pueden descubrir de forma dinámica las herramientas disponibles a través de la puerta de enlace
Seguridad: Built-in autenticación y autorización mediante políticas de IAM y gateway
Observabilidad: supervisión y registro exhaustivos de las invocaciones de las herramientas
Flexibilidad: compatibilidad con varios tipos de objetivos (servidores Lambda, API Gateway, OpenAPI y MCP)
Permisos de IAM
Su rol de ejecución de Bedrock necesita permiso para invocar el Gateway: AgentCore
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "bedrock-agentcore:InvokeGateway" ], "Resource": "arn:aws:bedrock-agentcore:us-west-2:342789630635:gateway/agentcore-intro-gateway-v2-swvq44sovp" } ] }
Siguientes pasos
Más información sobre la creación de Gateways AgentCore
Explore los tipos de objetivos de puerta de enlace
Revise las mejores prácticas de seguridad de las puertas de enlace