메타데이터 필터 구성 방법: Bedrock 에이전트 설정 가이드
카테고리
프로그래밍/소프트웨어 개발
서브카테고리
DevOps
대상자
- Bedrock 에이전트를 사용하는 개발자 및 DevOps 엔지니어
- 프로덕션 환경에서 메타데이터 필터링이 필요한 시스템 아키텍처 설계자
- AWS SDK/API를 활용한 문서 검색 기능 구현자
핵심 요약
- 메타데이터 필터 설정 방법:
- 테스트 목적: Bedrock 콘솔에서
agent_id
필터 사용 (예:agent_1
) - 프로덕션 환경:
retrieve_and_generate()
API 호출 시 필터 적용 - 필터 적용 제약사항:
- 콘솔에서 에이전트 생성 시 지속적 필터 설정 불가
- SDK/API 필수 (예:
boto3
사용) - 권장 방법:
- 코드 레벨에서 필터 강제 (
equals
연산자 사용)
섹션별 세부 요약
1. 콘솔 기반 필터 설정 (테스트 목적)
- 필터 구성 단계:
agent_id
키에=
연산자 적용 (예:agent_1
)- 콘솔의
Test knowledge base
UI에서 필터 적용 - 제한 사항:
- 에이전트 생성 시 지속적 필터 적용 불가
- 테스트 목적만 가능 (필터는 테스트 세션 종료 시 사라짐)
2. 프로덕션 환경의 필터 적용 방법
- SDK/API 활용:
boto3
의retrieve_and_generate()
함수 사용- 필터 구성 예시:
```python
bedrock_agent_runtime.retrieve_and_generate(
knowledgeBaseId="your-kb-id",
retrievalConfiguration={
"vectorSearchConfiguration": {
"filter": {
"equals": {"key": "agent_id", "value": "agent_1"}
}
}
}
```
- 필수 파라미터:
knowledgeBaseId
: 지식 베이스 IDequals
: 메타데이터 필터 조건 (키-값 대응)
3. 대체 방법 (워크어라운드)
- 에이전트 프롬프트에 지시사항 추가:
- 예:
"Only answer using documents where agent_id is agent_1."
- 모델 유도 목적 (강제 필터 아님)
- 애플리케이션 로직에서 필터 강제:
- SDK/API를 통해 데이터 검색 시 필터 적용
결론
- 프로덕션 환경에서는 필수:
boto3
SDK를 활용한retrieve_and_generate()
API 호출 시 필터 적용 - 콘솔 필터는 테스트 목적만 가능 (지속적 설정 불가)
- 현재 AWS GUI에서 지속적 필터 설정 기능 없음 → 애플리케이션 로직 또는 API 강제 필터 사용 권장