AWS Bedrock Agent返回%[ck7]%异常输出的原因及根治方案咨询
AWS Bedrock Agent 出现%[ck7]%类异常输出的原因与根治方案
我司使用AWS Bedrock Agent时,出现了%[ck7]%这类异常输出。询问在售产品时,返回内容如下:
We sell the following products: - Product A %[ckr7]% - Product B %[ckr7]% - Product C %[ckr7]% - Product D %[ckr7]%
目前我通过re.sub()移除该异常字符,但希望找到对应的设置来避免手动处理,想了解该%[ck7]%输出是什么,以及如何从根源上预防它。相关调用代码如下:
kwargs = { 'agentId': AGENT_ID, 'agentAliasId': AGENT_ALIAS_ID, 'inputText': query, 'enableTrace': enable_trace, 'sessionId': session_id, 'memoryId': memory_id } response = bedrock_agent_runtime.invoke_agent(**kwargs) if 'completion' in response: completion = "" for event in response['completion']: if 'chunk' in event: chunk = event['chunk'] if 'bytes' in chunk: completion += re.sub("[%@*&?].*[%@*&?]", "", chunk['bytes'].decode('utf-8'))
一、%[ck7]%类输出是什么
这类标记是Bedrock Agent在检索增强生成(RAG)过程中插入的引用占位符,对应它从知识库中检索到的源文档片段的内部标识。当Agent配置中开启了引用追踪,但未正确设置输出格式时,就会直接把内部占位符暴露出来,而不是转换成规范的引用样式(比如脚注、括号标注)。
二、根源预防方法
不需要靠正则手动替换,直接调整Agent配置就能解决:
- 修改Agent提示词模板:检查Agent的Prompt配置,明确要求生成回复时不要包含%[xxx]%这类标记,或者指定将占位符替换成你需要的引用格式。
- 关闭引用追踪功能:如果不需要显示来源引用,在创建或更新Agent时,找到
enableCitations这类参数并设为False,Agent就不会再插入这类占位符。 - 检查知识库文档:确认知识库中的文档没有自带类似%[xxx]%的特殊标记,避免Agent误识别为引用占位符。
- 升级Agent运行时版本:旧版本的Bedrock Agent Runtime可能存在占位符处理的bug,升级到最新版本可修复这类问题。
内容的提问来源于stack exchange,提问作者hugo
相关产品推荐
相关产品推荐

