Learnly

Стек технологий: модели, индексы, фреймворки

Стек технологий: что из чего собирают современные RAG-системы

В этом уроке, обзор инструментов 2026 года, из которых реально собираются продакшн RAG-системы. По каждому слою: какие есть варианты, в чём разница, когда что выбирать, сколько стоит.

Структура: Embedders → Vector DBs → Rerankers → LLMs (генератор) → Orchestration → Observability → Document parsers.

Слой 1. Embedding модели

Эмбеддер, нейросеть, которая отображает текст в вектор. Качество retrieval напрямую упирается в качество эмбеддера на ваших данных.

Managed API

Модель Dim MTEB Цена/1M tok Языки Особенности
OpenAI text-embedding-3-large 3072* ~64 $0.13 mlтi *Matryoshka: можно truncate до 256–1024
OpenAI text-embedding-3-small 1536 ~62 $0.02 multi Best price/perf baseline
Voyage AI voyage-3-large 1024 ~67 $0.18 multi Топ-1 на public benchmarks 2024–2025
Voyage AI voyage-code-3 1024 code $0.12 code Специальный для исходного кода
Cohere embed-v3 1024 ~64 $0.10 100+ Sparse mode, multimodal
Cohere embed-multilingual-v3 1024 ~63 $0.10 100+ Сильный для русского
Anthropic , , , , Anthropic не продаёт embeddings; рекомендуют Voyage
Google Gemini text-embedding-005 768 ~63 $0.025 multi Дёшево, вертикальная интеграция с Vertex AI
Mistral mistral-embed 1024 ~62 $0.10 EN/FR Если вы уже на Mistral API

Open-source / self-hosted

Модель Dim MTEB Особенности
BGE-M3 (BAAI) 1024 ~63 Универсал года: dense + sparse + multi-vector в одной модели; 100+ языков; контекст до 8K
bge-large-en-v1.5 1024 ~64 Топ для чистого английского
multilingual-e5-large-instruct 1024 ~63 Лучший для русского в open-source
Jina jina-embeddings-v3 1024 ~63 8K контекст, task-aware (5 режимов)
Nomic nomic-embed-text-v1.5 768 ~62 Полностью открытые: weights + код + датасет
mxbai-embed-large-v1 1024 ~64 Mixedbread, лицензия Apache 2.0
gte-Qwen2-7B-instruct 3584 ~70 Очень тяжёлый (7B), но самый точный open-source
Snowflake arctic-embed-l-v2.0 1024 ~64 Топ для retrieval-only задач

Как выбирать

  1. Запустите public MTEB и mteb-russian, но не доверяйте слепо. Прогоняйте на своих данных.
  2. Соберите 50–200 пар (query, relevant_chunk) из своего корпуса, это ваш eval set для embedder'а.
  3. Sweep: прогоните 4–6 кандидатов, считайте Recall@10 и MRR. Разница между лучшим и средним может быть 10–20 пунктов.
  4. Цена: при 10M токенов корпуса OpenAI v3-large = $1.30, BGE-M3 self-hosted = $0 + GPU-час.
  5. Latency: managed API 50–200 мс, self-hosted на A10G GPU, 10–30 мс на батч 32.

Практическое правило 2026: если есть GPU и ресурсы DevOps, BGE-M3 (универсал). Если хочется managed без головной боли, Voyage-3-large или OpenAI v3. Для русского в managed, Cohere multilingual-v3.

Fine-tuning эмбеддеров под домен

Прирост 10–25% при наличии 1–10K пар (query, relevant_doc):

  • sentence-transformers + MultipleNegativesRankingLoss, стандартный рецепт.
  • LLM-судья генерирует synthetic пары из вашего корпуса (RAGAS, FlagEmbedding).
  • Дообучаются обычно последние 2–4 слоя; full fine-tune редко окупается.

Окупается, если:

  • Узкая терминология (медицина, юриспруденция).
  • ≥ 1000 запросов/день.
  • Цена ошибки высокая.

