يوفر نموذج المستودع هذا نموذجًا للتعليمات البرمجية لاستخدام طريقة RAG (توليد الاسترجاع المعزز) للترحيل على Amazon Bedrock Titan Embeddings Generation 1 (G1) LLM (نموذج اللغة الكبيرة)، لإنشاء تضمين نص سيتم تخزينه في Amazon OpenSearch مع دعم محرك المتجهات لـ المساعدة في المهمة الهندسية السريعة للحصول على استجابة أكثر دقة من LLMs.
بعد أن نجحنا في تحميل التضمينات في OpenSearch، سنبدأ بعد ذلك في الاستعلام عن ماجستير إدارة الأعمال الخاص بنا، باستخدام LangChain. سوف نقوم بطرح الأسئلة، واسترداد التضمين المماثل للحصول على توجيه أكثر دقة.
يمكنك استخدام معلمة --bedrock-model-id
، لاختيار أحد نماذج الأساس المتاحة في Amazon Bedrock بسلاسة، والذي يكون افتراضيًا هو Anthropic Claude v2 ويمكن استبداله بأي نموذج آخر من أي مزود نموذج آخر لاختيار الأساس الأفضل أداءً لديك نموذج.
أنثروبي:
python ./ask-bedrock-with-rag.py --ask "How will AI will change our every day life?"
python ./ask-bedrock-with-rag.py --bedrock-model-id anthropic.claude-v1 --ask "How will AI will change our every day life?"
python ./ask-bedrock-with-rag.py --bedrock-model-id anthropic.claude-instant-v1 --ask "How will AI will change our every day life?"
مختبرات AI21:
python ./ask-bedrock-with-rag.py --bedrock-model-id ai21.j2-ultra-v1 --ask "How will AI will change our every day life?"
python ./ask-bedrock-with-rag.py --bedrock-model-id ai21.j2-mid-v1 --ask "How will AI will change our every day life?"
تم اختبار ذلك على بايثون 3.11.4
يُنصح بالعمل في بيئة نظيفة أو استخدام virtualenv
أو أي مدير بيئة افتراضية آخر.
pip install virtualenv
python -m virtualenv venv
source ./venv/bin/activate
تثبيت المتطلبات pip install -r requirements.txt
قم بتثبيت Terraform لإنشاء مجموعة OpenSearch
brew tap hashicorp/tap
brew install hashicorp/tap/terraform
انتقل إلى صفحة "الوصول إلى النموذج" وقم بتمكين النماذج الأساسية التي تريد استخدامها.
في الخطوة الأولى، سنقوم بإطلاق مجموعة OpenSearch باستخدام Terraform.
cd ./terraform
terraform init
terraform apply -auto-approve
تكوين المجموعة هذا مخصص للاختبار المقترح فقط، حيث أن نقطة النهاية الخاصة به عامة لتبسيط استخدام نموذج التعليمات البرمجية هذا.
الآن بعد أن أصبح لدينا مجموعة OpenSearch قيد التشغيل مع دعم محرك المتجهات، سنبدأ في تحميل بياناتنا التي ستساعدنا في الهندسة السريعة. بالنسبة لهذه العينة، سنستخدم مصدر بيانات من gooaq_pairs لبيانات التضمين والتدريب على Hugging Face، وسنقوم بتنزيله واستدعاء تضمين Titan للحصول على تضمين النص، والذي سنقوم بتخزينه في OpenSearch للخطوات التالية.
python load-data-to-opensearch.py --recreate 1 --early-stop 1
الوسائط الاختيارية:
--recreate
لإعادة إنشاء الفهرس في OpenSearch--early-stop
لتحميل 100 مستند مضمن فقط في OpenSearch--index
لاستخدام فهرس مختلف عن القماش الافتراضي--region
في حال كنت لا تستخدم الافتراضي us-east-1
الآن بعد أن قمنا بتضمين النص في مجموعة OpenSearch الخاصة بنا، يمكننا البدء في الاستعلام عن نص Titan الخاص بنموذج LLM في Amazon Bedrock باستخدام RAG
python ask-bedrock-with-rag.py --ask " your question here "
الوسائط الاختيارية:
--index
لاستخدام فهرس مختلف عن القماش الافتراضي--region
في حال كنت لا تستخدم الافتراضي us-east-1--bedrock-model-id
لاختيار نماذج مختلفة عن Anthropic's Claude v2
cd ./terraform
terraform destroy # When prompt for confirmation, type yes, and press enter.
انظر المساهمة لمزيد من المعلومات.
هذه المكتبة مرخصة بموجب ترخيص MIT-0. انظر ملف الترخيص.