Skip to main content
Open In ColabOpen on GitHub

床Rock(知识基)检索器

此指南将帮助您入门使用AWS知识库检索器retriever

适用于 Amazon Bedrock 的知识库 是Amazon云服务(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 集成从知识库中检索与用户查询相关的结果。

集成细节

检索器Self-host云开发解决方案
AmazonKnowledgeBasesRetrieverlangchain_aws

设置

知识基可以通过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"

安装

这个检索器位于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}},
)

用法

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

retriever.invoke(query)

使用在链中

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 参考

详细文档请参阅所有AmazonKnowledgeBasesRetriever功能和配置的API参考