Repositori sampel ini menyediakan kode sampel untuk menggunakan metode RAG (Retrieval augmented generation) yang menyampaikan pada Amazon Bedrock Titan Embeddings Generasi 1 (G1) LLM (Large Language Model), untuk membuat penyematan teks yang akan disimpan di Amazon OpenSearch dengan dukungan mesin vektor untuk membantu tugas teknik yang cepat untuk respons yang lebih akurat dari LLM.
Setelah kami berhasil memuat embeddings ke OpenSearch, kami kemudian akan mulai menanyakan LLM kami, dengan menggunakan LangChain. Kami akan mengajukan pertanyaan, mengambil penyematan serupa untuk mendapatkan perintah yang lebih akurat.
Anda dapat menggunakan parameter --bedrock-model-id
, untuk memilih dengan lancar salah satu model fondasi yang tersedia di Amazon Bedrock, yang defaultnya adalah Anthropic Claude v2 dan dapat diganti ke model lain dari penyedia model lain untuk memilih fondasi dengan kinerja terbaik model.
Antropis:
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?"
Lab 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?"
Ini telah diuji pada Python 3.11.4
Disarankan untuk bekerja di lingkungan yang bersih, menggunakan virtualenv
atau manajer lingkungan virtual lainnya.
pip install virtualenv
python -m virtualenv venv
source ./venv/bin/activate
Instal persyaratan pip install -r requirements.txt
Instal terraform untuk membuat cluster OpenSearch
brew tap hashicorp/tap
brew install hashicorp/tap/terraform
Buka halaman Akses Model dan aktifkan model dasar yang ingin Anda gunakan.
Pada langkah pertama kita akan meluncurkan cluster OpenSearch menggunakan Terraform.
cd ./terraform
terraform init
terraform apply -auto-approve
Konfigurasi klaster ini hanya untuk usulan pengujian, karena titik akhirnya bersifat publik untuk menyederhanakan penggunaan kode sampel ini.
Sekarang setelah kami menjalankan cluster OpenSearch dengan dukungan mesin vektor, kami akan mulai mengunggah data yang akan membantu kami dalam rekayasa cepat. Untuk contoh ini, kami akan menggunakan sumber data dari data pelatihan-pelatihan Hugging Face gooaq_pairs, kami akan mengunduhnya, dan memanggil penyematan Titan untuk mendapatkan penyematan teks, yang akan kami simpan di OpenSearch untuk langkah selanjutnya.
python load-data-to-opensearch.py --recreate 1 --early-stop 1
Argumen opsional:
--recreate
untuk membuat ulang indeks di OpenSearch--early-stop
untuk memuat hanya 100 dokumen yang disematkan ke OpenSearch--index
untuk menggunakan indeks yang berbeda dari kain default--region
jika Anda tidak menggunakan us-east-1 default
Sekarang kita telah menyematkan teks, ke dalam klaster OpenSearch, kita dapat mulai menanyakan teks Titan model LLM kita di Amazon Bedrock dengan RAG
python ask-bedrock-with-rag.py --ask " your question here "
Argumen opsional:
--index
untuk menggunakan indeks yang berbeda dari kain default--region
jika Anda tidak menggunakan us-east-1 default--bedrock-model-id
untuk memilih model yang berbeda dari Claude v2 Anthropic
cd ./terraform
terraform destroy # When prompt for confirmation, type yes, and press enter.
Lihat KONTRIBUSI untuk informasi lebih lanjut.
Perpustakaan ini dilisensikan di bawah Lisensi MIT-0. Lihat file LISENSI.