Представьте, что мы даем большой и мощной модели (назовем ее root) три ключевых компонента: переменную с полным контекстом, функцию для вызова более легкой и быстрой модели (назовем ее recursive, дальше увидите почему) и текстовый запрос, который кратко отражает суть задачи - например:
query = "найди в большом корпусе данных информацию X..."
Нам нужна интерактивная среда выполнения кода (например, REPL). Мы даем модели root промпт вроде такого:
"Взаимодействуя с REPL-средой, в которой инициализирована переменная context с большим (несколько миллионов) текстом, и функция llm_query, найди ответ на следующий вопрос: {}".format(query).root рекурсивно вызывает llm_query, передавая фрагменты большого контекста модели recursive и смотрит, что та вернула - при получении искомого ответа возвращает его.
Простое, но результативное решение. Полная статья здесь
