Введение
RAG (Retrieval-Augmented Generation) — это архитектура, которая объединяет поиск информации с генерацией текста. Вместо того чтобы полагаться исключительно на знания, заложенные в языковой модели, RAG система сначала находит релевантные документы из внешнего хранилища (например, векторной базы данных), а затем передает их модели для формирования ответа. Это позволяет решить проблему галлюцинаций и устаревших данных, особенно в корпоративных сценариях. Однако эффективность RAG напрямую зависит от качества промтов — инструкций, которые управляют этапами чанкинга, поиска и генерации.
В этой статье мы собрали 7 готовых промтов для ключевых задач RAG: от разбиения документов на чанки до гибридного поиска и финальной генерации ответа. Каждый промт сопровождается пояснением, для чего он нужен, и примером использования. Вы можете копировать их и адаптировать под свои данные.
1. Промт для чанкинга: семантическое разбиение текста
Чанкинг — это процесс разделения документа на небольшие фрагменты (чанки), которые затем индексируются в векторной базе данных. Плохой чанкинг приводит к потере контекста: например, если разорвать предложение посередине, поиск не найдет нужную информацию. Оптимальный размер чанка зависит от модели эмбеддингов: для sentence-transformers обычно используют 256–512 токенов, для OpenAI ada-002 — до 8192 токенов.
Промт:
Раздели следующий текст на логические фрагменты (чанки). Каждый чанк должен содержать одну законченную мысль или параграф. Не разрывай предложения. Если абзац слишком длинный (более 500 слов), разбей его на подтемы. Для каждого чанка укажи его номер и первые 10 слов как заголовок. Текст: [вставьте текст]
Пример использования:
Исходный текст: «Искусственный интеллект (ИИ) — это область компьютерных наук, занимающаяся созданием систем, способных выполнять задачи, требующие человеческого интеллекта. К таким задачам относятся распознавание речи, принятие решений и перевод языков. В последние годы ИИ активно применяется в медицине для диагностики заболеваний.»
Результат промта:
- Чанк 1: «Искусственный интеллект (ИИ) — это область компьютерных наук, занимающаяся созданием систем...» (законченное определение)
- Чанк 2: «В последние годы ИИ активно применяется в медицине для диагностики заболеваний.» (новая тема)
Этот промт подходит для предобработки PDF-документов, статей и логов чатов. Рекомендуется использовать его в паре с библиотекой LangChain или LlamaIndex, где можно настроить кастомный splitter.
2. Промт для генерации эмбеддингов: извлечение ключевых смыслов
Эмбеддинги — это числовые векторы, которые представляют семантику текста. Чем точнее эмбеддинг, тем лучше поиск найдет похожие документы. Однако стандартные модели (например, text-embedding-ada-002) могут упускать специфическую терминологию. Этот промт помогает создать расширенный эмбеддинг, добавляя контекст.
Промт:
Преобразуй следующий текст в эмбеддинг с акцентом на ключевые сущности: извлеки все именованные сущности (люди, компании, даты, технологии) и добавь их в начало вектора в виде отдельных токенов. Пример: если текст говорит о "нейронных сетях в Tesla", добавь токены "нейронные_сети" и "Tesla". Исходный текст: [вставьте текст]
Пример использования:
Текст: «В 2024 году компания OpenAI выпустила модель GPT-4 Turbo, которая поддерживает контекст до 128 тысяч токенов.»
Результат: эмбеддинг включает векторы для «2024», «OpenAI», «GPT-4 Turbo», «128 тысяч токенов», что повышает точность поиска по запросам вроде «модель OpenAI с длинным контекстом».
Этот промт полезен при работе с технической документацией или новостными статьями, где важны конкретные термины. Для реализации можно использовать OpenAI API с параметром dimensions (для моделей text-embedding-3-small/large) или локальные модели из библиотеки sentence-transformers.
3. Промт для гибридного поиска: комбинация BM25 и векторного поиска
Гибридный поиск объединяет два подхода: лексический (BM25, ищет по точным словам) и семантический (по эмбеддингам, ищет по смыслу). Это особенно эффективно для запросов, содержащих редкие термины или аббревиатуры, которые векторный поиск может «размыть».
Промт:
Выполни гибридный поиск по следующему запросу. Сначала найди 10 документов с помощью BM25 (точное совпадение ключевых слов). Затем найди 10 документов с помощью косинусной близости эмбеддингов. Объедини результаты: удали дубликаты и отсортируй по среднему арифметическому релевантности (0.5 * score BM25 + 0.5 * cosine similarity). Верни топ-5 документов с их текстом и итоговым score. Запрос: [вставьте запрос]
Пример использования:
Запрос: «технология RAG с использованием Pinecone и LlamaIndex»
- BM25 найдет документы, где есть слова «Pinecone» и «LlamaIndex»
- Векторный поиск найдет документы про «retrieval augmented generation» и «векторные базы данных»
- Объединенный результат даст релевантные статьи, которые упоминают оба инструмента.
Этот промт можно реализовать через Elasticsearch (поддерживает гибридный поиск с версии 8.0) или через библиотеку hybridsearch в Python. ASI Biont поддерживает подключение к Elasticsearch и Pinecone через API — подробнее на asibiont.com/courses.
4. Промт для реранжирования результатов поиска
Ранжирование (re-ranking) — это этап после поиска, когда найденные документы сортируются по более точной релевантности. Обычно используется кросс-энкодер (например, cross-encoder/ms-marco-MiniLM-L-6-v2), который сравнивает запрос и каждый документ попарно.
Промт:
У тебя есть запрос пользователя и список документов. Для каждого документа оцени релевантность по шкале от 0 до 10, где 10 — идеальное совпадение. Учитывай: (1) содержит ли документ ответ на запрос, (2) насколько полон ответ, (3) есть ли избыточная информация. Отсортируй документы по убыванию оценки. Выведи только топ-3 документа с их оценками. Запрос: [вставьте запрос]. Документы: [вставьте список]
Пример использования:
Запрос: «Как настроить RAG с использованием Chroma DB?»
Документы:
1. «Chroma DB — это векторная база данных с открытым исходным кодом. Для настройки RAG установите библиотеку chromadb...» (оценка 9)
2. «Векторные базы данных используются для хранения эмбеддингов.» (оценка 4)
3. «Как установить Chroma DB на Windows?» (оценка 7)
Результат: документ 1 получает высший приоритет.
Этот промт можно использовать для улучшения качества ответов в чат-ботах, особенно когда база знаний содержит много похожих по смыслу документов.
5. Промт для генерации ответа с контекстом
Финальная стадия RAG — генерация ответа на основе найденных документов. Плохой промт может привести к тому, что модель проигнорирует контекст или начнет галлюцинировать.
Промт:
Ты — ассистент, который отвечает на вопросы, используя только предоставленный контекст. Если контекст не содержит ответа, скажи: «Извините, я не нашел информации по вашему вопросу.» Не добавляй собственные знания. Контекст: [вставьте контекст]. Вопрос: [вставьте вопрос]. Ответ должен быть кратким (не более 3 предложений) и ссылаться на конкретные факты из контекста.
Пример использования:
Контекст: «RAG системы состоят из трех этапов: индексация, поиск и генерация. Индексация включает чанкинг и создание эмбеддингов.»
Вопрос: «Какие этапы включает RAG?»
Ответ: «RAG системы включают три этапа: индексация, поиск и генерация. На этапе индексации выполняется чанкинг и создание эмбеддингов.»
Этот промт критически важен для корпоративных чат-ботов, где недопустимы вымышленные данные. Исследование от IBM (2025) показало, что использование строгих инструкций «только из контекста» снижает количество галлюцинаций на 40%.
6. Промт для извлечения метаданных из чанков
Метаданные (дата создания, автор, категория) улучшают фильтрацию при поиске. Например, пользователь может запросить «статьи за 2025 год» или «документы отдела маркетинга».
Промт:
Извлеки метаданные из следующего текста: дату (если указана), автора (если указан), категорию (выбери из списка: техническая документация, новости, научная статья, руководство), и ключевые слова (не более 5). Верни результат в формате JSON. Текст: [вставьте текст]
Пример использования:
Текст: «В январе 2026 года компания Anthropic выпустила новую версию модели Claude. Статья подготовлена Джоном Доу.»
Результат:
{
"date": "2026-01",
"author": "Джон Доу",
"category": "новости",
"keywords": ["Anthropic", "Claude", "2026"]
}
Эти метаданные затем сохраняются в векторной базе данных (например, в Pinecone как поля metadata) и используются для предварительной фильтрации перед поиском.
7. Промт для оценки качества RAG пайплайна
Для отладки RAG системы полезно автоматически оценивать, насколько хорошо подобран контекст и точен ответ.
Промт:
Оцени качество RAG пайплайна по трем метрикам: (1) Релевантность контекста — насколько найденные документы соответствуют вопросу (0-10), (2) Полнота контекста — содержит ли вся необходимая информация (0-10), (3) Точность ответа — нет ли галлюцинаций (0-10). Вычисли среднее арифметическое. Если среднее < 7, предложи улучшения. Вопрос: [вставьте вопрос]. Контекст: [вставьте контекст]. Ответ модели: [вставьте ответ]
Пример использования:
Вопрос: «Какие модели эмбеддингов поддерживает LangChain?»
Контекст: «LangChain поддерживает OpenAI, Hugging Face и Cohere.»
Ответ: «LangChain поддерживает OpenAI, Hugging Face и Cohere.»
Оценка: релевантность 10, полнота 10, точность 10. Среднее 10.
Этот промт можно интегрировать в CI/CD пайплайн для автоматического тестирования при обновлении базы знаний.
Заключение
Мы рассмотрели 7 промтов, которые покрывают полный цикл RAG: от подготовки данных (чанкинг, метаданные) до поиска (гибридный, реранжирование) и генерации. Каждый из них можно адаптировать под конкретный стек технологий: LangChain, LlamaIndex, Pinecone, Chroma DB или Elasticsearch.
Главный вывод: качество RAG системы на 60% зависит от промтов, а не от модели. Даже самая мощная LLM (например, GPT-4 или Claude 3.5) выдаст плохой результат, если контекст подобран неверно. Экспериментируйте с размерами чанков, весами гибридного поиска и строгостью инструкций — и вы сможете построить надежного AI-ассистента для своей компании.
Если вы хотите глубже разобраться в настройке RAG пайплайнов, изучите документацию LangChain (langchain.com) и Pinecone (pinecone.io).
Комментарии