Как сообщает AWS Machine Learning Blog, в Amazon Bedrock между поиском фрагментов и генерацией ответа можно добавить фильтрацию контекста. Обычно RAG-поиск настраивают на высокую полноту, поэтому основной модели передают широкий набор потенциально релевантных материалов. При top-k от 5 до 20 контекст в задачах с технической документацией и юридическими материалами может занимать несколько тысяч входных токенов на один запрос.
В предложенной архитектуре найденные фрагменты сначала обрабатывает меньшая и более дешевая модель. Она сопоставляет их с запросом пользователя и оставляет только дословные отрывки, которые относятся к вопросу. Для сжатия в публикации используется Anthropic Claude Haiku, для подготовки итогового ответа используется Anthropic Claude Sonnet. Оба вызова выполняются внутри одной функции AWS Lambda.
Шаблон совместим с RAG-поиском в Amazon Bedrock, в том числе с Amazon Bedrock Knowledge Bases. Его можно сочетать с prompt caching, Amazon Bedrock Intelligent Prompt Routing и Rerank API. По оценке авторов, такой подход сокращает количество входных токенов и расходы, сохраняя качество ответов. Удаление нерелевантного контекста также уменьшает область возможных галлюцинаций. При оценке решения авторы предлагают учитывать задержку.
Ключевые факты
Стандартный RAG-процесс обычно возвращает от 5 до 20 фрагментов.
Для сжатия контекста используется Anthropic Claude Haiku, для итогового ответа, Anthropic Claude Sonnet.
Вызовы модели сжатия и основной модели выполняются в одной функции AWS Lambda.
Шаблон совместим с Amazon Bedrock Knowledge Bases, prompt caching, Amazon Bedrock Intelligent Prompt Routing и Rerank API.