هذا الحل عبارة عن خط أنابيب لتحويل المعرفة السياقية المخزنة في المستندات وقواعد البيانات إلى تضمينات نصية، وتخزينها في مخزن متجه. يمكن للتطبيقات المبنية باستخدام نماذج اللغات الكبيرة (LLMs) إجراء بحث تشابه في مخزن المتجهات لاسترداد المعرفة السياقية قبل إنشاء استجابة. تُعرف هذه التقنية باسم الجيل المعزز للاسترجاع (RAG)، وغالبًا ما يتم استخدامها لتحسين جودة ودقة الاستجابات.
قم بمراجعة التكوينات وتغييرها قبل استخدامها للإنتاج : لا ينبغي استخدام التكوين الحالي للإنتاج دون مزيد من المراجعة والتكيف. تم اعتماد العديد من الأنماط المضادة لتوفير التكلفة، مثل تعطيل النسخ الاحتياطية ومناطق توافر الخدمات المتعددة.
كن على دراية بالتكاليف المتكبدة : بينما تم تطوير هذا الحل ليكون فعالاً من حيث التكلفة، يرجى مراعاة التكاليف المتكبدة.
استنساخ هذا المستودع.
قم بإنشاء زوج مفاتيح EC2 باسم "EC2DefaultKeyPair" في حساب AWS الخاص بك.
تثبيت التبعيات.
npm install
cdk bootstrap
وظيفة حزمة Lambda وتبعياتها.
sh prepare-lambda-package.sh
.prepare-lambda-package.ps1
نشر مكدسات CDK.
cdk deploy --all --require-approval never
هناك طريقتان لتحميل البيانات إلى حاوية S3.
(أ) قم بتحميل ملف .txt يحتوي على بعض المحتوى (يعد ملف .txt مثالاً) إلى حاوية S3 التي تم إنشاؤها بواسطة إحدى الحزم المكدسة.
(ب) ابدأ مهمة النسخ المتماثل لـ DMS في وحدة تحكم إدارة AWS. سيتم نسخ البيانات من قاعدة البيانات المصدر إلى حاوية S3 وتخزينها في ملفات بتنسيق csv.
ستقوم وظيفة Lambda بإنشاء تضمينات نصية للمحتوى في ملفات .txt / .csv وتخزينها في متجر المتجهات.
الاتصال (SSH أو اتصال المثيل) بمضيف القاعدة. قم بتشغيل الأمر التالي (وتوفير كلمة المرور) للمصادقة. يمكن العثور على بيانات الاعتماد في سر "text-embeddings-pipeline-vector-store" في AWS Secrets Manager.
psql --port=5432 --dbname=postgres --username=postgres --host= < RDS instance DNS name >
dt
لسرد جداول قاعدة البيانات. يتم إنشاء الجداول ذات الأسماء التي تبدأ بالبادئة "langchain" بواسطة LangChain تلقائيًا حيث تقوم بإنشاء التضمينات وتخزينها. 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)
يتم تخزين المستندات والتضمينات في جدول "langchain_pg_embedding". يمكنك رؤية القيم المقتطعة (القيم الفعلية طويلة جدًا) عن طريق تشغيل الأوامر التالية.
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
انظر المساهمة لمزيد من المعلومات.
هذه المكتبة مرخصة بموجب ترخيص MIT-0. انظر ملف الترخيص.