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

关于Bedrock Agent知识库检索API中next token的使用及返回问题

Bedrock Agent知识库检索API中nextToken的使用说明

核心作用

nextToken是用于分页获取检索结果的参数:当你的查询匹配到的文档总数超过单次请求设置的numberOfResults上限时,API会返回nextToken,你可以用它发起下一次请求,获取剩余的结果。

你没拿到nextToken的原因

你当前调用没返回nextToken,大概率是这两个情况:

  • 你的查询在知识库中匹配到的文档总数≤你设置的numberOfResults(也就是123),没有剩余结果需要返回,所以不会生成nextToken
  • 检查下知识库中符合当前查询的实际文档数量,确认是否真的少于等于123

正确使用流程

  1. 首次调用:不需要传入nextToken参数(或者传空值),直接发起检索请求
    response = client.retrieve(
        knowledgeBaseId='你的知识库ID',
        retrievalQuery={
            'text': '你的查询文本'
        },
        retrievalConfiguration={
            'vectorSearchConfiguration': {
                'numberOfResults': 123
            }
        }
    )
    
  2. 判断是否需要分页:如果响应里包含nextToken,说明还有未返回的结果
  3. 后续分页调用:把上一次响应返回的nextToken传入参数,获取下一页结果
    next_token = response.get('nextToken')
    if next_token:
        next_response = client.retrieve(
            knowledgeBaseId='你的知识库ID',
            retrievalQuery={
                'text': '你的查询文本'
            },
            retrievalConfiguration={
                'vectorSearchConfiguration': {
                    'numberOfResults': 123
                }
            },
            nextToken=next_token
        )
    
  4. 重复步骤2-3,直到响应中不再返回nextToken,说明所有结果都已获取完成

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 14:57:09