ตัวแทนสำหรับอเมซอนพื้นหินช่วยให้นักพัฒนาสามารถสร้างตัวแทนสนทนาที่เข้าใจภาษาธรรมชาติผ่านโมเดลรากฐาน (FMS) ในโพสต์บล็อกนี้ฉันจะสร้างตัวแทนอเมซอนที่ช่วยให้ผู้ใช้สามารถโต้ตอบกับตาราง Amazon DynamoDB และฐานความรู้สำหรับอเมซอนได้โดยใช้ภาษาธรรมชาติ
ฉันจะแนะนำคุณผ่านการตั้งค่าทรัพยากรกำหนดกลุ่มการกระทำของตัวแทนเชื่อมโยงฟังก์ชั่น AWS Lambda เพื่อดำเนินการ DynamoDB และการรวมฐานความรู้สำหรับประสบการณ์การสนทนาที่เพิ่มขึ้นเพื่อให้การตอบสนองที่เป็นส่วนตัวและรับรู้บริบท ทั้งหมดนี้ด้วยคำสั่ง 'CDK DEPLONS' โดยใช้ AWS Cloud Development Kit (CDK)
ในตอนท้ายคุณจะเข้าใจวิธีการสร้างเอเจนต์การสนทนาอัจฉริยะที่ทำให้การโต้ตอบฐานข้อมูลง่ายขึ้นส่งการตอบกลับส่วนบุคคลและมอบประสบการณ์ที่ใช้งานง่าย

เอเจนต์นี้ทำหน้าที่เป็นอินเทอร์เฟซสำหรับผู้ใช้ในการป้อนข้อมูลและทำการร้องขอ
การกระทำของผู้ใช้ทริกเกอร์ฟังก์ชั่น AWS Lambda ตามคำจำกัดความของกลุ่มการกระทำการกระทำที่ตัวแทนสามารถช่วยให้ผู้ใช้ดำเนินการสามประการที่สำคัญ: Spanappointment, GetAppointment และ AskTodayDate
- คำจำกัดความของกลุ่มการกระทำอยู่ใน ag_data.json และคำจำกัดความของอเมซอนอยู่ใน agent_data.json
ฟังก์ชั่น Spanappointment และ GetAppointment โต้ตอบกับตาราง Amazon DynamoDB มันจัดเก็บและดึงข้อมูลการนัดหมายตามความจำเป็น
ฟังก์ชั่น AskTodayDate จะดึงข้อมูลวันที่ปัจจุบันซึ่งจะถูกส่งกลับไปยังผู้ใช้ผ่านทางตัวแทนสำหรับอเมซอน สิ่งนี้ช่วยให้ผู้ใช้ได้รับการอัปเดตและการยืนยันแบบเรียลไทม์เกี่ยวกับการดำเนินการกำหนดเวลาการนัดหมาย
การใช้ประโยชน์จากข้อมูลที่เก็บไว้ในฐานความรู้ตัวแทนสามารถเสนอคำแนะนำการนวดส่วนบุคคลที่เหมาะกับความต้องการเฉพาะของลูกค้า สามารถแนะนำประเภทการนวดที่เหมาะสมระยะเวลาและบริการเพิ่มเติมใด ๆ ที่อาจช่วยเพิ่มประสบการณ์สปาและจัดการกับข้อกังวลเฉพาะของพวกเขา
ตัวอย่างเช่นหากลูกค้ากล่าวถึงอาการปวดคอและความแข็งตัวแทนสามารถดึงออกมาจากฐานความรู้และแนะนำการนวดเนื้อเยื่อลึกที่มุ่งเน้นไปที่บริเวณคอและไหล่รวมกับการบำบัดด้วยหินร้อนเพื่อเพิ่มการผ่อนคลายและการบรรเทากล้ามเนื้อ
✅ ระดับ AWS : Intermediate - 200
ข้อกำหนดเบื้องต้น:
- ค่าใช้จ่ายในการดำเนินการให้เสร็จสมบูรณ์ :
✅ โคลน repo
git clone https://github.com/build-on-aws/bedrock-agent-appointment-manager-dynamodb
✅ ไปที่ :
cd agent-appointment-manage
สร้างฐานความรู้ Amzon โดยทำตามขั้นตอนเหล่านี้และใช้ข้อมูลนี้จากนั้นใน kb_data.json แก้ไขค่า "ความรู้ _base_id":
{
"description_kb": "Recommend the best massage. Recommend the best massage according to the user's preferences",
"knowledge_base_id": "XXXXXXXXXX"
}
✅ สร้างสภาพแวดล้อมเสมือนจริง : โดยทำตามขั้นตอนใน readMe
python3 -m venv .venv
source .venv/bin/activate
สำหรับ Windows:
.venvScriptsactivate.bat
✅ ติดตั้งข้อกำหนด :
pip install -r requirements.txt
✅ สังเคราะห์เทมเพลต CloudFormation ด้วยคำสั่งต่อไปนี้ :
cdk synth --all
✅ การปรับใช้ :
cdk deploy --all
ลองใช้ตัวแทนในคอนโซล Bedrock Amazon และปรับปรุงคำแนะนำของตัวแทนจนกว่าคุณจะพบผลลัพธ์ที่ดีที่สุด


รหัสนี้ออกแบบมาเพื่อสร้างตัวแทนสามประเภท:
ประเภทของเอเจนต์ที่สร้างขึ้นถูกกำหนดไว้ในบรรทัด 130 ของ agent_appointment_manager_stack.py การสร้างเอเจนต์แต่ละประเภทขึ้นอยู่กับการมีอยู่ของไฟล์นิยาม JSON สำหรับฐานความรู้และกลุ่มปฏิบัติการ
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 )ในโพสต์บล็อกนี้คุณได้เรียนรู้วิธีสร้างตัวแทนการสนทนาของ Amazon Bedrock ที่ช่วยให้ผู้ใช้สามารถโต้ตอบกับตาราง Amazon DynamoDB โดยใช้ภาษาธรรมชาติ
การรวมกันของตัวแทนจาก Bedrock, DynamoDB และการประมวลผลภาษาธรรมชาติแบบจำลอง Hrough Foundation (FMS) เปิดโอกาสที่น่าตื่นเต้นสำหรับการสร้างแอพพลิเคชั่นที่ใช้งานง่าย ผู้ใช้สามารถโต้ตอบกับฐานข้อมูลโดยใช้ภาษาธรรมดาทำให้ผู้ใช้ที่ไม่ใช่ด้านเทคนิคสามารถเข้าถึงและจัดการข้อมูลได้ง่ายขึ้น
ฉันขอแนะนำให้คุณสำรวจเพิ่มเติมและขยายการทำงานของตัวแทนการสนทนาของคุณตามข้อกำหนดเฉพาะของคุณ ด้วยการออกแบบและการใช้งานที่เหมาะสมคุณสามารถสร้างตัวแทนอัจฉริยะที่ปฏิวัติวิธีที่ผู้ใช้โต้ตอบกับข้อมูล
ขอบคุณที่เข้าร่วมฉันในการเดินทางครั้งนี้และฉันหวังว่าโพสต์นี้จะเป็นแรงบันดาลใจให้คุณสร้างโซลูชั่นที่เป็นนวัตกรรมของคุณเองโดยใช้ตัวแทนสำหรับ Amazon Bedrock
ดูข้อมูลเพิ่มเติม
ห้องสมุดนี้ได้รับใบอนุญาตภายใต้ใบอนุญาต MIT-0 ดูไฟล์ใบอนุญาต