QA dengan LLM dan RAG (Retrieval Augmented Generation)
Proyek ini adalah aplikasi yang menjawab pertanyaan dengan model bahasa besar (LLM) dan Amazon Aurora PostgreSQL menggunakan PGVector. Aplikasi menggunakan pendekatan RAG (Retrieval Augmented Generation) mengambil informasi yang paling relevan dengan permintaan pengguna dari basis pengetahuan atau konten perusahaan, mengikatnya sebagai konteks bersama dengan permintaan pengguna sebagai prompt, dan kemudian mengirimkannya ke LLM untuk mendapatkan respons Genai.
LLMS memiliki batasan di sekitar jumlah kata maksimum untuk prompt input, oleh karena itu memilih bagian yang tepat di antara ribuan atau jutaan dokumen di perusahaan, memiliki dampak langsung pada akurasi LLM.
Dalam proyek ini, Amazon Aurora PostgreSQL dengan PGVector digunakan untuk basis pengetahuan.
Arsitektur keseluruhannya seperti ini:
Alur kerja secara keseluruhan
- Menyebarkan tumpukan CDK (untuk informasi lebih lanjut, lihat di sini).
- Studio Sagemaker di VPC pribadi.
- Titik akhir Sagemaker untuk pembuatan teks.
- Titik akhir Sagemaker untuk menghasilkan embeddings.
- Cluster Amazon Aurora PostgreSQL untuk menyimpan embeddings.
- Kredensial akses cluster Aurora PostgreSQL (nama pengguna dan kata sandi) yang disimpan dalam AWS Secrets Mananger sebagai nama seperti
RAGPgVectorStackAuroraPostg-xxxxxxxxxxxx .
- Buka Jupyterlab di Sagemaker Studio dan kemudian buka terminal baru.
- Jalankan perintah berikut di terminal untuk mengkloning repositori kode untuk proyek ini:
git clone --depth=1 https://github.com/aws-samples/rag-with-amazon-postgresql-using-pgvector.git
- Buka
data_ingestion_to_pgvector.ipynb notebook dan jalankan. (Untuk informasi lebih lanjut, lihat di sini) - Jalankan Aplikasi Streamlit. (Untuk informasi lebih lanjut, lihat di sini)
Referensi
- Leverage PGVector dan Amazon Aurora PostgreSQL untuk pemrosesan bahasa alami, chatbots dan analisis sentimen (2023-07-13)
- Accelerate HNSW Indexing and Searching dengan PGVector di Amazon Aurora PostgreSQL Compatible Edition dan Amazon RDS untuk PostgreSQL (2023-11-06)
- Optimalkan aplikasi AI generatif dengan pengindeksan pgvektor: penyelaman mendalam ke dalam teknik IVFFFLAT dan HNSW (2024-03-15)
- Tingkatkan kinerja beban kerja AI generatif di Amazon Aurora dengan bacaan yang dioptimalkan dan pgvektor (2024-02-09)
- Membangun Pencarian Bertenaga AI di PostgreSQL Menggunakan Amazon Sagemaker dan PGVector (2023-05-03)
- Bangun Aplikasi Streamlit di Amazon Sagemaker Studio (2023-04-11)
- Dengan cepat membangun aplikasi AI generatif akurasi tinggi pada data perusahaan menggunakan Amazon Kendra, Langchain, dan model bahasa besar (2023-05-03)
- (GitHub) Sampel Retriver Amazon Kendra
- Pertanyaan menjawab menggunakan pengambilan generasi augmented dengan model yayasan di Amazon Sagemaker Jumpstart (2023-05-02)
- Gunakan Model Yayasan Hak Milik dari Amazon Sagemaker Jumpstart di Amazon Sagemaker Studio (2023-06-27)
- Langchain - Kerangka kerja untuk mengembangkan aplikasi yang ditenagai oleh model bahasa.
- StreamLit - Cara yang lebih cepat untuk membangun dan berbagi aplikasi data
- Rag-with-Amazon-Kendra-and-Sagemaker-Aplikasi Penjawab Pertanyaan dengan Model Bahasa Besar (LLM) dan Amazon Kendra
- Rag-with-Amazon-Opensearch-and-Sagemaker-Aplikasi Penjawab Pertanyaan dengan Model Bahasa Besar (LLM) dan Amazon OpenSearch Service
- Rag-with-Amazon-Opensearch-Serverless-Aplikasi Penjawab Pertanyaan dengan Model Bahasa Besar (LLM) dan Amazon OpenSearch Serverless Service
- PGVector Changelog-V0.4.0 (2023-01-11)
Peningkatan dimensi maks untuk vektor dari 1024 menjadi 16000
Peningkatan dimensi maks untuk indeks dari 1024 menjadi 2000
Keamanan
Lihat berkontribusi untuk informasi lebih lanjut.
Lisensi
Perpustakaan ini dilisensikan di bawah lisensi MIT-0. Lihat file lisensi.