跳到主要内容
Open In ColabOpen on GitHub

Bedrock (Knowledge Bases) Retriever

本指南将帮助您开始使用 AWS Knowledge Bases 检索器 (retriever)

Knowledge Bases for Amazon Bedrock 是亚马逊网络服务 (Amazon Web Services, AWS) 提供的一项服务,它允许您通过使用您的私有数据自定义 FM 响应来快速构建 RAG 应用程序。

实施 RAG 需要组织执行几个繁琐的步骤,将数据转换为嵌入 (向量),将嵌入存储在专门的向量数据库中,并构建到数据库中的自定义集成,以搜索和检索与用户查询相关的文本。这可能既耗时又效率低下。

使用 Knowledge Bases for Amazon Bedrock,只需指向您在 Amazon S3 中的数据位置,Knowledge Bases for Amazon Bedrock 就会处理将整个数据提取到您的向量数据库中的工作流程。如果您没有现有的向量数据库,Amazon Bedrock 会为您创建一个 Amazon OpenSearch Serverless 向量存储。对于检索,请通过 Retrieve API 使用 Langchain - Amazon Bedrock 集成,从知识库中检索与用户查询相关的结果。

集成详细信息 (Integration details)

检索器 (Retriever)自托管 (Self-host)云服务 (Cloud offering)包 (Package)
AmazonKnowledgeBasesRetrieverlangchain_aws

设置 (Setup)

知识库可以通过 AWS 控制台 (AWS Console) 或使用 AWS 开发工具包 (AWS SDKs) 进行配置。我们将需要 knowledge_base_id 来实例化检索器。

如果您想从单个查询中获取自动跟踪,您还可以通过取消注释下方内容来设置您的 LangSmith API 密钥。

# os.environ["LANGSMITH_API_KEY"] = getpass.getpass("Enter your LangSmith API key: ")
# os.environ["LANGSMITH_TRACING"] = "true"

安装 (Installation)

此检索器位于 langchain-aws 包中。

%pip install -qU langchain-aws

实例化 (Instantiation)

现在我们可以实例化我们的检索器了。

from langchain_aws.retrievers import AmazonKnowledgeBasesRetriever

retriever = AmazonKnowledgeBasesRetriever(
knowledge_base_id="PUIJP4EQUA",
retrieval_config={"vectorSearchConfiguration": {"numberOfResults": 4}},
)
API 参考 (API Reference):AmazonKnowledgeBasesRetriever

用法 (Usage)

query = "What did the president say about Ketanji Brown?"

retriever.invoke(query)

在链中使用 (Use within a chain)

from botocore.client import Config
from langchain.chains import RetrievalQA
from langchain_aws import Bedrock

model_kwargs_claude = {"temperature": 0, "top_k": 10, "max_tokens_to_sample": 3000}

llm = Bedrock(model_id="anthropic.claude-v2", model_kwargs=model_kwargs_claude)

qa = RetrievalQA.from_chain_type(
llm=llm, retriever=retriever, return_source_documents=True
)

qa(query)
API 参考 (API Reference):RetrievalQA

API 参考 (API reference)

有关所有 AmazonKnowledgeBasesRetriever 功能和配置的详细文档,请访问 API 参考 (API reference)


此页面是否对您有帮助?(Was this page helpful?)