QA กับ LLM และ RAG (Generation Augmented Retrieval)
โครงการนี้เป็นแอปพลิเคชันตอบคำถามที่มีรูปแบบภาษาขนาดใหญ่ (LLMS) และ Amazon Aurora PostgreSQL โดยใช้ PGVector แอปพลิเคชั่นที่ใช้วิธีการ RAG (การเพิ่มการเรียกคืนการเรียกคืน) ดึงข้อมูลที่เกี่ยวข้องกับคำขอของผู้ใช้มากที่สุดจากฐานความรู้หรือเนื้อหาขององค์กรรวมเป็นบริบทพร้อมกับคำขอของผู้ใช้เป็นพรอมต์แล้วส่งไปยัง LLM เพื่อรับการตอบกลับ Genai
LLM มีข้อ จำกัด เกี่ยวกับจำนวนคำสูงสุดสำหรับพรอมต์อินพุตดังนั้นการเลือกข้อความที่ถูกต้องระหว่างพันหรือหลายล้านเอกสารในองค์กรมีผลกระทบโดยตรงต่อความถูกต้องของ LLM
ในโครงการนี้ Amazon Aurora PostgreSQL พร้อม PGVector ใช้สำหรับฐานความรู้
สถาปัตยกรรมโดยรวมเป็นแบบนี้:
เวิร์กโฟลว์โดยรวม
- ปรับใช้สแต็ค CDK (สำหรับข้อมูลเพิ่มเติมดูที่นี่)
- สตูดิโอ Sagemaker ใน VPC ส่วนตัว
- จุดสิ้นสุดของ Sagemaker สำหรับการสร้างข้อความ
- จุดสิ้นสุดของ Sagemaker สำหรับการสร้าง embeddings
- คลัสเตอร์ Amazon Aurora PostgreSQL สำหรับการจัดเก็บการฝังตัว
- Aurora PostgreSQL CLUSTERS การเข้าถึงข้อมูลรับรอง (ชื่อผู้ใช้และรหัสผ่าน) เก็บไว้ใน AWS Secrets Mananger เป็นชื่อเช่น
RAGPgVectorStackAuroraPostg-xxxxxxxxxxxx
- เปิด Jupyterlab ใน Sagemaker Studio จากนั้นเปิดเทอร์มินัลใหม่
- เรียกใช้คำสั่งต่อไปนี้ในเทอร์มินัลเพื่อโคลนที่เก็บรหัสสำหรับโครงการนี้:
git clone --depth=1 https://github.com/aws-samples/rag-with-amazon-postgresql-using-pgvector.git
- เปิด
data_ingestion_to_pgvector.ipynb โน้ตบุ๊กและเรียกใช้ (สำหรับข้อมูลเพิ่มเติมดูที่นี่) - เรียกใช้แอปพลิเคชัน Streamlit (สำหรับข้อมูลเพิ่มเติมดูที่นี่)
การอ้างอิง
- ใช้ประโยชน์จาก PGVector และ Amazon Aurora PostgreSQL สำหรับการประมวลผลภาษาธรรมชาติ, chatbots และการวิเคราะห์ความเชื่อมั่น (2023-07-13)
- เร่งการจัดทำดัชนี HNSW และการค้นหาด้วย PGVector ใน Amazon Aurora PostgreSQL Edition และ Amazon RDS สำหรับ PostgreSQL (2023-11-06)
- เพิ่มประสิทธิภาพแอปพลิเคชัน AI ที่เกิดขึ้นกับการจัดทำดัชนี PGVector: การดำน้ำลึกลงไปในเทคนิค IVFFLAT และ HNSW (2024-03-15)
- ปรับปรุงประสิทธิภาพของเวิร์กโหลด AI Generative ใน Amazon Aurora ด้วยการอ่านที่ดีที่สุดและ PGVector (2024-02-09)
- การสร้างการค้นหา AI ที่ขับเคลื่อนด้วย PostgreSQL โดยใช้ Amazon Sagemaker และ PGVector (2023-05-03)
- สร้างแอพ Streamlit ใน Amazon Sagemaker Studio (2023-04-11)
- สร้างแอปพลิเคชัน AI ที่มีความแม่นยำสูงอย่างรวดเร็วบนข้อมูลองค์กรโดยใช้ Amazon Kendra, Langchain และรุ่นภาษาขนาดใหญ่ (2023-05-03)
- (GitHub) ตัวอย่าง Amazon Kendra Retriver
- การตอบคำถามโดยใช้การเพิ่มการดึงแบบดึงข้อมูลกับโมเดลพื้นฐานใน Amazon Sagemaker Jumpstart (2023-05-02)
- ใช้โมเดลพื้นฐานที่เป็นกรรมสิทธิ์จาก Amazon Sagemaker Jumpstart ใน Amazon Sagemaker Studio (2023-06-27)
- Langchain - กรอบการทำงานสำหรับการพัฒนาแอพพลิเคชั่นที่ขับเคลื่อนด้วยโมเดลภาษา
- Streamlit - วิธีที่เร็วกว่าในการสร้างและแบ่งปันแอพข้อมูล
- Rag-With-Amazon-Kendra และ Sagemaker-แอปพลิเคชันตอบคำถามด้วยรูปแบบภาษาขนาดใหญ่ (LLMs) และ Amazon Kendra
- Rag-With-Amazon-OpenSearch และ Sagemaker-แอปพลิเคชันตอบคำถามด้วยรูปแบบภาษาขนาดใหญ่ (LLMS) และบริการ OpenSearch Amazon
- Rag-With-Amazon-OpenSearch-Serverless-แอปพลิเคชันตอบคำถามด้วยรุ่นภาษาขนาดใหญ่ (LLMS) และ Amazon OpenSearch Service
- PGVECTER Changelog-v0.4.0 (2023-01-11)
เพิ่มขนาดสูงสุดสำหรับเวกเตอร์จาก 1024 เป็น 16000
เพิ่มขนาดสูงสุดสำหรับดัชนีจาก 1024 เป็น 2000
ความปลอดภัย
ดูข้อมูลเพิ่มเติม
ใบอนุญาต
ห้องสมุดนี้ได้รับใบอนุญาตภายใต้ใบอนุญาต MIT-0 ดูไฟล์ใบอนุญาต