การดึงข้อมูล-Augmented Generation ด้วย LangChain, Amazon SageMaker JumpStart และ MongoDB Atlas การค้นหาเชิงความหมาย | อเมซอนเว็บเซอร์วิส

การดึงข้อมูล-Augmented Generation ด้วย LangChain, Amazon SageMaker JumpStart และ MongoDB Atlas การค้นหาเชิงความหมาย | อเมซอนเว็บเซอร์วิส

กำเนิด AI โมเดลมีศักยภาพในการปฏิวัติการดำเนินงานขององค์กร แต่ธุรกิจต่างๆ จะต้องพิจารณาอย่างรอบคอบถึงวิธีควบคุมพลังของตนในขณะที่เอาชนะความท้าทาย เช่น การปกป้องข้อมูล และการรับรองคุณภาพของเนื้อหาที่สร้างโดย AI

เฟรมเวิร์กการดึงข้อมูล-Augmented Generation (RAG) เสริมพร้อมท์ด้วยข้อมูลภายนอกจากหลายแหล่ง เช่น ที่เก็บเอกสาร ฐานข้อมูล หรือ API เพื่อทำให้โมเดลพื้นฐานมีประสิทธิภาพสำหรับงานเฉพาะโดเมน โพสต์นี้นำเสนอความสามารถของโมเดล RAG และเน้นย้ำถึงศักยภาพในการเปลี่ยนแปลงของ MongoDB Atlas ด้วยคุณสมบัติ Vector Search

แผนที่ MongoDB คือชุดบริการข้อมูลแบบครบวงจรที่ช่วยเร่งและลดความซับซ้อนในการพัฒนาแอปพลิเคชันที่ขับเคลื่อนด้วยข้อมูล ที่เก็บข้อมูลเวกเตอร์สามารถผสานรวมกับพื้นที่จัดเก็บข้อมูลการปฏิบัติงานได้อย่างลงตัว โดยไม่จำเป็นต้องใช้ฐานข้อมูลแยกต่างหาก การบูรณาการนี้ช่วยให้สามารถค้นหาความหมายผ่านความหมายที่มีประสิทธิภาพได้ ค้นหาเวกเตอร์ซึ่งเป็นวิธีที่รวดเร็วในการสร้างการค้นหาเชิงความหมายและแอปพลิเคชันที่ขับเคลื่อนด้วย AI

อเมซอน SageMaker ช่วยให้องค์กรต่างๆ สร้าง ฝึกอบรม และปรับใช้โมเดลการเรียนรู้ของเครื่อง (ML) Amazon SageMaker JumpStart จัดเตรียมโมเดลและข้อมูลที่ได้รับการฝึกอบรมล่วงหน้าเพื่อช่วยให้คุณเริ่มต้นใช้งาน ML คุณสามารถเข้าถึง ปรับแต่ง และปรับใช้โมเดลและข้อมูลที่ได้รับการฝึกอบรมล่วงหน้าผ่านทางหน้า Landing Page ของ SageMaker JumpStart สตูดิโอ Amazon SageMaker เพียงไม่กี่คลิก

อเมซอน เล็กซ์ เป็นอินเทอร์เฟซการสนทนาที่ช่วยให้ธุรกิจสร้างแชทบอทและบอทเสียงที่มีการโต้ตอบที่เป็นธรรมชาติและสมจริง ด้วยการผสานรวม Amazon Lex เข้ากับ Generative AI ธุรกิจจะสามารถสร้างระบบนิเวศแบบองค์รวมที่ข้อมูลที่ผู้ใช้เปลี่ยนไปสู่การตอบสนองที่สอดคล้องกันและเกี่ยวข้องกับบริบทได้อย่างราบรื่น

ภาพรวมโซลูชัน

ไดอะแกรมต่อไปนี้แสดงสถาปัตยกรรมโซลูชัน

ภาพรวมโซลูชัน

ในส่วนต่อไปนี้ เราจะอธิบายขั้นตอนต่างๆ เพื่อนำโซลูชันนี้ไปใช้และส่วนประกอบต่างๆ

ตั้งค่าคลัสเตอร์ MongoDB

หากต้องการสร้างคลัสเตอร์ MongoDB Atlas ระดับฟรี ให้ทำตามคำแนะนำใน สร้างคลัสเตอร์. ตั้งค่าฐานข้อมูล เข้า และเครือข่าย เข้า.

