Как собрать дешёвого мультимодального ИИ-ассистента на OpenRouter с русскими эмбеддингами

  Разберёмся, как собрать ИИ-ассистента на OpenRouter, который отвечает на русские вопросы по своей базе знаний, понимает картинки и стоит копейки. Это финальный кейс серии, где сходится всё пройденное: один ключ, дешёвая модель, русскоязычные эмбеддинги и мультимодальность. Соберём рабочий прототип, прогоним его на стенде и замерим стоимость и скорость. Весь...

OpenRouter или LiteLLM — что выбрать?

  Разберёмся, OpenRouter или LiteLLM что выбрать, и где вообще проходит граница между облачным роутером, self-hosted слоем, прямым API провайдера и российскими шлюзами. Универсального ответа нет, у каждого варианта своя ниша. В статье трезво сравним подходы, покажем LiteLLM в деле и выведем простую схему выбора. Это заключительный материал серии, поэтому...

Как обеспечить приватность данных в OpenRouter

  Разберёмся, как обеспечить приватность данных в OpenRouter и держать доступ под контролем в команде. Для бизнеса это два главных вопроса к любому LLM-шлюзу: не утекут ли промпты и как ограничить, кто и сколько может тратить. OpenRouter отвечает на оба набором инструментов: политики данных и ZDR, свой ключ провайдера по...

Федерация данных StarRocks и ClickHouse

  Выбор между StarRocks и ClickHouse часто ставят как или-или. Но зрелый ландшафт данных строят иначе: две базы не конкурируют, а дополняют друг друга. ClickHouse отлично держит холодные петабайты логов и событий, а StarRocks выступает вычислительным слоем для сложных ad-hoc запросов BI. Связать их позволяет федерация данных. В этой статье...

Как генерировать изображения, аудио и видео через OpenRouter одним ключом

  Разберёмся, как генерировать изображения и аудио через OpenRouter одним ключом, а заодно распознавать речь и запускать генерацию видео. Идея та же, что и с текстом: один базовый адрес, один ключ, разные модальности. Не нужно поднимать отдельный Whisper-сервер, плодить SDK и держать по счёту у каждого поставщика. В статье пройдём...

Как использовать tool calling в OpenRouter: функции, JSON-схема и агенты

  Разберёмся, как использовать tool calling в OpenRouter, чтобы модель не просто болтала, а вызывала ваши функции и отвечала строго по схеме. Это тот шаг, после которого из чат-бота получается рабочий агент. В статье соберём вызов функций, многошаговый цикл и строгий JSON по схеме. Покажем и Response Healing, который чинит...

Асинхронные материализованные представления в StarRocks

Типичное хранилище со временем обрастает зоопарком витрин. Десятки скриптов на cron пересчитывают агрегаты, гоняют одни и те же джойны по кругу и жгут процессорное время. Часть этой работы можно убрать внутрь самой СУБД. В StarRocks для этого есть асинхронные материализованные представления, которые обновляются по расписанию и инкрементально, по одной партиции....

Как подключить OpenRouter в n8n без кода — flow, смена модели и мультимодальность

  Разберёмся, как подключить OpenRouter в n8n и собрать рабочий сценарий без единой строки кода. n8n это open-source платформа автоматизации, где логика собирается из узлов на визуальном холсте. OpenRouter отдаёт всё через OpenAI-совместимый API, поэтому подключается он в пару полей. В статье соберём контентный флоу, покажем, как через один ключ...

Потоковая загрузка из Kafka в StarRocks через Routine Load

Аналитика реального времени начинается с того, что данные попадают в хранилище с минимальной задержкой после появления в источнике. Для StarRocks таким мостом из Apache Kafka служит Routine Load, встроенный механизм непрерывной загрузки потока прямо в таблицу. В этой статье соберем рабочий пайплайн: продюсер шлет JSON-события заказов в Kafka, а StarRocks...

Как экономить токены в OpenRouter: кэш, липкая маршрутизация, каскад и субагенты

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