Слой 2. Vector DB

Хранит векторы и делает ANN-поиск (Approximate Nearest Neighbor). Под капотом, индексы HNSW (граф), IVF (инвертированный файл), DiskANN (для on-disk).

Сравнение топовых движков

DB Тип Killer feature Слабость Цена для 10M chunks
pgvector Расширение Postgres Уже есть Postgres → 0 новой инфры; ACID; HNSW + IVFFlat; в 0.7+, halfvec, sparsevec Не для 100M+ векторов на одном инстансе $0–50/мес (на существующем PG)
Qdrant Standalone Rust Лучшие фильтры по metadata, hybrid out-of-box, scalar/binary/product quantization Свой DSL, не SQL $50–250 managed, $20 self-host
Weaviate Standalone Go Modules для embedders + LLM, GraphQL, multi-tenancy Сложнее в эксплуатации $25–500 managed
Milvus / Zilliz Standalone C++/Go Масштаб 1B+ векторов, GPU-индексы, DiskANN Тяжёлая инфра (etcd, MinIO) $99+ managed
Pinecone Managed-only Serverless, простой API, мгновенный масштаб Vendor lock-in, дороже всех $70+ /мес минимум
LanceDB Embedded Rust Файловое хранение в S3, columnar; идеален для AI-агентов и notebooks Не для high-QPS $0 self / cloud в beta
Chroma Embedded / standalone Простейший API, идеально для прототипов Не для production scale $0 self
Elasticsearch / OpenSearch Search engine Dense + BM25 в одном движке, зрелая экосистема Тяжелее dedicated vector DB $95+ managed
Vespa Standalone (Yahoo) Tensor search, ColBERT first-class, миллиарды векторов Сложный enterprise
Turbopuffer Managed serverless Object-storage backed, на 100× дешевле Pinecone на cold data Молодой $0.10/GB/mo
MongoDB Atlas Vector Search Managed Уже есть Mongo Моложе других в составе Atlas
Redis Stack In-memory Latency < 10 мс Дорогой RAM $$

Как выбирать

Сценарий Рекомендация
Уже есть Postgres, < 50M векторов pgvector, не плодите инфру
Нужны богатые фильтры + hybrid Qdrant
100M+ векторов Milvus или Vespa
Эмбедды и LLM в одном месте, рисёрч Chroma, LanceDB
ML-команда уже на Elasticsearch OpenSearch или ES с dense_vector
Любой ценой managed без DevOps Pinecone или Qdrant Cloud

Quantization, обязательная фича для масштаба:

  • Scalar quantization (int8): размер ×4 меньше, минимальная потеря качества.
  • Binary quantization (1-bit): ×32 меньше, прокатывает с rerank поверх.
  • Product quantization (PQ): ×16–64, чуть больше потерь, для очень больших баз.

В Qdrant и Milvus quantization включается одной строкой конфига и снижает память + ускоряет поиск в 4–10×.

Слой 3. Rerankers

Cross-encoder, который точно сортирует top-50 кандидатов в top-5 для LLM.

Reranker Тип Цена Качество Когда
Cohere rerank-v3.5 API $1 / 1K rerank-calls Топ multilingual Default для managed
Cohere rerank-multilingual-v3.0 API $1 / 1K Сильный для русского Если уже на Cohere
BGE reranker-v2-m3 OSS self-hosted GPU Топ open-source, 568M params Default open-source
BGE reranker-v2-gemma OSS self-hosted LLM-based, ещё точнее Когда GPU не жалко
mxbai-rerank-large-v1 OSS self-hosted Чуть слабее BGE, но легче Limited GPU
Jina jina-reranker-v2-base-multilingual OSS / API $0.50/1K Хороший multilingual Если уже на Jina
ColBERT-v2 / jina-colbert-v2 OSS свой индекс Late interaction, supreme quality Юриспруденция, наука
Voyage rerank-2 API $0.05/1K Хорошо балансит Если уже на Voyage