ปรับใช้โมเดลการฝัง SageMaker

คุณสามารถเลือกรูปแบบการฝัง (ALL MiniLM L6 v2) บน โมเดล SageMaker JumpStart โน้ตบุ๊ก โซลูชัน หน้า.

โมเดล SageMaker JumpStart โน้ตบุ๊ก โซลูชัน

Choose ปรับใช้ เพื่อปรับใช้โมเดล

ตรวจสอบว่าโมเดลปรับใช้ได้สำเร็จ และตรวจสอบปลายทางที่ถูกสร้างขึ้น

ปรับใช้โมเดลสำเร็จแล้ว

การฝังเวกเตอร์

การฝังเวกเตอร์ เป็นกระบวนการแปลงข้อความหรือรูปภาพให้เป็นการแสดงเวกเตอร์ ด้วยโค้ดต่อไปนี้ เราสามารถสร้างการฝังเวกเตอร์ด้วย SageMaker JumpStart และอัปเดตคอลเลกชันด้วยเวกเตอร์ที่สร้างขึ้นสำหรับทุกเอกสาร:

payload = {"text_inputs": [document[field_name_to_be_vectorized]]}
query_response = query_endpoint_with_json_payload(json.dumps(payload).encode('utf-8'))
embeddings = parse_response_multiple_texts(query_response) # update the document
update = {'$set': {vector_field_name :  embeddings[0]}}
collection.update_one(query, update)

โค้ดด้านบนแสดงวิธีอัปเดตออบเจ็กต์เดี่ยวในคอลเลกชัน หากต้องการอัปเดตวัตถุทั้งหมดให้ปฏิบัติตาม คำแนะนำการใช้.

ที่เก็บข้อมูลเวกเตอร์ MongoDB

การค้นหาเวกเตอร์ MongoDB Atlas เป็นคุณสมบัติใหม่ที่ช่วยให้คุณจัดเก็บและค้นหาข้อมูลเวกเตอร์ใน MongoDB ข้อมูลเวกเตอร์เป็นข้อมูลประเภทหนึ่งที่แสดงถึงจุดในพื้นที่มิติสูง ข้อมูลประเภทนี้มักใช้ในแอปพลิเคชัน ML และปัญญาประดิษฐ์ MongoDB Atlas Vector Search ใช้เทคนิคที่เรียกว่า k-เพื่อนบ้านที่ใกล้ที่สุด (k-NN) เพื่อค้นหาเวกเตอร์ที่คล้ายกัน k-NN ทำงานโดยการค้นหา k เวกเตอร์ที่คล้ายกันมากที่สุดกับเวกเตอร์ที่กำหนด เวกเตอร์ที่คล้ายกันมากที่สุดคือเวกเตอร์ที่อยู่ใกล้กับเวกเตอร์ที่กำหนดมากที่สุดในแง่ของระยะทางแบบยุคลิด

การจัดเก็บข้อมูลเวกเตอร์ถัดจากข้อมูลการปฏิบัติงานสามารถปรับปรุงประสิทธิภาพได้โดยการลดความจำเป็นในการย้ายข้อมูลระหว่างระบบจัดเก็บข้อมูลที่แตกต่างกัน สิ่งนี้เป็นประโยชน์อย่างยิ่งสำหรับแอปพลิเคชันที่ต้องการการเข้าถึงข้อมูลเวกเตอร์แบบเรียลไทม์

สร้างดัชนีการค้นหาเวกเตอร์

ขั้นตอนต่อไปคือการสร้าง ดัชนีการค้นหาเวกเตอร์ MongoDB บนสนามเวกเตอร์ที่คุณสร้างขึ้นในขั้นตอนก่อนหน้า MongoDB ใช้ knnVector พิมพ์เพื่อสร้างดัชนีการฝังเวกเตอร์ ฟิลด์เวกเตอร์ควรแสดงเป็นอาร์เรย์ของตัวเลข (BSON int32, int64 หรือประเภทข้อมูลคู่เท่านั้น)

เอ่ยถึง ตรวจสอบข้อจำกัดประเภท knnVector สำหรับข้อมูลเพิ่มเติมเกี่ยวกับข้อจำกัดของ knnVector ชนิด

รหัสต่อไปนี้คือคำจำกัดความของดัชนีตัวอย่าง:

