Обновить
26

Пользователь

17
Подписчики
Отправить сообщение

RAG или умный поиск по документам: как это работает

Уровень сложностиСредний
Время на прочтение10 мин
Охват и читатели7.8K

Хотите за секунды находить точный ответ в сотнях закрытых корпоративных PDF, Excel и презентаций, вместо того чтобы часами копаться в «мусорном» поиске по ключевым словам?

В статье разберем новую архитектуру RAG — система, которая сначала молниеносно находит нужные куски документов по смыслу, а потом объясняет их человеческим языком строго по источникам, практически без галлюцинации.

В статье мы раскрыли всю «кухню» от семантической нарезки и эмбеддингов до HyDE, RRF и итеративного поиска — читайте и сразу пробуйте своего супербота на pro-talk.ru!

Читать далее

VLESS на роутере с OpenWRT

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели31K

Небольшая инструкция по установке VPN (протокол VLESS), на роутер с операционной системой OpenWRT с использованием пакета Passwall

Читать далее

Почему нам пришлось превратить нормативные документы в граф, а не просто загрузить их в векторную базу

Время на прочтение7 мин
Охват и читатели8.3K

Когда говорят про RAG, обычно имеют в виду довольно прямую схему: взять документы, нарезать их на фрагменты, посчитать эмбеддинги, сложить всё в векторную базу и поверх этого подключить LLM. На демо это часто работает. Иногда работает и на корпоративных данных. Но на нормативных документах такой подход очень быстро начинает сыпаться.

Мы увидели это на практике, когда строили систему для работы с нормативкой. Сначала задача выглядела стандартно: есть документы, есть вопросы пользователей, есть поиск по смыслу. Значит, нужен обычный RAG. Но довольно быстро стало ясно, что главная проблема здесь не генерация. Главная проблема в том, как представить документ так, чтобы retrieval не разрушал его структуру и смысл.

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

Читать далее

Двузвенный VPN. Любителям велосипедов посвящается

Уровень сложностиСредний
Время на прочтение8 мин
Охват и читатели17K

На Хабре нередко появляются статьи типа "я хотел настроить <черный ящик>, не углубляясь в доки подергал за рычаги и у меня всё получилось, сейчас я научу вас как надо". Не смотря на неэкспертный технический уровень они нередко вызывают интерес и бурные дискусии. Поэтому я решил вам рассказать про сисадмина Васю, который решил настроить себе двухзвенный VPN из подручных средств не выходя далеко за пределы Хабра.
UPD: добавил настрокий policy based routing, без nginx/network namespace

Читать далее

Gemini Embedding 2 + мультимодальный RAG: эмбеддим видео и картинки — разбор и туториал

Уровень сложностиПростой
Время на прочтение15 мин
Охват и читатели8.8K

10 марта Google выкатил Gemini Embedding 2 - embedding-модель, которая умеет превращать в векторы не только текст, но и картинки, видео, аудио и PDF. Причем все это ложится в одно векторное пространство. Раньше если вы хотели искать по видеобиблиотеке через RAG, приходилось городить огород: транскрибировать аудиодорожку, описывать кадры через Vision LLM, склеивать в текст, и только потом эмбеддить. Каждый шаг - потеря информации. Теперь можно скормить модели MP4 напрямую, и текстовый запрос «как настроить авторизацию» найдёт и статью из базы знаний, и фрагмент видеоинструкции.

Но сама по себе модель не решает проблему. LLM не может «прочитать» MP4, поэтому найденное видео без текстового описания - может быть бесполезно. Ключ - в правильной архитектуре: нативный эмбеддинг для поиска + параллельная генерация текстового описания для LLM: два канала, которые работают вместе и выводят мощь RAG наполную катушку.

В этой статье разберем что нового в Gemini Embedding 2 и построим полноценный мультимодальный RAG с нуля - Python, Supabase, Gemini API.

P.S. С кодом.

Читать далее

Доступ к домашнему серверу без белого IP: reverse SSH tunnel через autossh + Xray

Уровень сложностиСредний
Время на прочтение3 мин
Охват и читатели19K

Иногда нужно получить SSH-доступ к домашнему серверу (ноутбуку или мини-серверу на Ubuntu), который находится за NAT/CGNAT провайдера. Публичный IPv4 отсутствует, а использовать VPN или облачные туннели (ngrok, Cloudflare Tunnel и т.п.) не хочется.

