Skip to main content

概述

这将帮助你开始使用 AmazonKnowledgeBaseRetriever。有关 AmazonKnowledgeBaseRetriever 所有功能和配置的详细文档,请参阅 API 参考 Amazon Bedrock 知识库是 Amazon Web Services (AWS) 提供的对端到端 RAG 工作流的完全托管支持。 它提供了将文档转换为嵌入(向量)并将嵌入存储在专用向量数据库中的整个摄取工作流。 Amazon Bedrock 知识库支持流行的数据库进行向量存储,包括 Amazon OpenSearch Serverless 的向量引擎、Pinecone、Redis Enterprise Cloud、Amazon Aurora(即将推出)和 MongoDB(即将推出)。

集成细节

检索器自托管云服务Py 支持
AmazonKnowledgeBaseRetriever🟠 (见下文详情)@langchain/aws
AWS 知识库检索器可以被“自托管”,即你可以在自己的 AWS 基础设施上运行它。但是,无法在其他云提供商或本地运行。

设置

为了使用 AmazonKnowledgeBaseRetriever,你需要有一个 AWS 账户,在那里你可以管理你的索引和文档。设置好账户后,设置以下环境变量:
process.env.AWS_KNOWLEDGE_BASE_ID=your-knowledge-base-id
process.env.AWS_ACCESS_KEY_ID=your-access-key-id
process.env.AWS_SECRET_ACCESS_KEY=your-secret-access-key
如果你想从单个查询中获得自动跟踪,你也可以通过取消注释下面来设置你的 LangSmith API 密钥:
// process.env.LANGSMITH_API_KEY = "<YOUR API KEY HERE>";
// process.env.LANGSMITH_TRACING = "true";

安装

此检索器位于 @langchain/aws 包中:
npm install @langchain/aws @langchain/core

实例化

现在我们可以实例化我们的检索器:
import { AmazonKnowledgeBaseRetriever } from "@langchain/aws";

const retriever = new AmazonKnowledgeBaseRetriever({
  topK: 10,
  knowledgeBaseId: process.env.AWS_KNOWLEDGE_BASE_ID,
  region: "us-east-2",
  clientOptions: {
    credentials: {
      accessKeyId: process.env.AWS_ACCESS_KEY_ID,
      secretAccessKey: process.env.AWS_SECRET_ACCESS_KEY,
    },
  },
});

用法

const query = "..."

await retriever.invoke(query);

API 参考

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