跳到主要內容
Open In ColabOpen on GitHub

Bedrock (知識庫) 檢索器

本指南將協助您開始使用 AWS 知識庫檢索器

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 整合,從知識庫中檢索使用者查詢的相關結果。

整合詳細資訊

檢索器自行託管雲端服務套件
AmazonKnowledgeBasesRetrieverlangchain_aws

設定

知識庫可以透過 AWS Console 或使用 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

實例化

現在我們可以實例化我們的檢索器

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 參考:RetrievalQA

API 參考資料

如需所有 AmazonKnowledgeBasesRetriever 功能和設定的詳細文件,請前往 API 參考資料


此頁面是否對您有幫助?