Один из простых способов — обратный SSH-туннель с помощью autossh + проксирование через уже существующий Xray-клиент (VLESS + Reality), который и так работает для выхода в интернет.

Читать далее

Как я в одиночку начинаю IoT-стартап на Rust в Бразилии

Уровень сложностиСредний
Время на прочтение15 мин
Охват и читатели21K

Начну с короткого рассказа, как я докатился до жизни такой ) Меня зовут Егор, мне 28. У меня нет диплома программиста, нет опыта работы в IT и нет ни одного коммерческого проекта в резюме. Зато я всю жизнь очень любил железо — буквально с детства, будучи ещё в детском саду, я чинил себе джойстики на Sega, а потом на PS1. В школьные годы открыл для себя сначала Ucoz, потом Wix, Tilda, WordPress, и уже к институту освоил React. Но так сложилось, что это для меня всегда было просто хобби — как и собирать себе датчики для дома: датчики влажности, открытия дверей и т.д. ))

Возможно, я бы мог стать программистом и зарабатывать приличные деньги, но учился в школе с военным уклоном, а после школы стал предпринимателем — занимались производством металлоконструкций и мебели ) После череды ссор с партнёром стал аккаунт-менеджером в Достависте, и отработал там славные 4 года (и по вечерам програмировал мечтал об магазине аля САМОКАТ ), что, собственно, и позволило мне отправиться в Грузию в 2021 году перезимовать и познакомиться с будущей женой.

Грузия, которая не случилась

Жили в Грузии, всё было кайф. Купил там квартиру не в центре Батуми, буквально на кредитку(было так дешево ), в начале 2022 года — до начала событий . Август 2025. Мы с женой (беременной, она грузинка) пошли в Турцию на визаран — так как ПМЖ мне не давали, а давали справку о том, что я «угроза нац. безопасности». На границе меня разворачивают — аргументируя тем, что я слишком долго туристом у них живу.

Месяц живу в Турции, жена быстро всё продаёт. В Россию не хочется — у меня повестки висят и ничего в России кроме родственников нет. Решили поехать туда, где паспорт по рождению ребёнка и не слишком дорого. Так и выбрали Бразилию.

Читать далее

Почему `SUM() OVER (ORDER BY ...)` иногда считает «неправильно»: разбираем оконные фреймы в SQL

Уровень сложностиПростой
Время на прочтение9 мин
Охват и читатели11K

Почему SUM() OVER (ORDER BY ...) иногда даёт неожиданный результат, даже когда запрос синтаксически правильный? В статье на практических примерах разбираю, как работают оконные фреймы в SQL, чем отличаются ROWS, RANGE и GROUPS, где чаще всего возникает путаница и как писать накопительные итоги и скользящие метрики без сюрпризов. Если используете оконные функции в аналитике, этот разбор поможет сделать их поведение предсказуемым и управляемым.

Читать далее

Как я перестал переключать раскладку ради одного символа: Прокачиваем русскую клавиатуру в Windows для Markdown и кода

Уровень сложностиПростой
Время на прочтение3 мин
Охват и читатели18K

Стремительное развитие ИИ в последние годы привело к невиданному росту популярности Markdown. Почти все современные LLM — от ChatGPT до Claude — по умолчанию выдают ответы в этом формате. Мы привыкли оформлять в нем заметки в Obsidian, писать промпты, вести документацию в GitHub и общаться в рабочих мессенджерах. Markdown стал «лингва-франка» современного интернета.

Но есть одна проблема. Использовать Markdown с русским языком — это боль.

Вам нужно поставить заголовок? Alt+Shift -> # -> Alt+Shift обратно. Нужно выделить код? Снова чечётка по клавишам переключения раскладки. Стандартная русская раскладка в Windows будто застряла в прошлом веке. Клавиша Shift+3 выдает нам символ , который в 2024 году нужен крайне редко, в то время как жизненно необходимые решетки, собаки и скобки заставляют нас постоянно прыгать между языками.

Я решил эту проблему для Windows с помощью небольшого скрипта на AutoHotkey (v2).

Читать далее

Как ТСПУ ловит VLESS в 2026 и почему XHTTP — следующий шаг

Уровень сложностиСредний
Время на прочтение7 мин
Охват и читатели220K

