Языковые модели владеют свободно, но знают только то, что видели во время обучения. Спросите кого-нибудь о вашем собственном отчете, и он либо признает, что у него нет доступа, либо, что еще хуже, догадается. Во время стажировки в Валентиусе Криптиксе я построил небольшую программу поиска-августа...
Языковые модели владеют свободно, но знают только то, что видели во время обучения. Спросите кого-нибудь о вашем собственном отчете, и он либо признает, что у него нет доступа, либо, что еще хуже, догадается. Во время стажировки в Valentius Kryptix я создал небольшую систему расширенной поисковой генерации (RAG), чтобы увидеть, насколько улучшается модель, когда она может сначала прочитать ваши документы.
Идея за одну минуту
RAG состоит из двух этапов. Функция поиска находит отрывки из ваших документов, наиболее имеющие отношение к вопросу. Генерация передает эти отрывки модели вместе с вопросом и говорит ей отвечать только из этого контекста. Модель никогда не переобучается. Он просто получает нужный текст в нужный момент.
Что я построил
Используя Python, Chroma и Gemini, я проглотил два реальных документа общим объемом около 9000 слов: мой быстрый инженерный отчет и длинный набор заметок по прогнозированию агробизнеса. Текст превратился в 40 перекрывающихся фрагментов примерно по 2000 символов. Каждый фрагмент был встроен и сохранен в локальной базе данных Chroma. Для каждого вопроса система извлекает четыре верхних фрагмента и помещает их в подсказку.
Быстрый тест
Я спросил: «Какова была степень совпадения схемы для V1 в моем оперативном инженерном отчете?»
Простая модель