使用AWS Bedrock Agents与知识库时如何仅检索最相关块
修改AWS Bedrock Agent知识库返回结果数量的方法
要将知识库返回的信息块从默认的5个改为仅1个最相关的,只需调整知识库的检索结果数量配置,具体操作分两种方式:
控制台操作步骤
- 登录AWS Bedrock控制台,定位到你创建的对话Agent
- 进入Agent的「知识库」关联页面,找到已绑定的知识库,点击「编辑检索配置」
- 在检索设置中,找到返回的结果数量(对应参数
numberOfResults),将数值从5修改为1 - 保存配置后重新测试对话代理,此时知识库只会返回匹配度最高的1个信息块
API/代码操作方式
如果通过SDK(如boto3)调用,需在检索请求中显式指定numberOfResults=1:
import boto3 # 初始化Bedrock Agent Runtime客户端 client = boto3.client('bedrock-agent-runtime') # 发起检索请求,指定返回1个结果 response = client.retrieve( knowledgeBaseId='你的知识库ID', retrievalQuery={'text': '用户的问题文本'}, retrievalConfiguration={ 'vectorSearchConfiguration': { 'numberOfResults': 1 } } ) # 处理返回的最相关结果 top_result = response['retrievalResults'][0]
若通过Agent的invoke_agent接口调用,也可在请求的retrievalConfiguration中设置该参数,确保Agent调用知识库时仅获取1个最相关块。
内容的提问来源于stack exchange,提问作者Alberto Soto González
相关产品推荐
相关产品推荐

