พื้นที่เก็บข้อมูลตัวอย่างนี้จัดเตรียมโค้ดตัวอย่างสำหรับการใช้วิธี RAG (Retrieval augmented generation) ที่ส่งต่อบน Amazon Bedrock Titan Embeddings Generation 1 (G1) LLM (Large Language Model) สำหรับการสร้างการฝังข้อความที่จะจัดเก็บไว้ใน Amazon OpenSearch พร้อมด้วยการสนับสนุนกลไกเวกเตอร์สำหรับ ช่วยเหลืองานวิศวกรรมที่รวดเร็วเพื่อการตอบสนองที่แม่นยำยิ่งขึ้นจาก LLM
หลังจากที่เราโหลดการฝังลงใน OpenSearch สำเร็จแล้ว เราจะเริ่มสืบค้น LLM ของเราโดยใช้ 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?"
สิ่งนี้ได้รับการทดสอบบน Python 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
ไปที่หน้า Model Access และเปิดใช้งานโมเดลพื้นฐานที่คุณต้องการใช้
ในขั้นตอนแรก เราจะเปิดตัวคลัสเตอร์ OpenSearch โดยใช้ Terraform
cd ./terraform
terraform init
terraform apply -auto-approve
การกำหนดค่าคลัสเตอร์นี้มีไว้สำหรับการทดสอบที่เสนอเท่านั้น เนื่องจากปลายทางเป็นแบบสาธารณะเพื่อให้ใช้โค้ดตัวอย่างนี้ได้ง่ายขึ้น
ตอนนี้เรามีคลัสเตอร์ OpenSearch ที่ทำงานอยู่พร้อมการสนับสนุน Vector Engine แล้ว เราจะเริ่มอัปโหลดข้อมูลที่จะช่วยเราในด้านวิศวกรรมที่รวดเร็ว สำหรับตัวอย่างนี้ เราจะใช้แหล่งข้อมูลจาก Hugging Face embedding-training-data gooaq_pairs เราจะดาวน์โหลดและเรียกใช้ Titan embedding เพื่อรับข้อความที่ฝัง ซึ่งเราจะจัดเก็บไว้ใน 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
เพื่อเลือกรุ่นที่แตกต่างจาก Claude v2 ของ Anthropic
cd ./terraform
terraform destroy # When prompt for confirmation, type yes, and press enter.
ดูการมีส่วนร่วมสำหรับข้อมูลเพิ่มเติม
ห้องสมุดนี้ได้รับอนุญาตภายใต้ใบอนุญาต MIT-0 ดูไฟล์ใบอนุญาต