Агентный RAG на Bedrock: вопросы к претензиям в S3 с цитатами из PDF и Word

На синтетических страховых делах AWS показала цепочку от файла в S3 до ответа со ссылкой на источник: managed-база знаний Bedrock, ingest из bucket и потоковый вызов с фильтрами по метаданным. Это учебный стенд на выдуманных претензиях, не прод-кейс страховщика.
Статус и суммы живут в PDF-отчётах, Word-переписке и текстовых заметках, а не в одном SQL-поле. В примере спрашивают про смету по CLM-100482 и про открытые авто-претензии дороже $10 000 за прошлый месяц. Для regulated-сценария каждый ответ должен нести citation — оператор сверяет цитату, прежде чем повторить формулировку клиенту.
Метаданные рядом с файлом
К документу в S3 кладут sidecar *.metadata.json (лимит 10 KB). У CLM-100482.pdf в sidecar — claim_id, claim_type, amount 14250, date_filed целым числом YYYYMMDD (20260709), булевы флаги вроде has_subrogation. Даты и суммы числом, чтобы фильтровать диапазоны без парсинга текста в PDF.
Knowledge base создают через bedrock-agent с knowledgeBaseConfiguration.type MANAGED: отдельный vector store не настраивают. Данные тянут из префикса claims/; после загрузки или правки файлов гоняют start_ingestion_job до complete. В walkthrough — регион us-west-2 и Boto3 с включённым доступом к foundation model.
Агентный поиск в потоке
Запрос к agentic_retrieve_stream включает историю messages, до пяти retriever’ов с ID базы и metadata filter, плюс agenticRetrieveConfiguration с maxAgentIteration 5 — столько раундов планирования и дочитки доказательств. Сложный вопрос режется на sub-queries, retrieval повторяется, пока evidence хватает или лимит исчерпан.
При generateResponse=True поток отдаёт trace-события (план и подзапросы), куски текста ответа и result с дедуплицированной выдачей и citations. Contextual grounding guardrail блокирует ответы, которые не стоят на найденных записях.
- PDF, Word и текст в S3 с парными
.metadata.json. - Синхронизация индекса ingestion job при изменениях документов.
- Многоходовый диалог и сужение поиска по claim_id, типу, статусу, сумме и дате.
- Guardrail grounding перед выдачей ответа в UI.
Источник: Query claims in natural language with Amazon Bedrock Knowledge Bases.