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 utilizas la API de respuestas para invocar el modelo, puedes utilizar las llamadas a las 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 mediante el cual las herramientas (API, funciones, flujos de trabajo) se ejecutan en un entorno de back-end 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. A medida que Amazon Bedrock impulsa 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 más altos estándares de gobierno, como los requisitos de ISO, SOC e HIPAA. Los clientes pueden 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 de respuestas están disponibles a partir de los modelos GPT OSS de OpenAI, y pronto serán compatibles con otros 20B/120B 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 mediante las API de OpenAI.
Hay dos tipos de herramientas que puede utilizar con Amazon Bedrock: herramientas personalizadas que utilizan Lambda o herramientas predefinidas compatibles con Bedrock. En esta sección, analizaremos cómo crear una herramienta Lambda personalizada con la API de respuestas. Analicemos ambas en detalle.
Herramientas personalizadas que utilizan Lambda en la API de respuestas
Al utilizar una función de Lambda como herramienta personalizada en Bedrock, puede ampliar las capacidades del agente mediante la integración de funciones de AWS Lambda personalizadas como herramientas. Esto le permite crear herramientas escalables y sin servidor a las que puedan acceder los asistentes de IA y otras aplicaciones mediante el Protocolo de contexto de modelos (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 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 a un mensaje, debe enviar el mensaje y las definiciones de una o más herramientas al modelo. Según 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 Bedrock utilice la herramienta y envía los resultados de la herramienta al modelo. En su respuesta, el modelo utiliza los resultados para generar una respuesta para el mensaje original.
Los siguientes pasos muestran cómo usar 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 un agente solicita su herramienta, Bedrock invoca su función Lambda
Manejo 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. He aquí 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: Implementar 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 sobre la implementación de una función Lambda aquí.
# 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 el mensaje y la definición de 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 remotosconnector_id campo de la API de conectores de respuestas, puede pasar el ARN de Lambda que creó en el paso anterior. No necesita proporcionar credenciales de autorización, ya que Bedrock utiliza las mismas funciones y políticas 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 que admiten la API de respuestas
Al especificar una función 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 tiene acceso a estas definiciones de herramientas, puede optar por llamarlas en función del contexto del modelo. Cuando el modelo decide llamar a una herramienta de Lambda, la API realizará una solicitud a la función de Lambda para que llame a la herramienta y coloque su resultado en el contexto del modelo. Puede 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 proporcionadas por AWS en la API de respuestas
Hay dos herramientas proporcionadas por AWS integradas en los openai.gpt-oss-120b modelos openai.gpt-oss-20b y: Note-taking funcionalidad (herramienta de notas) y administración de tareas (herramienta de tareas). Estas herramientas están disponibles automáticamente, por lo que 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 utiliza la herramienta de notas, emite una mcp_call salida con el valor name establecido en. "notes" El modelo determina los argumentos adecuados en función de su solicitud.
Puede usar cualquier lenguaje natural (por ejemplo, «Recuerda que mi color favorito es el azul», «¿Qué te dije sobre mi color favorito?» , «Guarde el hecho de que prefiero las reuniones matutinas», «Recuerde lo que dije sobre las preferencias de reunión») o puede utilizar llamadas directas a las herramientas en su mensaje («Utilice la herramienta de notas para guardar mi correo electrónico como john@example.com «, «Compruebe las notas para ver mi dirección de correo electrónico»).
Descripción general de la herramienta de tareas
La tasks herramienta proporciona una pila para gestionar las tareas dentro de una sesión de conversación. Puedes colocar las tareas en la pila y eliminarlas, lo que resulta útil para gestionar los flujos de trabajo, los recordatorios o la gestión jerárquica de las 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 utiliza la herramienta de tareas, emite una mcp_call salida con el valor name establecido en. "tasks" El modelo determina los argumentos adecuados (por ejemplo methodtask.title, ytask.description) en función de su solicitud.
Puede utilizar la herramienta Tareas utilizando un lenguaje natural (por ejemplo, «añada una tarea para revisar el presupuesto», «envíe un recordatorio para llamar al cliente» o «¿Cuál es la siguiente tarea que debo realizar?» , «Selecciona la tarea más reciente», «Obtén la última tarea de mi lista») o puedes llamar a la herramienta directamente en el mensaje («Usa la herramienta de tareas para presionar «finalizar la presentación», «Saca una tarea de la pila», «Agrega '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 del uso de herramientas con Gateway AgentCore
Amazon Bedrock ahora admite AgentCore Gateway como un tipo de integración de llamadas con herramientas del lado del servidor. Esta función le permite conectar sus modelos directamente a los puntos finales de AgentCore Gateway, lo que permite un acceso sin problemas a las herramientas administradas a través de la infraestructura de la puerta de enlace.
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 Lambda:
Utiliza los ARN de funciones Lambda
Invoca directamente las funciones de AWS Lambda
AgentCore Integración de pasarelas:
Utiliza ARN de AgentCore puerta de enlace
Enruta las llamadas a las herramientas a través de la infraestructura de AgentCore Gateway
Proporciona una gestió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 en tu solicitud de 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 en tu 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 con AgentCore Gateway, asegúrese de tener:
Creó una AgentCore puerta de enlace con destinos configurados (funciones Lambda, etapas de API Gateway, esquemas OpenAPI o servidores MCP)
Permisos de IAM configurados que permiten a su rol de servicio de Bedrock invocar la puerta de enlace. Tenga en cuenta que Bedrock solo admite pasarelas con autenticación de IAM.
ARN de puerta de enlace en el formato correcto
Ventajas de la integración de la AgentCore puerta de enlace
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 pasarela
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 herramientas
Flexibilidad: Support para varios tipos de destino (Lambda, API Gateway, OpenAPI, servidores MCP)
Permisos de IAM
Su función de ejecución en 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
Explore los tipos de objetivos de puerta de enlace
Revise las mejores prácticas de seguridad de las pasarelas