此範例儲存庫提供了使用RAG(檢索增強生成)方法中繼Amazon Bedrock Titan Embeddings Generation 1 (G1) LLM(大型語言模型)的範例程式碼,用於建立將儲存在Amazon OpenSearch 中的文字嵌入,並支持向量引擎協助快速完成工程任務,以便法學碩士做出更準確的答案。
在我們成功地將嵌入載入到 OpenSearch 後,我們將開始使用 LangChain 查詢我們的 LLM。我們將提出問題,檢索類似的嵌入以獲得更準確的提示。
您可以使用--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
前往模型存取頁面並啟用您要使用的基礎模型。
第一步,我們將使用 Terraform 啟動 OpenSearch 叢集。
cd ./terraform
terraform init
terraform apply -auto-approve
此叢集配置僅用於測試建議,因為它的端點是公共的,以簡化此範例程式碼的使用。
現在我們已經有了一個支援向量引擎的正在運行的 OpenSearch 集群,我們將開始上傳數據,這將有助於我們快速進行工程設計。對於此範例,我們將使用來自 Hugging Face embedding-training-data gooaq_pairs 的資料來源,我們將下載它,並呼叫 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 叢集中,我們可以開始使用 RAG 在 Amazon Bedrock 中查詢 LLM 模型 Titan 文本
python ask-bedrock-with-rag.py --ask " your question here "
可選參數:
--index
使用與預設抹布不同的索引--region
如果您不使用預設的us-east-1--bedrock-model-id
選擇與 Anthropic 的 Claude v2 不同的模型
cd ./terraform
terraform destroy # When prompt for confirmation, type yes, and press enter.
請參閱貢獻以獲取更多資訊。
該庫根據 MIT-0 許可證獲得許可。請參閱許可證文件。