AIGENTTO
372 subscribers
58 photos
7 videos
2 files
57 links
ИИ-агенты и RAG системы для бизнеса. Автоматизация сотрудников и процессов. Снижение ФОТ. Выявление намерений клиентов и продажи в ИИ-агентах.
Download Telegram
На картинках структуры проектов 1,2,3 и тестирование fallback в п.3 🔨

Подпишись 👉🏻 @aigentto 🤖
👍2
Media is too big
VIEW IN TELEGRAM
Попробовал фреймворк для LLM, который может шустро работать даже на CPU.

На моем MacBook M3, кажется, он задействовал и GPU, но скорость реально выше.

Теперь для «параноиков», которые не хотят, чтобы даже 1 байт информации их компании передавался во внешние LLM, можно собрать RAG и ИИ-агентов даже на компьютере вашего бухгалтера 😀

Одно НО: необходимо приводить модели к 1-битному формату — то есть любые модели сюда не прикрутишь без танцев с бубнами. Но постепенно таких моделей становится все больше 🔥

Подпишись 👉🏻 @aigentto 🤖
После эксперимента с созданием App одним промтом, попробовал bolt.new.

Выглядит многообещающе для создания веб-приложений или, по крайней мере, очень хороших прототипов с нуля.

Он также может создавать приложения из FIGMA💡 Будем пробовать пилить прототипы фичей из экранов FIGMA 💣

В нем есть CI для развертывания приложений 🥁

Я реально смог создать клон Trello с помощью одного запроса 🤯

Подпишись 👉🏻 @aigentto 🤖
🔥2
Вышла новая статья "Как сделать RAG для своей компании" на HABR 👏

В приложении полная картинка шагов построения RAG системы ⚡️

Подпишись 👉🏻 @aigentto 🤖
👍3
Попробовал генерацию видео аватаров. С помощью Python библиотек SadTalker, Wav2Lip, и еще одной магической библиотеки.
Попробуйте определить где живой человек, а где генерация

Генерация на локальном MacBook M3, минут 20 занимает за 8 секунд видео. В облаке на GPU в сотни раз быстрее.

Очень увлекательно, но теперь думаю - а как это применить в бизнесе? С RAG, ИИ-агентами применение понятно, а тут? 🤔

Подпишись 👉🏻 @aigentto 🤖
Если ваш ИИ-сгенерированный контент пессимизируется поисковиками, то проверьте его на ватермарки. ИИ-сгенерированный контент лучше чистить 🧹

Например, ИИ от OpenAI оставляет скрытые ловушки (ватермарки) в тексте - o4-mini и o3 прячут коды неразрывного пробела в формате Unicode 🥷

Они не видны в большинстве редакторов, но их можно найти, например таким скриптом.

Подпишись 👉🏻 @aigentto 🤖
Полезный AI генератор описания проекта git 👉 PocketFlow 👈 Выполняет то, что разработчики обычно делать не любят: генерирует очень хорошее описание каждого файла и общую диаграмму связей в формате Mermaid. GitHub и GitLab рендерят диаграму прямо внутри репозитория 🔥

Подключить можно любую LLM, и генерить на любом языке описание. Я пробовал с Gemini 2.5, отлично получилось.

Очень полезно для новых разработчиков на проекте: помогает понять, как всё работает, не отвлекая коллег 🧐 И для рефакторинга тоже полезен 🤔

Подпишись 👉🏻 @aigentto 🤖
👍21
Audio
Подкаст на основе последней статьи по теме "Как сделать RAG систему для своей компании". Для тех кому проще послушать, чем читать.

Сделано на основе https://notebooklm.google.com, очень удобно. Я, когда большую статью лень читать, делаю такой подкаст и слушаю, когда бегаю. Любая тема, озвученная в ролях, намного легче заходит, потом всегда можно посмотреть в статье точечно то, что заинтересовало. Рекомендую

Подпишись 👉🏻 @aigentto 🤖
👍3🔥3
Ограничения инфраструктуры OpenAI