Rerank, обязательный компонент для prod. Прирост точности 10–30%, latency +50–200 мс. Один из самых высоких ROI среди улучшений RAG.

Слой 4. LLM-генератор

Модель Контекст Цена in/out per 1M Сильное Когда
Claude Opus 4.7 200K (1M beta) $15 / $75 Reasoning, длинные отчёты, агентность Сложные задачи, цена не вопрос
Claude Sonnet 4.6 1M $3 / $15 Best balance, длинный контекст, цитирование Default для prod RAG
Claude Haiku 4.5 200K $1 / $5 Скорость, дёшево Routing, classification, простые ответы
GPT-5 400K $5 / $20 Чёткое следование инструкциям, JSON mode Structured output, function calling
GPT-5-mini 128K $0.30 / $1.20 Дёшево + быстро Pre-processing, query rewriting
GPT-4o-mini (legacy) 128K $0.15 / $0.60 Совсем дёшево Бюджетные сценарии
Gemini 2.5 Pro 2M $1.25 / $5 Огромный контекст, мультимодальность Видео, длиннющие документы
Gemini 2.5 Flash 1M $0.30 / $2.50 Цена + контекст Long-doc summarization
DeepSeek V3 128K $0.27 / $1.10 Очень дёшево, на уровне GPT-4o Когда бюджет, главное
Llama 3.3 70B 128K self-host (~$0.30/1M на vLLM) Полностью контролируемо On-prem требования
Qwen 2.5 72B 128K self-host Сильный для CN/RU Self-host альтернатива Llama
Mistral Large 2 128K $2 / $6 EU-резиденция данных Compliance EU

Когда какая модель

  • Default для большинства корпоративных RAG: Claude Sonnet 4.6, стабильно цитирует, не выдумывает, длинный контекст для парент-документ паттерна.
  • Critical/legal/medical: Claude Opus 4.7, стоит дороже, но lower hallucination rate.
  • High-throughput / chat: Claude Haiku 4.5 или GPT-5-mini на простые ответы, escalation на Sonnet/GPT-5 когда нужно.
  • On-prem / sensitive: Llama 3.3 70B + vLLM/SGLang/TGI на A100/H100.
  • Огромный контекст: Gemini 2.5 Pro (но дороже rag).

Inference серверы для self-hosted

  • vLLM, стандарт-де-факто, PagedAttention, continuous batching, OpenAI-совместимый API.
  • SGLang, быстрее vLLM на структурированном выводе, RadixAttention.
  • TGI (Text Generation Inference) от Hugging Face, production-ready.
  • Ollama, для разработки на ноутбуке.
  • llama.cpp / llamafile, CPU-only, edge.

Слой 5. Orchestration / фреймворки

«Клей», который связывает всё вместе.

Фреймворк Сильная сторона Слабость Когда брать
LangChain / LangGraph Огромная экосистема, 700+ интеграций; LangGraph для агентов Часто избыточная абстракция, breaking changes Default; быстрый старт
LlamaIndex Лучшие abstractions именно для RAG; Sentence-Window, Parent-Document, ingestion Меньше агентных возможностей RAG-first проекты
Haystack 2.x (deepset) Production-ready, чистый pipeline-DAG Меньше hype Когда нужен порядок
DSPy (Stanford) Программирование на промптах декларативно; auto-optimization Curve Для исследовательских задач, prompt optimization
Semantic Kernel (Microsoft) C# / Python / Java, корп-инжей Меньше интеграций Microsoft-стек, .NET
Anthropic Agents SDK / Claude Agent SDK Чистый агентный API от Anthropic, computer use Молодой, под Claude Агенты на Claude
OpenAI Assistants API Managed, threads, file_search, code_interpreter Vendor lock Быстрый прототип на OpenAI
Pydantic AI Python-first, type-safe, простой Молодой Когда хочется без LangChain бойлерплейта
Mastra TypeScript-first Молодой Полный TS-стек
Vercel AI SDK React/Next.js streaming UX Не для полного pipeline Frontend-heavy AI

