此示例存储库提供了使用 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 许可证获得许可。请参阅许可证文件。