Сейчас помогаем делать RAG-систему для одной российской компании, которая уже использует OpenAI. Хотели перевести всё на рельсы AI Assistants + vectorstore, но передумали...

Дело в том, что у ребят есть довольно хорошая схема сбора обратной связи: после каждого ответа боту в Telegram можно поставить like или dislike. Это, в свою очередь, меняет вес для выбранных векторов по запросу - либо понижает (dislike), либо повышает (like).

Сделать подобную манипуляцию в OpenAI vectorstore нельзя - это blackbox. Туда можно только загрузить данные, а управлять выборкой будет сам OpenAI, что удобно, но лишает вас тонкой настройки.

А фича сбора обратной связи очень полезная, поэтому будем делать локальную векторную БД. При этом будем использовать OpenAI Assistants, скармливая ему выборку векторов, веса которых мы будем менять в зависимости от обратной связи пользователей.

Таким образом, у нас будет память от OpenAI (threads) и разбивка по ассистентам, что позволит избежать использования других фреймворков типа LangChain и AutoGen.

Берём лучшее из возможного, и всегда помним о ключевом принципе инженерии - best part is no part (лучшая часть - это отсутствие этой части).

Подпишись 👉🏻 @aigentto 🤖
👍31
В создании ассистентов и RAG-систем очень важно понимать цель — от этого сильно зависят архитектура и инструменты.

Из цели вытекают наши явные и неявные потребности, под которые подбираются соответствующие инструменты. Если для вас критична скорость ответа (секунды), использовать OpenAI Assistant — не лучший вариант. Лучше локальная векторная база данных и быстрая модель. В этом случае придётся самостоятельно реализовать локальное хранение данных и другие компоненты — кода будет значительно больше, а поддержка сложнее.

Например, если мы делаем клона сотрудника или команды, можно использовать OpenAI Assistants вместе с OpenAI vectorstore, обновляя vectorstore раз в день или чаще. Ведь мы не ожидаем, что реальный сотрудник ответит на сообщение в Slack за 2 секунды, поэтому подождать 5–20 секунд вполне нормально.

Второй пример: если мы делаем WikiBot или JIRABot, который должен интерактивно искать по Wiki или JIRA, здесь важна актуальность постоянно меняющейся информации. При этом подождать качественного ответа 5–20 секунд тоже приемлемо.

Если же данные RAG-системы почти не меняются (обновляются редко), актуальность не так важна, а объём данных небольшой (например, система адаптации нового сотрудника), но хочется, чтобы бот отвечал быстро (1–3 секунды), а пользователей тысячи, инфраструктура OpenAI Assistant может не подойти — это «чёрный ящик», в том числе по скорости.

Но можно реализовать семантический кэш: бот будет задумываться только при первом обращении с новым вопросом, а затем брать ответ из кэша, не обращаясь к Assistant.

Если же актуальность критична, документов и пользователей много, и требуется быстрый ответ — OpenAI не подходит совсем. Здесь лучше использовать локальный фреймворк, например, LangChain.

Подпишись 👉🏻 @aigentto 🤖
👍5🔥1
Если уже всё оптимизировали, но задержка ответа даже на 2-3 секунды критична, то переходим на streaming.

Дело в том, что все LLM генерируют текст последовательно (по токенам), и можно получать его либо как уже готовый результат, либо в процессе генерации. И выдавать его в адаптер (например, Telegram) в реальном времени. Тогда по сути будет иметь значение не полное время ответа, а только время реакции LLM, то есть время до начала генерации; дальше пользователь уже может читать ответ.

Узким местом здесь обычно становится адаптер (в нашем случае Telegram): выдавать посимвольно не получится, так как мы быстро упрёмся во flood limit, поэтому выдаём текст кусками на максимуме того, что может передать целевой адаптер.

Фактически здесь мы улучшаем скорость за счёт изменения UX.

Подпишись 👉🏻 @aigentto 🤖
2