Настройка Cost-Based Optimizer в StarRocks

  Один и тот же SQL-запрос в StarRocks может выполниться за секунды или упасть по памяти. Разница не в железе, а в плане, который построил оптимизатор. За выбор плана отвечает Cost-Based Optimizer, а его точность целиком зависит от статистики данных. В этой статье разберем, как StarRocks собирает статистику, как читать...

Как настроить маршрутизацию провайдеров в OpenRouter: сортировка, порядок и fallback

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

On line аналитика: как строить хранилище, которое пишет и считает одновременно. Примеры StarRocks vs. ClickHouse

Наша школа проводит открытый вебинар по теме: "On‑line аналитика: как строить хранилище, которое пишет и считает одновременно" . Узнайте, как объединить потоковую загрузку и быстрые аналитические запросы без компромиссов, какие технологии реально работают в production и как строится потоковая архитектура (CDC → Kafka → Flink → StarRocks → BI). Приглашаем...

StarRocks против ClickHouse: архитектура и выбор СУБД для аналитики нормализованных данных

  Инженеры данных часто спорят, какая колоночная СУБД быстрее. Спор бессмысленный без контекста нагрузки. ClickHouse и StarRocks решают разные задачи, хотя обе относятся к классу аналитических OLAP-движков. В этой статье мы разберем их архитектуру, покажем разницу в обработке соединений таблиц и соберем локальный стенд для честного нагрузочного теста на нормализованной...

Как начать работать с OpenRouter: ключ, первый запрос и оплата из России

  Чтобы понять, как начать работать с OpenRouter, хватит одного вечера и небольшого баланса. OpenRouter это единый OpenAI-совместимый роутер, где одним ключом доступны десятки моделей от разных провайдеров. В статье мы пройдём весь путь от регистрации до первого живого ответа модели. Отдельно и без прикрас разберём оплату из России. Именно...

Изучаем Apache Kafka с нуля. Урок 32. connect-distributed.sh: Kafka Connect в distributed-режиме

В уроке 31 мы разобрали standalone-режим Kafka Connect. Один процесс, конфигурация в файлах, офсеты на диске. Удобно для разработки, но в production такое не ставят: упал воркер — встали все коннекторы, и подхватить их некому. Distributed-режим решает именно это. Несколько воркеров объединяются в группу по group.id и синхронизируются через Kafka-топики....

Изучаем Apache Kafka с нуля. Урок 31. connect-standalone.sh: Kafka Connect в standalone-режиме

  В уроке 30 разобрали MirrorMaker 2 - инструмент для репликации топиков между кластерами. Там мы мельком упоминали, что MM2 построен поверх Kafka Connect. Теперь пришло время разобраться с самим фреймворком. Kafka Connect - это слой интеграции, который берёт на себя всю рутину переноса данных между Kafka и внешними системами....

Изучаем Apache Kafka с нуля. Урок 30. MirrorMaker: репликация между кластерами

  В уроке 29 мы разобрали kafka-consumer-perf-test.sh — как измерить скорость чтения, интерпретировать вывод и подбирать параметры консьюмера. Получили полную картину: есть цифры продюсера, есть цифры консьюмера, узкое место теперь видно. Следующий логичный вопрос: а что делать, если кластеров несколько? DR-окружение, географически распределённые датацентры, изоляция окружений prod и staging —...

Изучаем Apache Kafka с нуля. Урок 29. kafka-consumer-perf-test.sh

  В уроке 28 мы разобрали kafka-producer-perf-test.sh: как гнать синтетическую нагрузку в топик, читать перцентили латентности и подбирать параметры продюсера. Получили цифры на стороне записи. Но у любого потока данных есть вторая сторона - чтение. И там своя картина. Узкое место системы не всегда продюсер. Часто потребитель не успевает за входящим...

Изучаем Apache Kafka с нуля. Урок 28. kafka-producer-perf-test.sh

  В уроке 27 мы разбирали kafka-verifiable-producer.sh и kafka-verifiable-consumer.sh - утилиты, которые показывают каждое отправленное и полученное сообщение в виде JSON. Они хороши для отладки: видно, что именно ушло, какой офсет получили, есть ли потери. Но если нужно понять не "что" отправляется, а "как быстро" и "с какой задержкой" -...