Solusi ini adalah saluran untuk mengubah pengetahuan kontekstual yang disimpan dalam dokumen dan database menjadi penyematan teks, dan menyimpannya di penyimpanan vektor. Aplikasi yang dibangun dengan Model Bahasa Besar (LLM) dapat melakukan pencarian kesamaan pada penyimpanan vektor untuk mengambil pengetahuan kontekstual sebelum menghasilkan respons. Teknik ini dikenal sebagai Retrieval Augmented Generation (RAG), dan sering digunakan untuk meningkatkan kualitas dan akurasi tanggapan.
Tinjau dan ubah konfigurasi sebelum menggunakannya untuk produksi : konfigurasi saat ini tidak boleh digunakan untuk produksi tanpa tinjauan dan adaptasi lebih lanjut. Banyak anti-pola yang diadopsi untuk menghemat biaya, seperti menonaktifkan backup dan multi-AZ.
Perhatikan biaya yang dikeluarkan : meskipun solusi ini dikembangkan agar hemat biaya, harap perhatikan biaya yang dikeluarkan.
Kloning repositori ini.
Buat Pasangan Kunci EC2 bernama "EC2DefaultKeyPair" di akun AWS Anda.
Instal dependensi.
npm install
cdk bootstrap
Fungsi paket Lambda dan dependensinya.
sh prepare-lambda-package.sh
.prepare-lambda-package.ps1
Menyebarkan tumpukan CDK.
cdk deploy --all --require-approval never
Ada dua cara untuk mengunggah data ke bucket S3.
(a) Unggah file .txt dengan beberapa konten (sample.txt adalah contohnya) ke bucket S3 yang dibuat oleh salah satu tumpukan.
(b) Mulai tugas replikasi DMS di konsol manajemen AWS. Data dari database sumber akan direplikasi ke bucket S3 dan disimpan dalam file .csv.
Fungsi Lambda akan membuat penyematan teks dari konten dalam file .txt / .csv dan menyimpannya di penyimpanan vektor.
Hubungkan (SSH atau koneksi instans) ke bastion host. Jalankan perintah berikut (dan berikan kata sandi) untuk mengautentikasi. Kredensial dapat ditemukan di rahasia "text-embeddings-pipeline-vector-store" di AWS Secrets Manager.
psql --port=5432 --dbname=postgres --username=postgres --host= < RDS instance DNS name >
dt
untuk membuat daftar tabel database. Tabel dengan nama yang dimulai dengan awalan "langchain" dibuat oleh LangChain secara otomatis saat membuat dan menyimpan embeddings. List of relations
Schema | Name | Type | Owner
--------+-------------------------+-------+----------
public | langchain_pg_collection | table | postgres
public | langchain_pg_embedding | table | postgres
public | upsertion_record | table | postgres
(3 rows)
Dokumen dan penyematan disimpan di tabel "langchain_pg_embedding". Anda dapat melihat nilai yang terpotong (nilai sebenarnya terlalu panjang) dengan menjalankan perintah berikut.
SELECT embedding::varchar(80) FROM langchain_pg_embedding;
embedding
----------------------------------------------------------------------------------
[-0.005340576,-0.61328125,0.13769531,0.7890625,0.4296875,-0.13671875,-0.01379394 ...
[0.59375,-0.23339844,0.45703125,-0.14257812,-0.18164062,0.0030517578,-0.00933837 ...
(2 rows)
SELECT document::varchar(80) FROM langchain_pg_embedding;
document
----------------------------------------------------------------------------------
What is text embeddings pipeline?,Text embeddings pipeline allows you to create ...
AWS Health provides improved visibility into planned lifecycle events ...
(2 rows)
cdk destroy --all
Lihat KONTRIBUSI untuk informasi lebih lanjut.
Perpustakaan ini dilisensikan di bawah Lisensi MIT-0. Lihat file LISENSI.