Разбор методов детекции, которые работают прямо сейчас. JA3/JA4-отпечатки, поведенческий анализ и архитектура XHTTP, которая закрывает именно эти дыры

Если твой VLESS+Reality сервер лёг в последние месяцы — ты не один. В сообществах фиксируют волны блокировок, которые раньше не достигали хорошо настроенных Reality-серверов. Что конкретно изменилось, как это устроено на уровне алгоритмов — и почему XHTTP сейчас выглядит как правильный следующий шаг.

Читать далее

После блокировки мессенджеров Matrix стал единственной альтернативой?

Уровень сложностиСредний
Время на прочтение7 мин
Охват и читатели160K

Как известно, в РФ почти полностью заблокировали почти полностью заблокировали WhatsApp, а будущая работа Telegram под вопросом. Звонков уже не осталось, только текстовые сообщения, передача файлов тормозит. Судя по всему, начался шейпинг трафика. А если эффективен шейпинг, то сработает и полная блокировка, которую планируют в первых числах апреля, по слухам от РБК.

У нас остаётся всё меньше рабочих способов общения. Если отбросить совсем странные варианты вроде Google Docs или Max, то самая оптимальная альтернатива — это опенсорсные мессенджеры, такие как XMPP (Jabber) и Matrix/Element. Для максимальной надёжности такого общения в федеративной сети желательно поднять свой собственный сервер. Это можно сделать на домашнем сервере или VPS.

Тема актуальна в том числе для закрытых сообществ, которые раньше общались в группах Telegram, WhatsApp* и Viber. Родственники, корпоративные рабочие команды, домовые чаты, игровые сообщества и др. Теперь их можно перенести в Matrix/Element на своём сервере.

*Принадлежит корпорации Meta, которая признана экстремистской на территории России.

Читать далее

Синхронизируем Obsidian быстро, безопасно, удобно и бесплатно

Уровень сложностиСредний
Время на прочтение4 мин
Охват и читатели17K

гайд по синхронизации obsidian vault через git с шифрованием через git-crypt и gpg (заметки хранятся на сервере в зашифрованном виде, локально обычный markdown )

Читать далее

Семь игр на «ведроид», которые не захочется удалять

Уровень сложностиПростой
Время на прочтение17 мин
Охват и читатели37K

Для начала — всем привет!

Раз за разом, то тут, то там я натыкаюсь на мнение, мол, мобильные игры — донатная помойка. Так как я сам много играю в мобилки, то этот тезис я хочу разбить с помощью поста про тягачи, этого поста (а если он «выстрелит» — и других).

Список поигранных мобилок у меня большой, а значит выбор трудный. Но я его сделал. Для начала я выбрал несколько (точнее — семь штук) классных игр, в которые играю; они являются поделками одной и той же компании — Home Net Games.

Читать далее

Цифровой суверенитет в кармане: почему пора поднять свой Matrix-сервер, пока мессенджеры лихорадит

Уровень сложностиПростой
Время на прочтение7 мин
Охват и читатели40K

(В статье описывается простой и безопасный способ поднятия собственного Matrix Synapse сервера с компонентами web интерфейса пользователя и видеосвязи на основе opensource скрипта. Статья состоит из 2-х частей, теоретической и практической. Если вы сразу понимаете о чем речь, чтобы сэкономить время можете сразу перейти к практической части.)

Matrix Synapse (эталонная реализация сервера) предлагает уровень безопасности, который многим коммерческим продуктам только снится. Сквозное шифрование (E2EE) на базе протоколов Olm и Megolm обеспечивает приватность не только один на один, но и в групповых чатах. При этом ключи шифрования хранятся только на ваших устройствах, а не на сервере. Даже если кто-то получит доступ к базе данных вашего Synapse, он увидит там лишь нечитаемый шум.

Федерация — киллер-фича протокола. Это работает как электронная почта: вы можете иметь адрес на matrix.my-company.ru и спокойно писать пользователю на matrix.org. Это создает глобальную сеть без единой точки отказа и единого цензора. Если один сервер или целый сегмент сети заблокируют, остальная сеть продолжит жить. Для бизнеса это означает возможность строить защищенные каналы связи с партнерами, сохраняя данные внутри своего контура сети.

Читать далее

Умная колонка своими руками

Уровень сложностиСредний
Время на прочтение13 мин
Охват и читатели37K

В этой статье я расскажу, как сделать своими руками две умные колонки, полностью поддерживающие русский язык:

