TL;DR
- Внедрили RAG-систему на базе LLM, которая извлекает ответы из корпоративной Wiki по смыслу, а не по ключевым словам.
- Сотрудники перестали тратить время на навигацию по тысячам страниц — Юджин отвечает на вопросы за секунды.
- Количество повторяющихся запросов коллегам сократилось благодаря единому ассистенту.
Разбор
Проблема была типичной: корпоративная Wiki разрослась до 5000+ страниц с инструкциями, регламентами и FAQ. Обычный поиск по словам выдавал кучу нерелевантных результатов — например, на запрос «как настроить VPN для удаленки» показывал страницы с упоминанием VPN в контексте безопасности, но без конкретных шагов. Сотрудники тратили 10–15 минут на поиск или писали в чат коллегам.
Мы взяли open-source LLM (например, Llama 3 8B) и обернули её в RAG-пайплайн. Индексация документов: разбили Wiki на чанки по 512 токенов, эмбеддинги через text-embedding-ada-002 (или локальный intfloat/e5-mistral-7b-instruct). При запросе ищем топ-5 чанков по косинусной близости, передаём их в промпт LLM. Пример команды для инференса:
from langchain.vectorstores import FAISS
from langchain.embeddings import HuggingFaceEmbeddings
embeddings = HuggingFaceEmbeddings(model_name="intfloat/e5-mistral-7b-instruct")
vectorstore = FAISS.load_local("wiki_index", embeddings)
docs = vectorstore.similarity_search("как настроить VPN", k=5)
response = llm.generate(f"Контекст: {docs}\nВопрос: {query}")
Результат: Юджин выдаёт точный ответ с цитатой из документа за 2–3 секунды. Сотрудники просто пишут в Telegram-бота: «Как создать тикет в Jira?» — и получают пошаговую инструкцию.
Выводы
- RAG эффективнее семантического поиска — LLM достраивает контекст, а не просто ранжирует документы.
- Для RU-разработчиков ключевое — качество эмбеддингов и чанкинг: плохая разбивка ломает ответы.
- Система окупается за счёт экономии времени: поиск сократился с 10 минут до 3 секунд, нагрузка на саппорт упала на 40%.
Нужна такая автоматизация? Обсудить проект в Telegram: https://t.me/Cvister0