Практика: для прототипа, LlamaIndex или LangChain. Для прода многие переписывают «голым» Python с тонкими wrappers, чтобы убрать абстракции, которые мешают. DSPy, отдельная история: позволяет автоматически оптимизировать промпты против датасета.

Слой 6. Observability / Eval

Без них RAG в проде слепнет за недели.

Инструмент Тип Что даёт Цена
LangSmith Managed Traces + evals + datasets от LangChain $39+ /user/mo
Langfuse OSS / managed Open-source аналог LangSmith $0 self / $59+ cloud
Phoenix (Arize) OSS Traces + evals + drift detection $0 self
Helicone Managed Простые traces + caching gateway $0–50+/mo
W&B Weave Managed Если уже на Weights & Biases $$$
RAGAS Library Python eval metrics $0
TruLens Library Eval с focus на feedback functions $0
DeepEval Library Pytest-style тесты для LLM $0
Patronus AI Managed Enterprise eval-as-a-service $$$
Galileo Managed Monitoring + eval + datasets $$$

Минимальный prod-стек: Langfuse (traces) + RAGAS (eval) + custom dashboard.

Слой 7. Document parsing & ingestion

Инструмент Сильная сторона Цена
LlamaParse Топ для сложных PDF с таблицами/формулами $0.003/page free → paid
Unstructured.io OSS + paid API; универсал OSS / $0.01/page
Docling (IBM) OSS layout-aware с MLM $0
Marker (VikParuchuri) OSS PDF→Markdown, очень быстрый $0
PyMuPDF / pdfplumber Лёгкие баzовые PDF $0
Apache Tika 1000+ форматов $0
AWS Textract / GCP Document AI / Azure Document Intelligence OCR + layout $1–50/1K pages
Reducto Топ commercial, очень точный на сложных $0.005/page+

Полные референсные стеки

Бюджетный self-hosted

Loader:     Unstructured (OSS)
Embeddings: BGE-M3 (self-host on RTX 4090)
Vector DB:  pgvector в существующем Postgres
Reranker:   bge-reranker-v2-m3 (CPU OK)
LLM:        Llama 3.3 70B на vLLM (1×H100) или DeepSeek V3 API
Orch:       LlamaIndex
Eval:       RAGAS + Langfuse self-hosted
Cost:       $200–500/mo + железо

Managed default 2026

Loader:     LlamaParse
Embeddings: Voyage AI voyage-3-large
Vector DB:  Qdrant Cloud
Reranker:   Cohere rerank-v3.5
LLM:        Claude Sonnet 4.6
Orch:       LlamaIndex
Eval:       Langfuse Cloud + RAGAS
Cost:       $1K–5K/mo для 1K-5K queries/day

Enterprise / on-prem (regulated)

Loader:     Reducto / Azure Document Intelligence
Embeddings: BGE-M3 на собственном GPU
Vector DB:  Milvus / Vespa
Reranker:   bge-reranker-v2-gemma
LLM:        Llama 3.3 70B + Mistral Large 2 (для EU resid.)
Orch:       Haystack 2.x
Eval:       Patronus AI / Galileo
Security:   Presidio (PII), NeMo Guardrails, dual-LLM pattern
Cost:       $20K+/mo инфра + GPU

Главное

Стек RAG в 2026, модульный. Каждый слой можно поменять независимо. Это и сила (можно постепенно улучшать), и сложность (нужно понимать, что чем заменяется).

Не выбирайте «всё лучшее». Свяжите выбор с реальными требованиями: цена, скорость, регуляторика, наличие команды.

80% решений, простые. pgvector + OpenAI/BGE + Cohere rerank + Sonnet 4.6 + LlamaIndex + Langfuse покрывает 80% корпоративных кейсов. Усложняйте только под конкретную проблему, которую видите в метриках.

В следующем уроке, план запуска RAG в компании: от выбора первого сценария до production rollout, с конкретными чек-листами, security-аспектами и cost-калькуляцией под разные use-case.