Содержание

  1. Проблема: LLM не знает ваш бизнес
  2. Что такое RAG
  3. Что такое Fine-tuning
  4. Сравнение: RAG vs Fine-tuning
  5. Пример RAG на Python
  6. Когда выбирать RAG
  7. Когда выбирать Fine-tuning
  8. Вывод

Компания хочет ИИ-ассистента который отвечает на вопросы о продуктах, политиках и регламентах. Но GPT-4 не знает вашу документацию — он обучен на публичных данных, а не на вашей базе знаний. Как это исправить?

Есть два подхода: RAG (Retrieval-Augmented Generation) и Fine-tuning. Оба решают проблему, но по-разному. Разберём каждый.

1. Проблема: LLM не знает ваш бизнес

Большие языковые модели (GPT-4, Claude) обучены на публичных данных из интернета. Они не знают:

  • Вашу документацию, регламенты и политики
  • Каталог продуктов и актуальные цены
  • Историю клиентских обращений
  • Внутренние процессы и инструкции

Если спросить ChatGPT о вашем продукте — он будет галлюцинировать или скажет что не знает. Для корпоративного ИИ-ассистента это неприемлемо.

2. Что такое RAG

RAG (Retrieval-Augmented Generation) — это архитектура где перед генерацией ответа система ищет релевантные документы из вашей базы знаний и передаёт их в контекст модели.

Как работает RAG
1
Вопрос пользователя
«Какова политика возврата?»
2
Поиск документов
Векторный поиск по базе знаний
3
Контекст + вопрос
Передаём найденные документы в LLM
4
Ответ на основе документов
Модель отвечает опираясь на факты

Ключевое преимущество RAG: база знаний обновляется без переобучения модели. Добавили новый документ — система сразу знает его содержание.

3. Что такое Fine-tuning

Fine-tuning — это дообучение языковой модели на ваших данных. Вы берёте готовую модель (GPT-4, Llama, Mistral) и дообучаете её на парах «вопрос–ответ» из вашего домена.

После fine-tuning модель «помнит» паттерны из ваших данных — стиль общения, терминологию, типовые ответы. Но она не знает конкретных фактов которые не были в обучающей выборке.

Распространённое заблуждение: fine-tuning не «загружает» документы в модель. Модель учится паттернам, а не запоминает факты. Если хотите чтобы бот знал конкретные цены или регламенты — нужен RAG, а не fine-tuning.

4. Сравнение: RAG vs Fine-tuning

КритерийRAGFine-tuning
Знание фактов✅ Точные факты из документов❌ Галлюцинирует без документов
Обновление данных✅ Мгновенно (добавить документ)❌ Нужно переобучение
Стоимость запуска✅ От 50 000 ₽❌ От 150 000 ₽
Стиль общения⚡ Базовый стиль модели✅ Адаптируется под ваш стиль
Специфичная терминология⚡ Частично✅ Отлично
Прозрачность ответов✅ Ссылается на источники❌ Непрозрачно
Объём данных для старта✅ Любой (хватит 10 документов)❌ От 500–1000 примеров
Конфиденциальность✅ Данные не уходят в модель⚡ Данные в весах модели

5. Пример RAG на Python

Покажем минимальный RAG на LangChain и ChromaDB:

# pip install langchain chromadb openai langchain-openai

from langchain_openai import OpenAIEmbeddings, ChatOpenAI
from langchain_community.vectorstores import Chroma
from langchain.text_splitter import RecursiveCharacterTextSplitter
from langchain.chains import RetrievalQA
from langchain_community.document_loaders import DirectoryLoader

# 1. Загружаем документы (PDF, TXT, DOCX)
loader = DirectoryLoader('./docs', glob='**/*.txt')
documents = loader.load()

# 2. Разбиваем на чанки
splitter = RecursiveCharacterTextSplitter(
    chunk_size=1000,
    chunk_overlap=200
)
chunks = splitter.split_documents(documents)

# 3. Создаём векторное хранилище
embeddings = OpenAIEmbeddings()
vectorstore = Chroma.from_documents(
    chunks,
    embeddings,
    persist_directory='./chroma_db'
)

# 4. Создаём цепочку вопрос-ответ
llm = ChatOpenAI(model='gpt-4o', temperature=0)
qa_chain = RetrievalQA.from_chain_type(
    llm=llm,
    retriever=vectorstore.as_retriever(search_kwargs={'k': 3}),
    return_source_documents=True
)

# 5. Задаём вопрос
result = qa_chain.invoke('Какова политика возврата товара?')
print(result['result'])
print('Источники:', [doc.metadata['source'] for doc in result['source_documents']])
Важно для качества RAG: качество ответов напрямую зависит от качества документов. Структурированные, чёткие документы дают точные ответы. Плохо написанные регламенты — плохие ответы бота.

6. Когда выбирать RAG

RAG подходит в большинстве корпоративных случаев. Выбирайте RAG когда:

  • Нужен ИИ-ассистент для ответов по документации, FAQ, регламентам
  • Данные часто обновляются (прайсы, политики, инструкции)
  • Важна прозрачность — пользователь должен видеть источник ответа
  • Мало обучающих данных (менее 500 пар вопрос-ответ)
  • Ограниченный бюджет — RAG дешевле в разработке
  • Важна конфиденциальность — данные не уходят в обучение модели

✅ RAG — правильный выбор для 80% корпоративных ИИ-проектов

Поддержка клиентов по FAQ, ИИ-ассистент по регламентам, бот по базе знаний, внутренний помощник — всё это RAG. Быстро, дёшево, обновляется без переобучения.

7. Когда выбирать Fine-tuning

Fine-tuning оправдан в специфических случаях:

  • Нужно сильно изменить стиль общения модели (например медицинский или юридический язык)
  • Есть тысячи примеров правильных ответов и нужна консистентность
  • Задача классификации или структурированного вывода данных
  • Self-hosted модель (Llama, Mistral) которую нельзя отправлять запросы в облако
  • Специфическая терминология которую базовая модель не понимает
Не делайте fine-tuning для фактических знаний. Если хотите чтобы модель знала ваши цены, адреса и регламенты — используйте RAG. Fine-tuning для этого не предназначен и результат будет плохим.

8. Вывод

Простое правило выбора:

  • RAG — если нужно чтобы ИИ знал ваши документы и факты
  • Fine-tuning — если нужно изменить поведение и стиль модели
  • RAG + Fine-tuning — для максимального качества в сложных проектах

В 80% корпоративных проектов достаточно RAG. Он проще, дешевле и обновляется без переобучения. Fine-tuning добавляют поверх RAG когда базового качества не хватает.

Нужен ИИ-ассистент на базе ваших данных?

Гиперсайт строит RAG-системы и ИИ-агентов с 2021 года. Расскажите задачу — предложим архитектуру бесплатно.

Обсудить проект