เก็บตกจากงาน AWSome GENAI for education: ทดลองใช้ฟังก์ชัน Knowledge Bases ใน Amazon Bedrock

เก็บตกจากงาน AWSome GENAI for education: ทดลองใช้ฟังก์ชัน Knowledge Bases ใน Amazon Bedrock

ผมได้มีโอกาสไปร่วมงาน AWSome GENAI for education Partner เมื่อวันอังคารที่ 18 กุมภาพันธ์ที่ผ่านมา ซึ่งในงานมีการจัด hands-on workshop เกี่ยวกับ Amazon Bedrock Knowledge Bases ก็เลยอยากจะเอาเนื้อหาใน workshop มาแนะนำในบทความนี้ครับ

Amazon Bedrock Knowledge Bases

Knowledge Bases เป็นเครื่องมือและฟังก์ชันของ Amazon Bedrock ที่ทำให้เราสามารถมอบข้อมูลของเราให้กับ AI แล้วให้ AI ใช้ข้อมูลของเรามาใช้ร่วมกับข้อมูลที่มีอยู๋แล้ว (หรือใช้แค่ข้อมูลของเราอย่างเดียว) ในการสร้างคำตอบขึ้นมา ทำให้คำตอบที่ได้มีความแม่นยำตรงความต้องการของเรามากขึ้น

สำหรับท่านใดที่สนใจศึกษาเกี่ยวกับ Knowledge Bases เพิ่มเติม สามารถดูได้ที่เอกสารด้านล่างนี้ครับ

ทดลองทำ

ในบทความนี้ผมจะใช้ AI model Nova Pro ของ AWS ครับ
โดยก่อนอื่นผมจะลองถาม Nova Pro ดูว่า "ลูกค้าของบริษัท Classmethod Thailand มีใครบ้าง" ซึ่งก็ได้คำตอบตามภาพด้านล่างนี้

01

ซึ่งก็เป็นคำตอบแบบกว้าง ๆ ครับ แต่ถ้าเราไปดูที่หน้าเว็บไซต์ของ Classmethod Thailand จะเห็นว่าในหน้ากรณีศึกษามีรายชื่อลูกค้าอยู่ 5-6 ราย

02

เพราะฉะนั้นในครั้งนี้ผมจะลองใช้ฟังก์ชัน Knowledge Bases เพื่อให้ Nova Pro ตอบคำถามโดยอิงจากข้อมูลในหน้าเว็บไซต์นี้ครับ

อันดับแรกเราต้องมี S3 สำหรับเก็บข้อมูลของเราก่อนครับ ให้สร้าง S3 bucket ขึ้นมา 1 อัน

03

จากนั้นให้เราไปบันทึกหน้าเว็บเป้าหมายของเรามา ซึ่งในครั้งนี้ก็คือหน้า use cases ของ Classmethod Thailand โดยวิธีที่ใน workshop ใช้ก็คือ ไปที่หน้าเว็บดังกล่าว → กด Ctrl + P → แล้วบันทึกหน้าเว็บเป็นไฟล์ PDF

04

เพราะว่าในหน้า use cases มีหน้าเว็บย่อยที่แสดงรายละเอียดของลูกค้าแต่ละรายอยู่ ผมเลยบันทึกหน้ารายละเอียดเหล่านั้นมาด้วย ซึ่งหน้ารายละเอียดมีทั้งหมด 5 หน้า รวมกับหน้า use cases เองด้วย ผมก็จะมีไฟล์ทั้งหมด 6 ไฟล์

05

จากนั้นเราก็เอาไฟล์ PDF ที่เราบันทึกมาไปใส่ใน S3 bucket ที่สร้างไว้

06

เมื่อเราเอาข้อมูลใส่ไว้ใน S3 bucket แล้ว ให้มาที่หน้า console ของ Amazon Bedrock แล้วคลิกที่ Knowledge Bases → Create → Knowledge Base with vector store

07

โดยผมตั้งค่า Knowledge Base ของผมไว้ตามด้านล่างนี้ จะตั้งค่าตามผมหรือจะเปลี่ยนการตั้งค่าบางส่วนเองก็ได้ตามต้องการเลยครับ

  • Knowledge Base name: bedrock-kb
  • IAM permissions: Create and use a new service role
  • Service role name: ใช้ค่า default
  • Data source details: Amazon S3
  • Data source name: bedrock-kb-s3
  • S3 URI: bedrock-kb-bucket-0006b2b3 (เลือก S3 bucket ที่มีข้อมูลหน้าเว็บใส่อยู่)
  • Parsing strategy: Amazon Bedrock default parser
  • Chunking strategy: Default chunking
  • Embedding model: Titan Text Embeddings V2
  • Vector store creation method: Quick create a new vector store
  • Vector store: Amazon OpenSearch Serverless

หลังจากสร้าง Knowledge Base แล้วก็จะเห็นหน้าจอตามภาพด้านล่าง ที่บริเวณ Data source ด้านล่าง ให้เลือก data source ของเรา (bedrock-kb-s3) แล้วคลิก Sync เพื่อ sync ข้อมูลใน S3 bucket ของเราเข้ากับ Knowledge Base ที่สร้างขึ้นมา

08

เมื่อ sync เสร็จแล้วก็ถือว่า Knowledge Base ของเราพร้อมใช้งานครับ ที่ด้านขวาของหน้าจอจะมีหน้าต่าง Test Knowledge Base ที่เราสามารถทดสอบ Knowledge Base ของเราได้ ผมจะลองถามคำถามเดิมดู

09

จะเห็นได้ว่าเราได้คำตอบที่มีความเฉพาะเจาะจงมากขึ้น เพราะในครั้งนี้ Nova Pro เอาข้อมูลจากหน้าเว็บที่อยู่ใน Knowledge Base มาร่วมใช้ในการสร้างคำตอบด้วย

เราสามารถตั้งค่าให้ model ใช้แค่ข้อมูลจาก Knowledge Base เพียงอย่างเดียวในการสร้างคำตอบได้ครับ ถ้าตั้งค่าแบบนี้ Nova Pro ก็จะสร้างคำตอบโดยใช้แค่ข้อมูลที่อยู่ใน Knowledge Base เพียงอย่างเดียว

10

ตัวอักษรก็จะดูแปลก ๆ ไปบ้าง ผมคิดว่าน่าจะเป็นเพราะ Nova Pro ยังไม่เก่งภาษาไทยมากนัก หรือไม่ก็อาจจะเป็นเพราะสาเหตุอื่น แต่ถ้าดูแค่เนื้อหาอย่างเดียวก็จะเห็นว่าคำตอบที่ได้ เทียบกับ prompt ที่ผมใส่ไปแล้วก็ถือว่าออกมาค่อนข้างโอเคเลยครับ

สุดท้ายนี้

บทความนี้ก็ได้มาแนะนำฟังก์ชัน Knowledge Bases ของ Amazon Bedrock ซึ่งตัวอย่างการใช้งานของผมในบทความนี้อาจจะดูไร้ประโยชน์ไปบ้าง แต่ถ้านำมาใช้ดี ๆ Knowledge Bases ก็ถือเป็นเครื่องมือที่ทรงพลังชึ้นหนึ่งเลยครับ แต่เนื่องจาก Knowledge Bases จะมีการใช้งาน OpenSearch ด้วย ซึ่งเป็น service ที่มีราคาค่อนข้างสูง ในการใช้งานฟังก์ชันนี้ก็ต้องระมัดระวังเรื่องค่าใช้จ่ายกันหน่อยครับ

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.