You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过JavaScript SDK正确调用AWS Bedrock?代码参数及缺失项咨询

AWS Bedrock RetrieveCommand 参数说明与代码补充

一、RetrieveCommand 必需的 params 参数

RetrieveCommand 用于从Bedrock知识库中检索相关内容,以下是必填参数:

  • knowledgeBaseId: 你的Bedrock知识库唯一ID(字符串类型),可在AWS控制台的Bedrock知识库页面获取。
  • retrievalQuery: 检索查询对象,必须包含text字段,值为你要检索的问题或关键词(字符串类型)。
  • retrievalConfiguration: 检索配置对象,至少需要指定向量检索的相关设置,比如返回结果数量。常用子参数:
    • vectorSearchConfiguration: 向量检索配置,包含numberOfResults(可选,默认3,最多10),用于指定返回的匹配文档数量。

示例params结构:

const params = {
  knowledgeBaseId: "你的知识库ID",
  retrievalQuery: {
    text: "需要检索的问题或关键词"
  },
  retrievalConfiguration: {
    vectorSearchConfiguration: {
      numberOfResults: 5 // 可选,指定返回结果数
    }
  }
};

二、你的代码遗漏内容

  1. 错误处理: 异步调用未添加异常捕获,一旦请求失败会导致未处理的Promise拒绝。
  2. 结果处理: 获取返回数据后没有输出或使用,无法查看检索结果。
  3. 凭证管理: 硬编码凭证是不安全的,生产环境应使用AWS默认凭证链(比如环境变量、ECS/EKS角色、本地AWS配置文件等)。
  4. 参数缺失: 当前params为空,无法发起有效请求。

修正后的完整代码示例:

const { BedrockAgentRuntimeClient, RetrieveCommand } = require("@aws-sdk/client-bedrock-agent-runtime");

// 生产环境建议使用默认凭证链,无需硬编码
const client = new BedrockAgentRuntimeClient({
  region: "us-east-1"
});

const params = {
  knowledgeBaseId: "你的知识库ID",
  retrievalQuery: {
    text: "请输入你的检索查询文本"
  },
  retrievalConfiguration: {
    vectorSearchConfiguration: {
      numberOfResults: 5
    }
  }
};

const command = new RetrieveCommand(params);

async function sendRetrievalRequest() {
  try {
    const data = await client.send(command);
    // 打印检索结果
    console.log("检索结果:", JSON.stringify(data, null, 2));
  } catch (error) {
    // 捕获并处理错误
    console.error("请求失败:", error);
  }
}

sendRetrievalRequest();

内容的提问来源于stack exchange,提问作者rishabhsdev

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.20 21:13:12