AI/journal
RAG-архитектура на практике
RAG-архитектура на практике: что выбрать в 2023 году
← ЖурналAI8 мин чтения

RAG-архитектура на практике: что выбрать в 2023 году

Команда nordiqdev
студия

К весне 2023-го RAG стал стандартным ответом на вопрос «как заставить LLM отвечать по нашим данным». Мы собрали четыре RAG-системы за последние полгода. Делимся выводами, чтобы вы не повторяли наши ошибки.

Что вообще такое RAG

Retrieval-augmented generation - это паттерн, в котором перед обращением к LLM мы из базы знаний достаём релевантные куски документов и кладём их в контекст промпта. Модель отвечает с опорой на эти куски, а не на свои тренировочные данные.

Vector DB: что выбрать

На проектах до 10 миллионов векторов мы по умолчанию берём pgvector. Postgres у заказчика обычно уже есть, дополнительная инфраструктура не нужна, performance - приемлемая. Pinecone, Weaviate и Qdrant имеет смысл, когда либо очень большой объём, либо нужны специфичные фильтры по метаданным.

Embedding-модель

  • OpenAI text-embedding-ada-002 - дефолт. Дешёвая, качественная, не требует self-hosting. 90% проектов - на ней.
  • Open-source модели (instructor, e5) - когда данные нельзя слать в OpenAI. Качество чуть ниже, но управляемо.
  • Multilingual модели - отдельная тема. Для русского контента ada-002 работает терпимо, но не идеально.

Chunking - самая недооценённая часть

Большинство наших ранних провалов в RAG были из-за плохого chunking. Если резать документ на куски по 500 токенов without overlap - теряются связи между разделами. Если оставлять документы целиком - модель тонет в шуме.

Что у нас работает: семантический chunking по структуре документа (заголовки, параграфы), куски 200–400 токенов, overlap 50 токенов, обогащение каждого куска метаданными (источник, раздел, дата). Точность retrieval после такой нарезки вырастает в 1.5–2 раза по сравнению с наивной.

Reranking - почти всегда стоит того

Достали top-50 кандидатов, прогнали через cross-encoder, вернули top-5. Время - +200мс, точность - +15–20%. На большинстве задач трейдофф очевидно в плюс.

Числа с реального проекта

Корпоративная база знаний на 12 000 документов. pgvector + ada-002 + bge-reranker. Top-1 hit rate - 73%, top-5 - 91%. Среднее время ответа - 2.3 секунды (без стриминга). Cost per query - $0.012.

Теги
#rag#vector db#pgvector#embeddings#llm
Студия nordiqdev

Делаем мобильные приложения, веб-сервисы и AI на заказ

Если задача из текста выглядит знакомой и нужна команда, которая соберёт продукт - расскажите подробнее. Вернёмся в течение 24 часов с разбором.