RAG для аналитика: от парсера вакансий до голосового бота
Продолжение. В первой части я рассказала, как собрала n8n-оркестратор, который парсит вакансии и раскладывает их по Google Таблице. Это был мой первый AI-агент, и меня зацепило. Теперь — о том, как я доросла от парсера до голосового ассистента с базой знаний, и почему начинаю говорить «наш проект» вместо «мой».
Зачем мне это. Оркестратор закрывал утилитарную задачу, но мне захотелось инструмент, который не просто разбирает текст, а отвечает на вопросы по знаниям. Личный мотив: сын спрашивает меня про динозавров, а я не эксперт 🫣Прагматичный: рынок сейчас требует RAG, векторные БД и AI-агентов, а из статей это понимается плохо — я быстрее учусь, когда собираю под свою боль 🦖🦕
Что получилось. Голосовой RAG-ассистент. Пайплайн: база знаний режется на чанки, эмбеддинги через YandexGPT API, векторы хранятся в Qdrant. Вопрос приходит голосом — SpeechKit распознаёт, ассистент ищет релевантный контекст, генерирует ответ строго по найденным кускам и озвучивает его. Если в базе ничего не нашлось — честно говорит «не знаю», вместо того чтобы выдумывать. Сверху — две роли ответа: детская и взрослая, один вопрос но разный тон и глубина; детский сценарий включается кодовой фразой «Динозавры, вперёд!». Демо публичное, код на GitHub, и там прямо написано, кто что делал.
Как я училась. Что «модель умная» не равно «модель надёжная». Без retrieval она уверенно выдумывает; с retrieval отвечает по фактам, но надо настраивать: размер чанка, перекрытие, порог релевантности, фолбэк. Что качество измеряется метриками, а не ощущениями: на реальных вопросах у меня Accuracy@1 — 50%, Accuracy@3 — 70%, не идеально, зато есть что улучшать. И что API LLM — такая же интеграция, как любая другая: контракты, обработка ошибок, ретраи — тут неожиданно пригодился мой опыт системного аналитика.
Как мы работали. В первой части я писала: AI-ассистент был моим парным программистом. С RAG это превратилось в настоящую команду: я — продуктовый владелец и системный аналитик, ассистент — разработчик. Я придумала роли и логику переключения, описала контракты API и сценарии ошибок, собрала базу знаний, тестировала на вопросах сына и считала метрики. Ассистент писал код по моим спецификациям и объяснял решения. Я поймала себя на том, что всё чаще говорю «наш проект» вместо «мой». Сначала насторожилась: не прячусь ли я за машинкой? Нет — это просто честно. Решения и ответственность — мои, работа — наша.
Что дальше. Загрузка собственных библиотек drag-and-drop, панель владельца и агент для пользователей, статья на Хабре.
Продолжаю делиться 🫡
· 7 ч
Интересно) А агент просто складывает вакансии в таблицу? Или каким-то образом отбирает по релевантности, фильтрам и т.д.?
0
ответить
коммент скрыт — часть юзеров считает его токсичным или некорректным
коммент удалён
· 3 ч
Мне нужен был инструмент, который просто складывает вакансии в таблицу. В итоге, агент читает текст и раскладывает по полочкам: должность, зарплата, ключевые навыки и выдает оценку (соответствие моему профилю от 1 до 10). Функционально и AI оркестратор на практике изучила.
0
ответить
коммент скрыт — часть юзеров считает его токсичным или некорректным
ответ удалён