1) На микроконтроллере esp32s3, используя XiaoZhi

2) На Raspberry Pi автономную голосовую колонку с камерой, которая будет работать и распознавать всё, что не только слышит, но и видит перед собой, даже при отсутствии Интернета! С локально запущенными моделями ИИ, связка Ollama+Gemma3:1b+Moondream+OpenWakeWord+Whisper.cpp+Silero TTS

А также расскажу, как подключить обе эти колонки к Home Assistant для управления устройствами умного дома.

Читать далее

Как я создала локального AI-ассистента для системного аналитика: от Telegram-бота до полноценного помощника (часть 1)

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели9.7K

Привет! Меня зовут Фаина, я системный аналитик с опытом более 5 лет. В последнее время все чаще стала задумываться как системному аналитику в текущих реалиях применять в работе ИИ. Так началось мое погружение в увлекательный мир LangChain, ИИ, RAG и векторные БД.

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

Читать далее

Параллельный поиск в PostgreSQL: Погружение в архитектуру и производительность pg-smart-search SDK

Уровень сложностиСредний
Время на прочтение8 мин
Охват и читатели6.1K

Многие проекты рано или поздно утыкаются в «потолок» стандартного поиска. Обычный LIKE перестает справляться, когда данных становится больше 100 тысяч строк, а пользователи начинают ошибаться в каждом втором слове. Типовым решением в такой ситуации считается внедрение Elasticsearch или Meilisearch.

Но внешние движки — это всегда «налог» на инфраструктуру: лишняя память, задержки на сетевой хоп и, самое главное, головная боль с синхронизацией данных. В этой статье мы разберем, как выжать из PostgreSQL производительность специализированного поисковика, используя Node.js как оркестратор параллельных стратегий и механизм AbortSignal для предотвращения лишней нагрузки на БД. Разбираем внутреннее устройство SDK pg-smart-search.

Читать далее

Я заменил Google на 50 строк Python. Через месяц я забыл, как пишется tar -xzf

Уровень сложностиПростой
Время на прочтение8 мин
Охват и читатели90K

Десять лет в девопсе. Десять. И я гуглю tar -xzf. Не раз в год — раз в неделю. Ну, может раз в десять дней, если повезёт. Открываю хром, набираю «tar extract gz linux», пролистываю три рекламы, нахожу ответ на SO, копирую, вставляю, закрываю вкладку. Через неделю — по новой.

Я не идиот. Точнее, может и идиот, но не поэтому. Просто tar — это такой синтаксис, который у меня физически отказывается залезать в долговременную память. Там дефис или нет? xzf или xfz? Или zxf? Вроде порядок не важен? Или важен?..

Короче. Месяц назад я написал скрипт, который это решил. А потом скрипт решил больше, чем я хотел.

Читать далее

Что такое API Gateway: 10 главных функций и роль в архитектуре микросервисов [полный гайд]

Уровень сложностиСредний
Время на прочтение9 мин
Охват и читатели15K

Микросервисная архитектура уже давно стала нормой для IT-продуктов. И одну из центральных ролей в таком подходе занимает API Gateway.

В этой статье разберём, что такое API Gateway, зачем он нужен в микросервисной архитектуре, какие 10 ключевых функций он выполняет, и является ли он потенциальной точкой отказа в системе.

Внутри вы найдёте много картинок и примеров схем архитектуры, чтобы объяснения были максимально понятными.

Материал будет полезен системным аналитикам, начинающим архитекторам, разработчикам и тестировщикам, особенно при подготовке к собеседованиям в продуктовые компании.

Оглавление:
Что такое API Gateway
10 главных функций API Gateway
Виды API Gateway
API Gateway - центральная точка отказа
Примеры схем архитектуры с API Gateway в нотации C4 (и не только)
Заключение и полезные ссылки

Читать далее

Увольняем джуниора: автоматизируем анализ данных c Claude Code, Codex, Cursor, OpenCode

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели24K

Вспомните, как вы онбордили аналитика: показывали данные, примеры рабочих SQL, неочевидные легаси и костыли — и через какое-то время он начинал перформить самостоятельно.

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

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

Статья будет полезна как предпринимателям, которые хотят оптимизировать процессы, так и аналитикам, которые хотят прокачать себя. Погнали!

Уволить

Информация

В рейтинге
Не участвует
Работает в
Зарегистрирован
Активность