以编程方式使用文档

概述

这将帮助您开始使用 AmazonKnowledgeBaseRetriever 检索功能。有关所有 AmazonKnowledgeBaseRetriever 功能和配置的详细文档,请前往 API 参考.

Amazon Bedrock 知识库是 Amazon Web Services (AWS) 提供的端到端 RAG 工作流程的完全托管支持。 它提供了完整的摄取工作流程,将您的文档转换为嵌入(向量)并将其存储在专门的向量数据库中。 Amazon Bedrock 知识库支持流行的向量存储数据库,包括 Amazon OpenSearch Serverless 向量引擎、Pinecone、Redis Enterprise Cloud、Amazon Aurora(即将推出)和 MongoDB(即将推出)。

集成详情

检索器自托管云服务Python 支持
AmazonKnowledgeBaseRetriever🟠 (see details below)@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 = "";
// process.env.LANGSMITH_TRACING = "true";

安装

此检索器位于 @langchain/aws package:

npm install @langchain/aws @langchain/core
yarn add @langchain/aws @langchain/core
pnpm add @langchain/aws @langchain/core

实例化

现在我们可以实例化检索器:

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