{ "mappings": { "dynamic": true, "fields": { "egVector": { "dimensions": 384, "similarity": "euclidean", "type": "knnVector" } } }
}

โปรดทราบว่ามิติข้อมูลจะต้องตรงกับมิติโมเดลการฝังของคุณ

ค้นหาที่เก็บข้อมูลเวกเตอร์

คุณสามารถสืบค้นที่เก็บข้อมูลเวกเตอร์ได้โดยใช้ ท่อรวมการค้นหาเวกเตอร์. โดยจะใช้ดัชนี Vector Search และดำเนินการ การค้นหาความหมาย บนแหล่งเก็บข้อมูลเวกเตอร์

รหัสต่อไปนี้คือคำจำกัดความการค้นหาตัวอย่าง:

{ $search: { "index": "<index name>", // optional, defaults to "default" "knnBeta": { "vector": [<array-of-numbers>], "path": "<field-to-search>", "filter": {<filter-specification>}, "k": <number>, "score": {<options>} } }
}

ปรับใช้โมเดลภาษาขนาดใหญ่ของ SageMaker

โมเดลพื้นฐานของ SageMaker JumpStart คือโมเดลภาษาขนาดใหญ่ (LLM) ที่ได้รับการฝึกอบรมล่วงหน้า ซึ่งใช้ในการแก้ปัญหางานการประมวลผลภาษาธรรมชาติ (NLP) ต่างๆ เช่น การสรุปข้อความ การตอบคำถาม และการอนุมานภาษาธรรมชาติ มีให้เลือกหลายขนาดและหลายรูปแบบ ในโซลูชันนี้ เราใช้ กอดหน้า รุ่น FLAN-T5-XL

ค้นหารุ่น FLAN-T5-XL ใน SageMaker JumpStart

ค้นหา FLAN-T5-XL

Choose ปรับใช้ เพื่อตั้งค่ารุ่น FLAN-T5-XL

ปรับใช้

ตรวจสอบว่าโมเดลปรับใช้ได้สำเร็จและปลายทางทำงานอยู่

การดึงข้อมูล-Augmented Generation ด้วย LangChain, Amazon SageMaker JumpStart และการค้นหาเชิงความหมาย MongoDB Atlas Amazon Web Services PlatoBlockchain ข้อมูลอัจฉริยะ ค้นหาแนวตั้ง AI.

สร้างบอท Amazon Lex

หากต้องการสร้างบอต Amazon Lex ให้ทำตามขั้นตอนต่อไปนี้:

  1. บนคอนโซล Amazon Lex ให้เลือก สร้างบอท.

สร้างบอท

  1. สำหรับ ชื่อบอท, ป้อนชื่อ
  2. สำหรับ บทบาทรันไทม์ให้เลือก สร้างบทบาทด้วยการอนุญาตพื้นฐานของ Amazon Lex.
    การดึงข้อมูล-Augmented Generation ด้วย LangChain, Amazon SageMaker JumpStart และการค้นหาเชิงความหมาย MongoDB Atlas Amazon Web Services PlatoBlockchain ข้อมูลอัจฉริยะ ค้นหาแนวตั้ง AI.
  3. ระบุการตั้งค่าภาษาของคุณ จากนั้นเลือก เสร็จสิ้น.
    การดึงข้อมูล-Augmented Generation ด้วย LangChain, Amazon SageMaker JumpStart และการค้นหาเชิงความหมาย MongoDB Atlas Amazon Web Services PlatoBlockchain ข้อมูลอัจฉริยะ ค้นหาแนวตั้ง AI.
  4. เพิ่มตัวอย่างคำพูดใน NewIntent UI และเลือก บันทึกความตั้งใจ.
    การดึงข้อมูล-Augmented Generation ด้วย LangChain, Amazon SageMaker JumpStart และการค้นหาเชิงความหมาย MongoDB Atlas Amazon Web Services PlatoBlockchain ข้อมูลอัจฉริยะ ค้นหาแนวตั้ง AI.
  5. ไปที่ FallbackIntent ที่สร้างขึ้นสำหรับคุณโดยค่าเริ่มต้นและสลับ ใช้งาน ใน การบรรลุเป้าหมาย มาตรา.
    สลับใช้งานอยู่
  6. Choose สร้าง และหลังจากสร้างสำเร็จแล้ว ให้เลือก ทดสอบ.
    สร้างและทดสอบ
  7. ก่อนการทดสอบ ให้เลือกไอคอนรูปเฟือง
    การดึงข้อมูล-Augmented Generation ด้วย LangChain, Amazon SageMaker JumpStart และการค้นหาเชิงความหมาย MongoDB Atlas Amazon Web Services PlatoBlockchain ข้อมูลอัจฉริยะ ค้นหาแนวตั้ง AI.
  8. ระบุ AWS แลมบ์ดา ฟังก์ชั่นที่จะโต้ตอบกับ MongoDB Atlas และ LLM เพื่อให้การตอบกลับ หากต้องการสร้างฟังก์ชันแลมบ์ดาให้ปฏิบัติตาม ขั้นตอนเหล่านี้.
    9. ระบุฟังก์ชัน AWS Lambda
  9. ตอนนี้คุณสามารถโต้ตอบกับ LLM ได้แล้ว

ทำความสะอาด

ในการทำความสะอาดทรัพยากรของคุณ ให้ทำตามขั้นตอนต่อไปนี้:

  1. ลบบอท Amazon Lex
  2. ลบฟังก์ชันแลมบ์ดา
  3. ลบตำแหน่งข้อมูล LLM SageMaker
  4. ลบจุดสิ้นสุด SageMaker ของโมเดลการฝัง
  5. ลบคลัสเตอร์ MongoDB Atlas

สรุป

ในโพสต์ เราได้แสดงวิธีสร้างบอทง่ายๆ ที่ใช้การค้นหาเชิงความหมาย MongoDB Atlas และผสานรวมกับโมเดลจาก SageMaker JumpStart บอทนี้ช่วยให้คุณสร้างต้นแบบการโต้ตอบของผู้ใช้กับ LLM ต่างๆ ได้อย่างรวดเร็วใน SageMaker Jumpstart ในขณะที่จับคู่กับบริบทที่มีต้นกำเนิดใน MongoDB Atlas

และเช่นเคย AWS ยินดีรับฟังความคิดเห็น กรุณาแสดงความคิดเห็นและคำถามของคุณในส่วนความคิดเห็น


เกี่ยวกับผู้แต่ง

การดึงข้อมูล-Augmented Generation ด้วย LangChain, Amazon SageMaker JumpStart และการค้นหาเชิงความหมาย MongoDB Atlas Amazon Web Services PlatoBlockchain ข้อมูลอัจฉริยะ ค้นหาแนวตั้ง AI.

อิกอร์ อเล็กเซเยฟ เป็น Senior Partner Solution Architect ที่ AWS ในโดเมน Data and Analytics ในบทบาทของเขา Igor กำลังทำงานร่วมกับพันธมิตรเชิงกลยุทธ์ที่ช่วยสร้างสถาปัตยกรรมที่ซับซ้อนและปรับแต่ง AWS ก่อนเข้าร่วม AWS ในฐานะ Data/Solution Architect เขาได้ดำเนินการหลายโครงการในโดเมน Big Data รวมถึง Data Lake หลายแห่งในระบบนิเวศ Hadoop ในฐานะวิศวกรข้อมูล เขามีส่วนร่วมในการใช้ AI/ML เพื่อตรวจจับการฉ้อโกงและระบบอัตโนมัติในสำนักงาน


การดึงข้อมูล-Augmented Generation ด้วย LangChain, Amazon SageMaker JumpStart และการค้นหาเชิงความหมาย MongoDB Atlas Amazon Web Services PlatoBlockchain ข้อมูลอัจฉริยะ ค้นหาแนวตั้ง AI.บาบู ศรีนิวาสัน
เป็น Senior Partner Solutions Architect ที่ MongoDB ในบทบาทปัจจุบัน เขากำลังทำงานร่วมกับ AWS เพื่อสร้างการผสานรวมทางเทคนิคและสถาปัตยกรรมอ้างอิงสำหรับโซลูชัน AWS และ MongoDB เขามีประสบการณ์มากกว่าสองทศวรรษในด้านเทคโนโลยีฐานข้อมูลและคลาวด์ เขามีความกระตือรือร้นในการให้บริการโซลูชันทางเทคนิคแก่ลูกค้าที่ทำงานร่วมกับ Global System Integrators (GSI) หลายรายในหลากหลายภูมิภาค

ประทับเวลา:

เพิ่มเติมจาก AWS Machine Learning AWS