QA กับ LLM และ RAG (Generation Augmented Retrieval)
โครงการนี้เป็นแอปพลิเคชันตอบคำถามที่มีรูปแบบภาษาขนาดใหญ่ (LLMS) และบริการ OpenSearch Amazon แอปพลิเคชั่นที่ใช้วิธีการ RAG (การเพิ่มการเรียกคืนการเรียกคืน) ดึงข้อมูลที่เกี่ยวข้องกับคำขอของผู้ใช้มากที่สุดจากฐานความรู้หรือเนื้อหาขององค์กรรวมเป็นบริบทพร้อมกับคำขอของผู้ใช้เป็นพรอมต์แล้วส่งไปยัง LLM เพื่อรับการตอบกลับ Genai
LLM มีข้อ จำกัด เกี่ยวกับจำนวนคำสูงสุดสำหรับพรอมต์อินพุตดังนั้นการเลือกข้อความที่ถูกต้องระหว่างพันหรือหลายล้านเอกสารในองค์กรมีผลกระทบโดยตรงต่อความถูกต้องของ LLM
ในโครงการนี้ Amazon OpenSearch Service ใช้สำหรับฐานความรู้
สถาปัตยกรรมโดยรวมเป็นแบบนี้:
เวิร์กโฟลว์โดยรวม
- ปรับใช้สแต็ค CDK (สำหรับข้อมูลเพิ่มเติมดูที่นี่)
- จุดสิ้นสุดของ Sagemaker สำหรับการสร้างข้อความ
- จุดสิ้นสุดของ Sagemaker สำหรับการสร้าง embeddings
- Amazon เปิดคลัสเตอร์สำหรับการจัดเก็บ embeddings
- OpenSearch Cluster Credentials (ชื่อผู้ใช้และรหัสผ่าน) ที่เก็บไว้ใน AWS Secrets Mananger เป็นชื่อเช่น
OpenSearchMasterUserSecret1-xxxxxxxxxxxx
- เปิดสตูดิโอ Sagemaker จากนั้นเปิดเทอร์มินัลใหม่
- เรียกใช้คำสั่งต่อไปนี้ในเทอร์มินัลเพื่อโคลนที่เก็บรหัสสำหรับโครงการนี้:
git clone --depth=1 https://github.com/ksmin23/rag-with-amazon-opensearch-and-sagemaker.git
- เปิดสมุดบันทึก
data_ingestion_to_opensearch แล้วเรียกใช้ (สำหรับข้อมูลเพิ่มเติมดูที่นี่) - เรียกใช้แอปพลิเคชัน Streamlit (สำหรับข้อมูลเพิ่มเติมดูที่นี่)
การอ้างอิง
- สร้างคำถามที่ทรงพลังในการตอบบอทด้วย Amazon Sagemaker, Amazon OpenSearch Service, Streamlit และ Langchain (2023-05-25)
- ใช้โมเดลพื้นฐานที่เป็นกรรมสิทธิ์จาก Amazon Sagemaker Jumpstart ใน Amazon Sagemaker Studio (2023-06-27)
- สร้างแอพ Streamlit ใน Amazon Sagemaker Studio (2023-04-11)
- สร้างแอปพลิเคชัน AI ที่มีความแม่นยำสูงอย่างรวดเร็วบนข้อมูลองค์กรโดยใช้ Amazon Kendra, Langchain และรุ่นภาษาขนาดใหญ่ (2023-05-03)
- (GitHub) ตัวอย่าง Amazon Kendra Retriver
- การตอบคำถามโดยใช้การเพิ่มการดึงแบบดึงข้อมูลกับโมเดลพื้นฐานใน Amazon Sagemaker Jumpstart (2023-05-02)
- อธิบายความสามารถของฐานข้อมูลเวกเตอร์ของ Service Service Service
- Langchain - กรอบการทำงานสำหรับการพัฒนาแอพพลิเคชั่นที่ขับเคลื่อนด้วยโมเดลภาษา
- Streamlit - วิธีที่เร็วกว่าในการสร้างและแบ่งปันแอพข้อมูล
- ปรับปรุงการค้นหาที่เกี่ยวข้องกับ ML ใน Amazon OpenSearch Service Workshop - โมดูล 7. การสร้างการเพิ่มการดึง
- Rag-With-Amazon-Kendra-แอปพลิเคชันตอบคำถามด้วยรูปแบบภาษาขนาดใหญ่ (LLMS) และ Amazon Kendra
- RAG-WITH-POSTGRESQL-PGVECTER-แอปพลิเคชันตอบคำถามด้วยโมเดลภาษาขนาดใหญ่ (LLMS) และ Amazon Aurora PostgreSQL