Los agentes de Amazon Bedrock permiten a los desarrolladores crear agentes de conversación que comprendan el lenguaje natural a través de modelos de base (FMS). En esta publicación de blog, crearé un agente de roca madre de Amazon que permita a los usuarios interactuar con una mesa de Amazon DynamoDB y una base de conocimiento para la base de Amazon usando lenguaje natural.
Lo guiaré a través de la configuración de los recursos, definir los grupos de acción del agente, asociar las funciones de AWS Lambda para ejecutar operaciones de DynamodB e integrar la base de conocimiento para experiencias de conversación mejoradas para proporcionar respuestas más personalizadas y con contexto a consultas de usuarios. Todo esto con un comando 'CDK Deploy' utilizando el Kit de desarrollo de AWS Cloud (CDK).
Al final, comprenderá cómo construir un agente de conversación inteligente que simplifique las interacciones de la base de datos, entregue respuestas personalizadas y proporcione una experiencia fácil de usar.

Este agente actúa como la interfaz para que el usuario ingrese la información y realice solicitudes.
Las acciones del usuario activan las funciones de AWS Lambda basadas en la definición del grupo de acción, acciones que el agente puede ayudar al usuario a realizar tres acciones clave: SpanPlointment, GetPointment y AskTodayDate.
? La definición del grupo de acción está en AG_DATA.JSON y la definición de Bedrock de Amazon está en agente_data.json
Las funciones de SpanPointment y GetPlointment interactúan con una tabla de Amazon DynamoDB. Almacena y recupera los datos de la cita según sea necesario.
La función AskTodayDate recupera la información de fecha actual, que luego se transmite al usuario a través del agente de Amazon Bedrock. Esto permite al usuario recibir actualizaciones y confirmaciones en tiempo real con respecto a sus acciones de programación de citas.
Aprovechando la información almacenada en la base de conocimiento, el agente puede ofrecer recomendaciones de masaje personalizadas adaptadas a las necesidades únicas del cliente. Puede sugerir los tipos de masaje, duraciones y cualquier servicio adicional más adecuados que puedan mejorar su experiencia de spa y abordar sus preocupaciones específicas.
Por ejemplo, si un cliente menciona el dolor de cuello y la rigidez, el agente puede extraer de la base de conocimiento y recomendar un masaje de tejido profundo centrado en el área del cuello y el hombro, combinado con terapia de piedra caliente para una mayor relajación y alivio muscular.
✅ Nivel de AWS : Intermedio - 200
Prerrequisitos:
? Costo para completar :
✅ Clon el repositorio
git clone https://github.com/build-on-aws/bedrock-agent-appointment-manager-dynamodb
✅ Ir a :
cd agent-appointment-manage
Cree la base de conocimiento de Amzon siguiendo estos pasos y utilizando estos datos, luego en kb_data.json edite el valor "conocimiento_base_id":
{
"description_kb": "Recommend the best massage. Recommend the best massage according to the user's preferences",
"knowledge_base_id": "XXXXXXXXXX"
}
✅ Cree el entorno virtual : siguiendo los pasos en el readme
python3 -m venv .venv
source .venv/bin/activate
Para Windows:
.venvScriptsactivate.bat
✅ Instale los requisitos :
pip install -r requirements.txt
✅ Sintetizar la plantilla de CloudFormation con el siguiente comando :
cdk synth --all
✅ El despliegue :
cdk deploy --all
Pruebe el agente en la consola de rock de Amazon y mejore las instrucciones del agente hasta que encuentre el mejor resultado.


Este código está diseñado para construir tres tipos de agentes:
El tipo de agente que se está construyendo se define en la línea 130 de agente_appointment_manager_stack.py. La construcción de cada tipo de agente depende de la existencia de los archivos de definición JSON para la base de conocimiento y los grupos de acción.
if kb_data and not ag_data :
agent_name = "spa_agent_withKB"
print ( "KB data" )
agent_knowledge_base_property = create_kb_property ( kb_data )
ag = CreateAgentWithKB ( self , "agentwithkb" , agent_name , agent_data [ "foundation_model" ], agent_data [ "agent_instruction" ], agent_data [ "description" ], agent_knowledge_base_property , agent_resource_role . arn )
elif ag_data and not kb_data :
agent_name = "spa_agent_withag"
print ( "AG data" )
agent_action_group_properties = agent_action_group_property ( ag_data )
ag = CreateAgentWithAG ( self , "agentwithag" , agent_name , agent_data [ "foundation_model" ], agent_data [ "agent_instruction" ], agent_data [ "description" ], agent_action_group_properties , agent_resource_role . arn )
elif ag_data and kb_data :
agent_name = "spa_agent_with_ag_kb"
print ( "AG and KB data" )
agent_action_group_properties = agent_action_group_property ( ag_data )
agent_knowledge_base_property = create_kb_property ( kb_data )
ag = CreateAgentWithKA ( self , "agentwithbooth" , agent_name , agent_data [ "foundation_model" ], agent_data [ "agent_instruction" ], agent_data [ "description" ], agent_knowledge_base_property , agent_action_group_properties , agent_resource_role . arn )
else :
agent_name = "spa_agent"
print ( "No data" )
ag = CreateAgent ( self , "agent" , agent_name , agent_data [ "description" ], agent_resource_role . arn )En esta publicación de blog, aprendió cómo crear un agente de conversación de rock de roca de Amazon que permita a los usuarios interactuar con una mesa de Amazon DynamodB utilizando lenguaje natural.
La combinación de agentes de Bedrock, DynamodB y Modelos de la Fundación Hrough de procesamiento de lenguaje natural (FMS) abre posibilidades emocionantes para construir aplicaciones fáciles de usar. Los usuarios pueden interactuar con bases de datos utilizando lenguaje sencillo, lo que facilita que los usuarios no técnicos accedan y manipulen datos.
Le animo a que explore más y extienda la funcionalidad de su agente de conversación en función de sus requisitos específicos. Con el diseño y la implementación correctos, puede crear agentes inteligentes que revolucionen la forma en que los usuarios interactúan con los datos.
Gracias por unirme a mí en este viaje, y espero que esta publicación lo haya inspirado a crear sus propias soluciones innovadoras utilizando agentes para Amazon Bedrock.
Ver contribuyendo para más información.
Esta biblioteca tiene licencia bajo la licencia MIT-0. Ver el archivo de licencia.