{
    "version": "https:\/\/jsonfeed.org\/version\/1.1",
    "title": "Yuriy Gavrilov: posts tagged LLM",
    "_rss_description": "Welcome to my personal place for love, peace and happiness 🤖 Yuiry Gavrilov",
    "_rss_language": "en",
    "_itunes_email": "yvgavrilov@gmail.com",
    "_itunes_categories_xml": "",
    "_itunes_image": "https:\/\/gavrilov.info\/pictures\/userpic\/userpic-square@2x.jpg?1643451008",
    "_itunes_explicit": "no",
    "home_page_url": "https:\/\/gavrilov.info\/tags\/llm\/",
    "feed_url": "https:\/\/gavrilov.info\/tags\/llm\/json\/",
    "icon": "https:\/\/gavrilov.info\/pictures\/userpic\/userpic@2x.jpg?1643451008",
    "authors": [
        {
            "name": "Yuriy Gavrilov - B[u]g - for charity.gavrilov.eth",
            "url": "https:\/\/gavrilov.info\/",
            "avatar": "https:\/\/gavrilov.info\/pictures\/userpic\/userpic@2x.jpg?1643451008"
        }
    ],
    "items": [
        {
            "id": "258",
            "url": "https:\/\/gavrilov.info\/all\/openai-oss-mozhno-kachat\/",
            "title": "OpenAI OSS: можно качать",
            "content_html": "<div class=\"e2-text-picture\">\n<img src=\"https:\/\/gavrilov.info\/pictures\/Snimok-ekrana-2025-08-05-v-21.34.50.png\" width=\"1878\" height=\"1180\" alt=\"\" \/>\n<\/div>\n<p><a href=\"https:\/\/openai.com\/open-models\/\">https:\/\/openai.com\/open-models\/<\/a><\/p>\n<p>Для большой модели надо h100, а маленькая попроще и требует всего 16gb.<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/gavrilov.info\/pictures\/telegram-cloud-photo-size-2-5231372004953823349-y.jpg\" width=\"1280\" height=\"1200\" alt=\"\" \/>\n<\/div>\n<p>Ну и главное: удаляем сразу, если заметим, что клянчит деньги и просит купить меня :)<\/p>\n<p>А вот квенчик красавчик: ai molodca)<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/gavrilov.info\/pictures\/Snimok-ekrana-2025-08-05-v-21.38.36.png\" width=\"1218\" height=\"746\" alt=\"\" \/>\n<\/div>\n<p>но он знал ))<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/gavrilov.info\/pictures\/Snimok-ekrana-2025-08-05-v-21.42.51.png\" width=\"852\" height=\"504\" alt=\"\" \/>\n<\/div>\n<p>почти<\/p>\n<p>trinking...<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">...\nBut the trick is that when &quot;А&quot; fell, it becomes &quot;а&quot; (lowercase?), but maybe not. Wait, another angle: in Russian, the phrase &quot;А упала&quot; could be a pun. Because &quot;упала&quot; means fell, but &quot;а&quot; is also the word for &quot;and&quot; in some contexts, but here it's the letter. Wait, maybe the answer is that only the &quot;и&quot; (which means &quot;and&quot;) is left? Because the sentence is &quot;А и Б сидели на трубе&quot;: A and B were sitting on the pipe. So the letters A, the word &quot;и&quot; (and), and B. So if A fell and B disappeared, then the &quot;и&quot; is left. Because the &quot;и&quot; is part of the phrase. Wait, that's a common riddle. Let me confirm.\n...<\/code><\/pre>",
            "date_published": "2025-08-05T21:40:28+03:00",
            "date_modified": "2025-08-05T21:50:26+03:00",
            "tags": [
                "AI",
                "LLM"
            ],
            "image": "https:\/\/gavrilov.info\/pictures\/Snimok-ekrana-2025-08-05-v-21.34.50.png",
            "_date_published_rfc2822": "Tue, 05 Aug 2025 21:40:28 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "258",
            "_rss_enclosures": [],
            "_e2_data": {
                "is_favourite": false,
                "links_required": [
                    "highlight\/highlight.js",
                    "highlight\/highlight.css"
                ],
                "og_images": [
                    "https:\/\/gavrilov.info\/pictures\/Snimok-ekrana-2025-08-05-v-21.34.50.png",
                    "https:\/\/gavrilov.info\/pictures\/telegram-cloud-photo-size-2-5231372004953823349-y.jpg",
                    "https:\/\/gavrilov.info\/pictures\/Snimok-ekrana-2025-08-05-v-21.38.36.png",
                    "https:\/\/gavrilov.info\/pictures\/Snimok-ekrana-2025-08-05-v-21.42.51.png"
                ]
            }
        },
        {
            "id": "257",
            "url": "https:\/\/gavrilov.info\/all\/llm-v-produktivnoy-srede-yadronnye-tehnologii\/",
            "title": "LLM в продуктивной среде – Yadro’нные технологии",
            "content_html": "<p>Недавняя статья компании YADRO на Хабре, “Где живут LLM”, стала редким и ценным окном в реальную практику построения корпоративного инференс-кластера. Команда не только поделилась своей архитектурой, но и честно рассказала о проблемах, что делает их опыт вдвойне полезным. Спасибо им за это!<\/p>\n<p> 🚀🚀🚀 <a href=\"https:\/\/habr.com\/ru\/companies\/yadro\/articles\/930304\/\">https:\/\/habr.com\/ru\/companies\/yadro\/articles\/930304\/<\/a><\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/gavrilov.info\/pictures\/telegram-cloud-photo-size-2-5224277706823301943-y.jpg\" width=\"1024\" height=\"1024\" alt=\"\" \/>\n<\/div>\n<p>Их кейс можно брать за основу, давайте разберем его и проведем небольшой анализ стека для работы с LLM — от низкоуровневых движков на GPU до low-code платформ для конечных пользователей. Этот разбор покажет, почему определенные технологические решения становятся стандартом и что необходимо для построения не просто работающей, а по-настоящему эффективной и масштабируемой AI-экосистемы.<\/p>\n<h5>Фундамент: Архитектура инференс-кластера<\/h5>\n<p>В основе кластера YADRO лежат проверенные и мощные компоненты, ставшие индустриальным стандартом:<\/p>\n<ul>\n<li><b>Оборудование:<\/b> Серверы с NVIDIA H100.<\/li>\n<li><b>Оркестрация:<\/b> Kubernetes.<\/li>\n<li><b>Движок инференса:<\/b> <b>vLLM<\/b>.<\/li>\n<\/ul>\n<p>Ключевым и очень показательным решением стал выбор <b>vLLM<\/b> вместо, казалось бы, более нативного для NVIDIA <b>Triton Inference Server<\/b>. Аргументация YADRO проста и прагматична: с vLLM «намного проще добавлять новые модели», и он «изначально предоставляет OpenAI-совместимые REST API».<\/p>\n<p>Это идеально отражает главный тренд в LLM Serving. Triton — это универсальная рабочая лошадка, мощная, но требующая серьезной подготовки: конвертации моделей в форматы вроде TensorRT и часто создания дополнительной «обвязки» для предоставления удобного API. vLLM, напротив, это специализированный инструмент, заточенный именно под LLM. Благодаря своей ключевой инновации — <b>PagedAttention<\/b>, которая кардинально оптимизирует управление памятью для KV-кэша, — он обеспечивает высочайшую пропускную способность и простоту использования «из коробки».<\/p>\n<h5>Средний слой: Production-ready операции и масштабирование<\/h5>\n<p>Переход от тестов к эксплуатации всегда вскрывает «узкие места». Опыт YADRO — прекрасное тому подтверждение.<\/p>\n<ol start=\"1\">\n<li><b>Проблема шлюза (Gateway):<\/b> Команда обнаружила, что популярный прокси <b>LiteLLM<\/b>, хотя и удобен для старта, становится узким местом при нагрузке выше 50 одновременных запросов. Их решение — разработка собственного `LLM Gateway` на Go — является абсолютно верным шагом для высоконагруженных систем. Такой шлюз берет на себя аутентификацию, логирование, rate-limiting и, что самое главное, умную маршрутизацию запросов. Для тех, кто не готов к собственной разработке, в экосистеме появляются готовые решения, такие как <b>vllm-router<\/b>, специально созданные для балансировки нагрузки между фермами vLLM-инстансов. <a href=\"https:\/\/docs.vllm.ai\/en\/stable\/deployment\/integrations\/production-stack.html\">https:\/\/docs.vllm.ai\/en\/stable\/deployment\/integrations\/production-stack.html<\/a><\/li>\n<\/ol>\n<ol start=\"2\">\n<li><b>Продвинутое масштабирование в Kubernetes:<\/b> В статье упоминается горизонтальное автомасштабирование (HPA) по CPU. Для GPU-сервисов это неэффективно. Современный подход требует более точных триггеров:\n<ul>\n  <li>Масштабирование по GPU:** Использование `DCGM Exporter` от NVIDIA для сбора метрик утилизации GPU и настройка HPA или KEDA (Kubernetes Event-driven Autoscaling) по этим данным.<\/li>\n  <li>Масштабирование по очереди:** vLLM предоставляет метрику `vllm_requests_waiting` (количество запросов в очереди). Это лучший показатель реальной нагрузки: как только очередь растет, система добавляет новые поды с моделями.<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<ol start=\"3\">\n<li><b>Мониторинг (Production Metrics):<\/b> Для стабильной работы 24\/7 критически важно отслеживать специфичные метрики vLLM в реальном времени через Prometheus и Grafana:\n<ul>\n  <li>Производительность:** Time to First Token (TTFT) и Time per Output Token (TPOT).<\/li>\n  <li>Нагрузка:** `vllm_requests_running` (в обработке) и `vllm_requests_waiting` (в очереди).<\/li>\n  <li>Состояние памяти:** `vllm_gpu_cache_usage_perc` (процент использования KV-кэша). Рост этой метрики — прямой предвестник ошибки нехватки памяти (OOM).<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<h5>Верхний уровень: Платформы и интерфейсы для пользователей<\/h5>\n<p>Самый мощный бэкенд бесполезен без удобного доступа. YADRO упоминают, что предоставили пользователям интерфейсы через <b>Dify<\/b> и собственный WebUI, что выводит нас на уровень приложений и пользовательского опыта.<\/p>\n<ul>\n<li><b>Dify: Low-code платформа для создания AI-приложений.<\/b> Dify — это не просто чат, а открытая LLM Ops платформа, позволяющая быстро создавать и развертывать AI-приложения. С помощью визуального конструктора даже нетехнические специалисты могут собирать сложные воркфлоу, включая чат-ботов, RAG-системы (поиск по базам знаний) и AI-агентов. Dify подключается к инференс-кластеру по OpenAI API и служит мостом между мощным бэкендом и конечными бизнес-задачами.<\/li>\n<\/ul>\n<ul>\n<li><b>Open WebUI: Персональный и безопасный доступ к моделям.<\/b> Если Dify — это конструктор приложений, то <b>Open WebUI<\/b> — это универсальный и безопасный «кабинет» для прямого взаимодействия с моделями. Как отмечается в документации, это «расширяемая, многофункциональная и удобная платформа для самостоятельного хостинга, предназначенная для работы полностью в автономном режиме» <a href=\"https:\/\/docs.vllm.ai\/en\/latest\/deployment\/frameworks\/open-webui.html\">docs.vllm.ai<\/a>). Open WebUI предоставляет привычный интерфейс в стиле ChatGPT, но с расширенными возможностями: работа с локальными документами (RAG), веб-браузинг в чатах и управление доступом для команд — всё это в защищенном контуре компании <a href=\"https:\/\/www.repocloud.io\/details\/?app_id=271\">https:\/\/www.repocloud.io\/details\/?app_id=271<\/a>.<\/li>\n<\/ul>\n<h5>Инструменты для разработчиков: Интеграция в рабочий процесс<\/h5>\n<p>Чтобы LLM стали повседневным инструментом, их нужно встроить в рабочую среду разработчиков. YADRO верно отмечают ключевые компоненты этого уровня:<\/p>\n<ul>\n<li><b><a href=\"https:\/\/github.com\/continuedev\/continue\">Continue.dev<\/a>:<\/b> Open-source расширение для VS Code\/JetBrains, которое превращает внутренний инференс-кластер в полноценного AI-ассистента, работающего прямо в IDE.<\/li>\n<li><b><a href=\"https:\/\/openai.github.io\/openai-agents-python\/\">OpenAI SDK<\/a> и <a href=\"https:\/\/docs.litellm.ai\/docs\/proxy\/demo\">LiteLLM<\/a>:<\/b> Использование этих библиотек на стороне клиентских приложений — золотой стандарт. Они позволяют разработчикам абстрагироваться от деталей реализации бэкенда и работать с унифицированным, удобным API.<\/li>\n<\/ul>\n<p>Кстати у litellm.ai есть демка их прокси сервера заходим Username: admin Password: sk-1234<br \/>\n<a href=\"https:\/\/demo.litellm.ai\/ui\">https:\/\/demo.litellm.ai\/ui<\/a><\/p>\n<h4>Итоги и выводы<\/h4>\n<p>Опыт YADRO — это отличный срез современной инженерной практики в области LLM. Его комплексный анализ позволяет сформировать полную картину production-ready AI-экосистемы, которая состоит из нескольких ключевых слоев:<\/p>\n<ol start=\"1\">\n<li><b>Бэкенд:<\/b> Специализированные движки (<b>vLLM<\/b>) на <b>Kubernetes<\/b> стали де-факто стандартом для высокопроизводительного инференса.<\/li>\n<li><b>API и Ops:<\/b> <b>OpenAI-совместимый API<\/b> — это универсальный «язык» для всех компонентов системы. Для масштабирования необходим кастомный <b>Gateway\/Router<\/b> (как у YADRO) и продвинутое <b>автомасштабирование<\/b> по метрикам GPU и длине очереди.<\/li>\n<li><b>Приложения и GUI:<\/b> Low-code платформы (<b>Dify<\/b>) позволяют быстро создавать бизнес-решения, а интерфейсы вроде <b>Open WebUI<\/b> или <b><a href=\"https:\/\/github.com\/danny-avila\/LibreChat\">LibreChat<\/a><\/b> предоставляют сотрудникам безопасный и многофункциональный доступ к моделям.<\/li>\n<li><b>DevX (Developer Experience):<\/b> Интеграция в IDE (<b>Continue.dev<\/b>) и использование стандартизированных <b>SDK<\/b> делают LLM по-настоящему удобным инструментом для разработчиков.<\/li>\n<\/ol>\n<p>Таким образом, создание «дома для LLM» — это далеко не только развертывание моделей на GPU. Это выстраивание целостной, многоуровневой системы, где каждый слой решает свою задачу, обеспечивая производительность, надежность и, в конечном итоге, ценность для бизнеса.<\/p>\n<h4>Ссылки Основная: <a href=\"https:\/\/habr.com\/ru\/companies\/yadro\/articles\/930304\/\">https:\/\/habr.com\/ru\/companies\/yadro\/articles\/930304\/<\/a><\/h4>\n<ul>\n<li><a href=\"https:\/\/docs.vllm.ai\/en\/latest\/deployment\/frameworks\/open-webui.html\">https:\/\/docs.vllm.ai\/en\/latest\/deployment\/frameworks\/open-webui.html<\/a><\/li>\n<li><a href=\"https:\/\/www.repocloud.io\/details\/?app_id=271\">https:\/\/www.repocloud.io\/details\/?app_id=271<\/a><\/li>\n<li><a href=\"https:\/\/docs.digitalocean.com\/products\/marketplace\/catalog\/open-webui\/\">https:\/\/docs.digitalocean.com\/products\/marketplace\/catalog\/open-webui\/<\/a><\/li>\n<li><a href=\"https:\/\/www.pondhouse-data.com\/blog\/integrating-n8n-with-open-webui\">https:\/\/www.pondhouse-data.com\/blog\/integrating-n8n-with-open-webui<\/a><\/li>\n<li><a href=\"https:\/\/www.requesty.ai\/blog\/openwebui-vs-librechat-which-self-hosted-chatgpt-ui-is-right-for-you\">https:\/\/www.requesty.ai\/blog\/openwebui-vs-librechat-which-self-hosted-chatgpt-ui-is-right-for-you<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/danny-avila\/LibreChat\">LibreChat <\/a><\/li>\n<\/ul>\n",
            "date_published": "2025-08-03T23:48:27+03:00",
            "date_modified": "2025-08-03T23:53:00+03:00",
            "tags": [
                "AI",
                "LLM"
            ],
            "image": "https:\/\/gavrilov.info\/pictures\/telegram-cloud-photo-size-2-5224277706823301943-y.jpg",
            "_date_published_rfc2822": "Sun, 03 Aug 2025 23:48:27 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "257",
            "_rss_enclosures": [],
            "_e2_data": {
                "is_favourite": false,
                "links_required": [],
                "og_images": [
                    "https:\/\/gavrilov.info\/pictures\/telegram-cloud-photo-size-2-5224277706823301943-y.jpg"
                ]
            }
        },
        {
            "id": "247",
            "url": "https:\/\/gavrilov.info\/all\/analiz-orange-pi-ai-studio-pro-vs-nvidia-dgx-spark-project-digit\/",
            "title": "Анализ: Orange Pi AI Studio Pro vs. NVIDIA DGX Spark (Project DIGITS)",
            "content_html": "<p>Битва персональных AI-суперкомпьютеров  ( подготовил DeepSeek 😁 и спасибо ему за это )<br \/>\nЕсли чего, то эти игрушки для подходят для запуска средних моделей у себя дома. Железа должно хватит.<br \/>\nВпрочем битва только начинается. посмотрим, что еще выйдет. А пока наслаждаемся тем, что есть.<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/gavrilov.info\/pictures\/Snimok-ekrana-2025-06-22-v-18.22.32.png\" width=\"2460\" height=\"1178\" alt=\"\" \/>\n<\/div>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/gavrilov.info\/pictures\/Snimok-ekrana-2025-06-22-v-18.23.22.png\" width=\"2512\" height=\"1246\" alt=\"\" \/>\n<\/div>\n<h4><b>Введение: Эра доступного AI-железа<\/b><\/h4>\n<p>Революция генеративного ИИ сместила фокус с облачных кластеров на персональные устройства. В 2025 году два решения претендуют на звание «AI-суперкомпьютер на столе»: <b>NVIDIA DGX Spark<\/b> (ранее Project DIGITS) и <b>Orange Pi AI Studio Pro<\/b>. Оба обещают экзафлопсную производительность, но с разной философией. Разберем их детально, используя данные из официальных анонсов, тестовых обзоров и сообществ <a href=\"https:\/\/habr.com\/ru\/companies\/bothub\/news\/872002\">https:\/\/habr.com\/ru\/companies\/bothub\/news\/872002<\/a> и <a href=\"https:\/\/www.reddit.com\/r\/LocalLLaMA\/comments\/1im141p\/orange_pi_ai_studio_pro_mini_pc_with_408gbs.\">https:\/\/www.reddit.com\/r\/LocalLLaMA\/comments\/1im141p\/orange_pi_ai_studio_pro_mini_pc_with_408gbs.<\/a><\/p>\n<hr \/>\n<h4><b>1. Аппаратная платформа: Архитектура и Производительность<\/b><\/h4>\n<h5><b>NVIDIA DGX Spark<\/b><\/h5>\n<ul>\n<li><b>Чипсет<\/b>: GB10 Grace Blackwell Superchip – гибрид 20-ядерного ARM-процессора (Cortex-X925 + Cortex-A725) и GPU Blackwell с Tensor Core 5-го поколения .<\/li>\n<li><b>Память<\/b>: 128 ГБ LPDDR5X с единым адресным пространством (CPU+GPU), что критично для обработки моделей до 200B параметров без перегрузок .<\/li>\n<li><b>Производительность<\/b>: 1 PFLOPS при FP4 с поддержкой спарсности. Для моделей >200B параметров два устройства связываются через ConnectX-7, достигая 405B .<\/li>\n<li><b>Энергоэффективность<\/b>: Потребляет ~120–240 Вт, работает от розетки 220 В .<\/li>\n<\/ul>\n<h5><b>Orange Pi AI Studio Pro<\/b><\/h5>\n<ul>\n<li><b>Чипсет<\/b>: Huawei Ascend 310s с NPU, заявленная производительность – <b>352 TOPS<\/b> (INT8) в Pro-версии .<\/li>\n<li><b>Память<\/b>: До 192 ГБ LPDDR4X (в конфигурации Pro), но без унификации. Пользователи Reddit отмечают проблемы с пропускной способностью при загрузке LLM >70B параметров .<\/li>\n<li><b>Масштабируемость<\/b>: Нет аналога NVLink. Для больших моделей требуется ручная оптимизация через swap-файлы .<\/li>\n<li><b>Охлаждение<\/b>: Инженерные образцы склонны к перегреву при длительной нагрузке, что требует дополнительного кулера .<\/li>\n<\/ul>\n<p><b>Резюме<\/b>: DGX Spark выигрывает в балансе памяти и вычислений, Orange Pi предлагает сырую мощность TOPS, но страдает от архитектурных ограничений.<\/p>\n<p>---<\/p>\n<h4><b>2. Программная экосистема: Готовность к работе<\/b><\/h4>\n<h5><b>NVIDIA<\/b><\/h5>\n<ul>\n<li><b>Стек<\/b>: Полная предустановка DGX OS + CUDA, NeMo, RAPIDS, поддержка PyTorch\/Jupyter. Бесшовная интеграция с NGC-каталогом и облаком DGX .<\/li>\n<li><b>Развертывание<\/b>: Локальная тонкая настройка (fine-tuning) моделей до 70B параметров с последующим деплоем в дата-центр без переписывания кода .<\/li>\n<li><b>Для разработчиков<\/b>: Поддержка Windows через WSL2, что упрощает миграцию с ПК .<\/li>\n<\/ul>\n<h5><b>Orange Pi<\/b><\/h5>\n<ul>\n<li><b>ПО<\/b>: Базовые образы Ubuntu\/OpenEuler. Для работы AI требуется CANN-Toolkit (только через Docker), установка которого занимает 5–6 часов из-за зависимостей .<\/li>\n<li><b>Поддерживаемые фреймворки<\/b>: ONNX, TensorFlow, Caffe. <b>Нет поддержки PyTorch напрямую!<\/b> Экспорт LLM (например, Whisper) возможен только через ONNX с ручной конвертацией .<\/li>\n<li><b>Сообщество<\/b>: Документация – преимущественно на китайском. Англоязычные гайды фрагментарны, а на Reddit жалуются на сложность отладки .<\/li>\n<\/ul>\n<p><b>Резюме<\/b>: NVIDIA предлагает enterprise-решение «из коробки», Orange Pi требует экспертных знаний и времени для настройки.<\/p>\n<p>---<\/p>\n<h4><b>3. Сценарии использования: Для кого эти устройства?<\/b><\/h4>\n<ul>\n<li><b>NVIDIA DGX Spark<\/b>:\n<ul>\n  <li><b>Исследователи<\/b>: Локальный запуск Llama 3 70B или GPT-4-class моделей.<\/li>\n  <li><b>Корпорации<\/b>: Разработка edge-приложений для робототехники (Isaac) или медвизуализации (Clara) с гарантией совместимости .<\/li>\n  <li><b>Стартапы<\/b>: Прототипирование агентов ИИ с помощью NIM-микросервисов .<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<ul>\n<li><b>Orange Pi AI Studio Pro<\/b>:\n<ul>\n  <li><b>Энтузиасты<\/b>: Эксперименты с компьютерным зрением (YOLO) на дешевом железе.<\/li>\n  <li><b>Нишевые проекты<\/b>: Развертывание специфичных моделей (например, для обработки сенсорных данных), где не нужна интеграция с облаком.<\/li>\n  <li><b>Китайский рынок<\/b>: Альтернатива Jetson Orin для вузов и госпредприятий .<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>---<\/p>\n<h4><b>4. Цена и Доступность<\/b><\/h4>\n<ul>\n<li><b>NVIDIA<\/b>: От $3000, доступен с мая 2025 через партнеров (например, Dell, Supermicro) .<\/li>\n<li><b>Orange Pi<\/b>: Цена не объявлена, но аналоги (Atlas 200I DK) стоили ~$500. Ориентировочно Pro-версия – $700–$1000. <b>Важно<\/b>: нет глобальных поставок; покупка только через AliExpress .<\/li>\n<\/ul>\n<h4><b>Итоговая таблица сравнения<\/b><\/h4>\n<table cellpadding=\"0\" cellspacing=\"0\" border=\"0\" class=\"e2-text-table\">\n<tr>\n<td style=\"text-align: center\"><b>Критерий<\/b><\/td>\n<td style=\"text-align: center\"><b>NVIDIA DGX Spark<\/b><\/td>\n<td style=\"text-align: center\"><b>Orange Pi AI Studio Pro<\/b><\/td>\n<\/tr>\n<tr>\n<td>----------------------------<\/td>\n<td>------------------------------------------<\/td>\n<td>--------------------------------------<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: center\"><b>Аппаратная мощность<\/b><\/td>\n<td style=\"text-align: center\">1 PFLOPS (FP4), 128 ГБ RAM<\/td>\n<td style=\"text-align: center\">352 TOPS (INT8), 192 ГБ RAM<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: center\"><b>Поддержка LLM<\/b><\/td>\n<td style=\"text-align: center\">До 405B параметров (2 устройства)<\/td>\n<td style=\"text-align: center\">До 70B (с оговорками)<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: center\"><b>Программная готовность<\/b><\/td>\n<td style=\"text-align: center\">Полный стек AI Enterprise<\/td>\n<td style=\"text-align: center\">Ручная настройка CANN-Toolkit<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: center\"><b>Экосистема<\/b><\/td>\n<td style=\"text-align: center\">CUDA, PyTorch, облачная интеграция<\/td>\n<td style=\"text-align: center\">ONNX\/TensorFlow, изолированность<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: center\"><b>Целевая аудитория<\/b><\/td>\n<td style=\"text-align: center\">Enterprise, исследователи<\/td>\n<td style=\"text-align: center\">Энтузиасты, нишевые разработчики<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: center\"><b>Цена<\/b><\/td>\n<td style=\"text-align: center\">От $3000<\/td>\n<td style=\"text-align: center\">~$700–$1000 (оценка)<\/td>\n<\/tr>\n<\/table>\n<h4><b>Заключение: Что выбрать?<\/b><\/h4>\n<ul>\n<li><b>NVIDIA DGX Spark<\/b> – выбор для тех, кому нужен <b>промышленный инструмент<\/b> с минимумом настройки. Идеален для команд, внедряющих ИИ в продукты с последующим масштабированием. Демократизация без жертв .<\/li>\n<li><b>Orange Pi AI Studio Pro<\/b> – <b>экспериментальная платформа<\/b> для тех, кому важен TOPS\/$ и кто готов бороться с китайской документацией. Подойдет для R&D в условиях санкционных ограничений или бюджетных проектов .<\/li>\n<\/ul>\n<p><b>Тренд<\/b>: Оба устройства подтверждают сдвиг ИИ в сторону edge-вычислений. Но если NVIDIA ведет к «персонализации суперкомпьютеров», то Orange Pi остается хардварным хаком для избранных. Ориентируйтесь на задачи: для стартапа или лаборатории – DGX Spark; для образовательных целей или кастомных задач – Orange Pi, если вы готовы к боли.<\/p>\n<blockquote>\n<p>*«AI будет мейнстримом в каждом приложении для каждой индустрии»* (Дженсен Хуанг, NVIDIA ). В 2025 это звучит как констатация факта, а не прогноз.<\/p>\n<\/blockquote>\n<p>Почитать подробнее можно тут:<br \/>\n<a href=\"https:\/\/www.nvidia.com\/en-us\/products\/workstations\/dgx-spark\/\">https:\/\/www.nvidia.com\/en-us\/products\/workstations\/dgx-spark\/<\/a><br \/>\nили тут<br \/>\n<a href=\"http:\/\/www.orangepi.cn\/html\/hardWare\/computerAndMicrocontrollers\/details\/Orange-Pi-AI-Studio-Pro.html\">http:\/\/www.orangepi.cn\/html\/hardWare\/computerAndMicrocontrollers\/details\/Orange-Pi-AI-Studio-Pro.html<\/a><\/p>\n",
            "date_published": "2025-06-22T18:29:39+03:00",
            "date_modified": "2025-09-24T23:41:42+03:00",
            "tags": [
                "AI",
                "Hardware",
                "LLM"
            ],
            "image": "https:\/\/gavrilov.info\/pictures\/Snimok-ekrana-2025-06-22-v-18.22.32.png",
            "_date_published_rfc2822": "Sun, 22 Jun 2025 18:29:39 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "247",
            "_rss_enclosures": [],
            "_e2_data": {
                "is_favourite": false,
                "links_required": [],
                "og_images": [
                    "https:\/\/gavrilov.info\/pictures\/Snimok-ekrana-2025-06-22-v-18.22.32.png",
                    "https:\/\/gavrilov.info\/pictures\/Snimok-ekrana-2025-06-22-v-18.23.22.png"
                ]
            }
        },
        {
            "id": "233",
            "url": "https:\/\/gavrilov.info\/all\/prakticheskoe-rukovodstvo-postroeniya-agentov-ii\/",
            "title": "Практическое руководство построения Агентов ИИ",
            "content_html": "<p><a href=\"http:\/\/a.gavrilov.info\/data\/posts\/Practical_Guide_to_Building_Agents.pdf\">Инструкция оригинал тут<\/a><\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/gavrilov.info\/pictures\/AI_Agents.png\" width=\"600\" height=\"380\" alt=\"\" \/>\n<\/div>\n<p>Потом еще свой код покажу, но он работает в версии 1.65, надо бы обновить.<\/p>\n<p>Документ представляет собой руководство по разработке автономных систем (агентов) на базе языковых моделей (LLM). Основные темы:<\/p>\n<p>Определение агентов: системы, выполняющие задачи от имени пользователя с высокой степенью автономии.<br \/>\nКлючевые компоненты: модели LLM, инструменты (API, функции), инструкции, защитные механизмы (guardrails).<br \/>\nОркестрация: подходы к управлению агентами (одиночные и мультиагентные системы).<br \/>\nGuardrails: механизмы безопасности для контроля рисков.<br \/>\nПрактические рекомендации: выбор моделей, проектирование инструментов, обработка исключений, интеграция с людьми.<\/p>\n<p>Ниже не полный перевод. Раздел Guardrails очень интересный!<\/p>\n<hr \/>\n<h4>Практическое руководство по созданию агентов<\/h4>\n<p><b>Автор: OpenAI<\/b><\/p>\n<p>---<\/p>\n<h5>Содержание<\/h5>\n<ol start=\"1\">\n<li><b>Введение<\/b><\/li>\n<li><b>Что такое агент?<\/b><\/li>\n<li><b>Когда следует создавать агента?<\/b><\/li>\n<li><b>Основы проектирования агентов<\/b><\/li>\n<li><b>Выбор моделей<\/b><\/li>\n<li><b>Определение инструментов<\/b><\/li>\n<li><b>Конфигурация инструкций<\/b><\/li>\n<li><b>Оркестрация<\/b>\n<ul>\n  <li>8.1. Системы с одним агентом<\/li>\n  <li>8.2. Мультиагентные системы<\/li>\n<\/ul>\n<\/li>\n<li><b>Защитные механизмы (Guardrails)<\/b><\/li>\n<li><b>Заключение<\/b><\/li>\n<\/ol>\n<p>---<\/p>\n<h4>1. Введение<\/h4>\n<p>Крупные языковые модели (LLM) становятся всё более способными решать сложные многошаговые задачи. Достижения в области логических рассуждений, мультимодальности и использования инструментов открыли новую категорию систем на базе LLM — <b>агентов<\/b>.<\/p>\n<p>Это руководство предназначено для продуктовых и инженерных команд, изучающих создание своих первых агентов. В нём собраны практические рекомендации, основанные на опыте внедрения агентов в различных проектах.<\/p>\n<p><b>После прочтения вы узнаете:<\/b><\/p>\n<ul>\n<li>Как выбирать подходящие сценарии использования.<\/li>\n<li>Как проектировать логику агентов и управлять их взаимодействием.<\/li>\n<li>Как обеспечивать безопасность и предсказуемость работы.<\/li>\n<\/ul>\n<p>---<\/p>\n<h4>2. Что такое агент?<\/h4>\n<p>Агенты — системы, которые <b>самостоятельно<\/b> выполняют задачи от имени пользователя.<\/p>\n<h5>Ключевые характеристики:<\/h5>\n<ol start=\"1\">\n<li><b>Использование LLM<\/b>\n<ul>\n  <li>Управление рабочими процессами.<\/li>\n  <li>Корректировка действий при ошибках.<\/li>\n<\/ul>\n<\/li>\n<li><b>Доступ к инструментам<\/b>\n<ul>\n  <li>Взаимодействие с API, базами данных, внешними системами.<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<p><b>Примеры задач:<\/b><\/p>\n<ul>\n<li>Обработка запросов в службе поддержки.<\/li>\n<li>Бронирование ресторана.<\/li>\n<li>Генерация отчётов.<\/li>\n<\/ul>\n<p><b>Не являются агентами:<\/b><\/p>\n<ul>\n<li>Простые чат-боты.<\/li>\n<li>Системы без управления рабочими процессами.<\/li>\n<\/ul>\n<p>---<\/p>\n<h4>3. Когда следует создавать агента?<\/h4>\n<p>Агенты подходят для задач, где традиционные правила и детерминированные системы неэффективны.<\/p>\n<h5>Сценарии для внедрения:<\/h5>\n<table cellpadding=\"0\" cellspacing=\"0\" border=\"0\" class=\"e2-text-table\">\n<tr>\n<td>Категория<\/td>\n<td>Примеры задач<\/td>\n<\/tr>\n<tr>\n<td>Сложные решения<\/td>\n<td>Одобрение возврата средств.<\/td>\n<\/tr>\n<tr>\n<td>Сложные правила<\/td>\n<td>Проверка безопасности поставщиков.<\/td>\n<\/tr>\n<tr>\n<td>Неструктурированные данные<\/td>\n<td>Анализ страховых случаев.<\/td>\n<\/tr>\n<\/table>\n<p><b>Перед созданием агента:<\/b><\/p>\n<ul>\n<li>Убедитесь, что задача требует неоднозначных решений.<\/li>\n<li>Если задача простая, используйте детерминированные методы.<\/li>\n<\/ul>\n<p>---<\/p>\n<h4>4. Основы проектирования агентов<\/h4>\n<p>Агент состоит из трёх компонентов:<\/p>\n<table cellpadding=\"0\" cellspacing=\"0\" border=\"0\" class=\"e2-text-table\">\n<tr>\n<td>Компонент<\/td>\n<td>Описание<\/td>\n<\/tr>\n<tr>\n<td><b>Модель<\/b><\/td>\n<td>LLM для логики и принятия решений.<\/td>\n<\/tr>\n<tr>\n<td><b>Инструменты<\/b><\/td>\n<td>API, базы данных, внешние системы.<\/td>\n<\/tr>\n<tr>\n<td><b>Инструкции<\/b><\/td>\n<td>Правила и ограничения поведения.<\/td>\n<\/tr>\n<\/table>\n<p><b>Пример кода (Agents SDK):<\/b><\/p>\n<pre class=\"e2-text-code\"><code class=\"\">weather_agent = Agent(  \n    name=&quot;Weather agent&quot;,  \n    instructions=&quot;Вы помощник, который отвечает на вопросы о погоде.&quot;,  \n    tools=[get_weather],  \n)<\/code><\/pre><p>---<\/p>\n<h4>5. Выбор моделей<\/h4>\n<p><b>Рекомендации:<\/b><\/p>\n<ol start=\"1\">\n<li>Начните с самой мощной модели для базового уровня производительности.<\/li>\n<li>Заменяйте её на более лёгкие модели, где это возможно.<\/li>\n<\/ol>\n<p><b>Примеры задач:<\/b><\/p>\n<ul>\n<li>Простые запросы → Маленькие модели (например, `gpt-3.5`).<\/li>\n<li>Сложные решения → Мощные модели (например, `gpt-4`).<\/li>\n<\/ul>\n<p>---<\/p>\n<h4>6. Определение инструментов<\/h4>\n<p>Инструменты расширяют возможности агентов через API.<\/p>\n<h5>Типы инструментов:<\/h5>\n<table cellpadding=\"0\" cellspacing=\"0\" border=\"0\" class=\"e2-text-table\">\n<tr>\n<td>Тип<\/td>\n<td style=\"text-align: right\">Примеры<\/td>\n<\/tr>\n<tr>\n<td><b>Данные<\/b><\/td>\n<td>Запросы к CRM, чтение PDF.<\/td>\n<\/tr>\n<tr>\n<td><b>Действия<\/b><\/td>\n<td>Отправка email, обновление CRM.<\/td>\n<\/tr>\n<tr>\n<td><b>Оркестрация<\/b><\/td>\n<td>Агент возвратов, исследовательский агент.<\/td>\n<\/tr>\n<\/table>\n<p><b>Пример кода:<\/b><\/p>\n<pre class=\"e2-text-code\"><code class=\"\">search_agent = Agent(  \n    name=&quot;Search agent&quot;,  \n    instructions=&quot;Помогите пользователю искать в интернете.&quot;,  \n    tools=[WebSearchTool(), save_results],  \n)<\/code><\/pre><p>---<\/p>\n<h4>7. Конфигурация инструкций<\/h4>\n<p><b>Рекомендации:<\/b><\/p>\n<ul>\n<li>Используйте существующие документы (например, инструкции службы поддержки).<\/li>\n<li>Разбивайте задачи на шаги.<\/li>\n<li>Определяйте чёткие действия для каждого шага.<\/li>\n<li>Учитывайте крайние случаи.<\/li>\n<\/ul>\n<p><b>Пример генерации инструкций:<\/b><\/p>\n<pre class=\"e2-text-code\"><code class=\"\">prompt = &quot;&quot;&quot;  \nВы эксперт по созданию инструкций для агентов.  \nПреобразуйте документ в нумерованный список без неоднозначностей.  \nДокумент: {{help_center_doc}}  \n&quot;&quot;&quot;<\/code><\/pre><p>---<\/p>\n<h4>8. Оркестрация<\/h4>\n<h5>8.1. Системы с одним агентом<\/h5>\n<ul>\n<li>Один агент управляет всеми задачами.<\/li>\n<li>Простота внедрения и обслуживания.<\/li>\n<\/ul>\n<p><b>Пример работы:<\/b><\/p>\n<pre class=\"e2-text-code\"><code class=\"\">await Runner.run(agent, [UserMessage(&quot;Столица США?&quot;)])<\/code><\/pre><h5>8.2. Мультиагентные системы<\/h5>\n<ul>\n<li><b>Менеджер-агент<\/b> координирует специализированных агентов.<\/li>\n<li><b>Децентрализованные агенты<\/b> передают задачи друг другу.<\/li>\n<\/ul>\n<p><b>Пример менеджер-агента:<\/b><\/p>\n<pre class=\"e2-text-code\"><code class=\"\">manager_agent = Agent(  \n    name=&quot;Менеджер переводов&quot;,  \n    tools=[spanish_agent, french_agent],  \n)<\/code><\/pre><p>---<\/p>\n<h4>9. Защитные механизмы (Guardrails)<\/h4>\n<p><b>Цель:<\/b> Предотвращение рисков (утечки данных, вредоносные запросы).<\/p>\n<h5>Типы защит:<\/h5>\n<ul>\n<li><b>Классификатор релевантности<\/b> → Фильтрация не относящихся к делу запросов.<\/li>\n<li><b>Фильтр PII<\/b> → Защита персональных данных.<\/li>\n<li><b>Модерация<\/b> → Блокировка вредоносного контента.<\/li>\n<\/ul>\n<p><b>Пример кода:<\/b><\/p>\n<pre class=\"e2-text-code\"><code class=\"\">@input_guardrail  \nasync def churn_detection(ctx, input):  \n    # Проверка риска оттока клиентов  \n    ...<\/code><\/pre><p>---<\/p>\n<h4>10. Заключение<\/h4>\n<p><b>Ключевые принципы:<\/b><\/p>\n<ul>\n<li>Начинайте с простых агентов.<\/li>\n<li>Используйте защитные механизмы.<\/li>\n<li>Планируйте вмешательство человека для критических задач.<\/li>\n<\/ul>\n<p>Агенты открывают новые возможности для автоматизации сложных рабочих процессов.<\/p>\n<p><b>OpenAI<\/b> — компания, занимающаяся разработкой ИИ. Наша миссия — обеспечить, чтобы искусственный интеллект приносил пользу человечеству.<\/p>\n",
            "date_published": "2025-04-20T14:09:40+03:00",
            "date_modified": "2025-04-20T14:16:18+03:00",
            "tags": [
                "Agents",
                "AI",
                "LLM"
            ],
            "image": "https:\/\/gavrilov.info\/pictures\/AI_Agents.png",
            "_date_published_rfc2822": "Sun, 20 Apr 2025 14:09:40 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "233",
            "_rss_enclosures": [],
            "_e2_data": {
                "is_favourite": false,
                "links_required": [
                    "highlight\/highlight.js",
                    "highlight\/highlight.css"
                ],
                "og_images": [
                    "https:\/\/gavrilov.info\/pictures\/AI_Agents.png"
                ]
            }
        },
        {
            "id": "232",
            "url": "https:\/\/gavrilov.info\/all\/svezhee-po-klassifikacii-podvezli-i-mistral\/",
            "title": "Свежее по классификации подвезли – mistral",
            "content_html": "<p>🔥 Classifier Factory от Mistral<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/gavrilov.info\/pictures\/IMG_5876.jpeg\" width=\"1280\" height=\"911\" alt=\"\" \/>\n<\/div>\n<p>Classifier Factory — это интуитивно понятное руководство для создания и обучения собственных моделей классификации на базе компактных LLM от Mistral AI.<\/p>\n<p>С его помощью — как через веб‑интерфейс La Plateforme, так и через API — можно быстро разворачивать решения для модерации контента, детекции намерений, анализа тональности, кластеризации данных, обнаружения мошенничества, фильтрации спама, рекомендательных систем и других задач<\/p>\n<p>Таким образом, Classifier Factory упрощает весь цикл работы с custom‑классификаторами: от подготовки данных до развёртывания готовой модели в продакшене.<\/p>\n<p>Еще они обнвоили доку.<\/p>\n<p>🔜 <a href=\"https:\/\/docs.mistral.ai\/capabilities\/finetuning\/classifier_factory\/\">Docs<\/a><br \/>\n🔜<a href=\"https:\/\/colab.research.google.com\/github\/mistralai\/cookbook\/blob\/main\/mistral\/classifier_factory\/moderation_classifier.ipynb\">Cookbook: Moderation Classifier<\/a><br \/>\n🔜<a href=\"https:\/\/colab.research.google.com\/github\/mistralai\/cookbook\/blob\/main\/mistral\/classifier_factory\/intent_classification.ipynb\">Cookbook: Intent Classification<\/a><br \/>\n🔜<a href=\"https:\/\/colab.research.google.com\/github\/mistralai\/cookbook\/blob\/main\/mistral\/classifier_factory\/product_classification.ipynb\">Cookbook: Classification of Food<\/a><\/p>\n<p>@ai_machinelearning_big_data<\/p>\n<p>#Mistral #api<\/p>\n",
            "date_published": "2025-04-16T23:08:56+03:00",
            "date_modified": "2025-04-17T09:19:44+03:00",
            "tags": [
                "AI",
                "LLM"
            ],
            "image": "https:\/\/gavrilov.info\/pictures\/IMG_5876.jpeg",
            "_date_published_rfc2822": "Wed, 16 Apr 2025 23:08:56 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "232",
            "_rss_enclosures": [],
            "_e2_data": {
                "is_favourite": false,
                "links_required": [],
                "og_images": [
                    "https:\/\/gavrilov.info\/pictures\/IMG_5876.jpeg"
                ]
            }
        },
        {
            "id": "221",
            "url": "https:\/\/gavrilov.info\/all\/kitayskaya-virtualizaciya-openscaler-i-risc-v\/",
            "title": "Китайская виртуализация Openscaler и RISC-V",
            "content_html": "<div class=\"e2-text-picture\">\n<img src=\"https:\/\/gavrilov.info\/pictures\/image-170.png\" width=\"1280\" height=\"707\" alt=\"\" \/>\n<\/div>\n<p>Тестирование производительности решений контейнерной виртуализации — <a href=\"https:\/\/openscaler.ru\/2023\/06\/21\/1125\/\">https:\/\/openscaler.ru\/2023\/06\/21\/1125\/<\/a><\/p>\n<p>Второй подход к снаряду, iSula<br \/>\n<a href=\"https:\/\/openscaler.ru\/2023\/10\/12\/secont-test-isula\/\">https:\/\/openscaler.ru\/2023\/10\/12\/secont-test-isula\/<\/a><\/p>\n<p>Тестирование запуска контейнеров внутри виртуальных машин в кластере kubernetes<br \/>\n<a href=\"https:\/\/openscaler.ru\/2024\/02\/19\/isulad-kata-k8s\/\">https:\/\/openscaler.ru\/2024\/02\/19\/isulad-kata-k8s\/<\/a><\/p>\n<p>Обновление ОС рабочих узлов кластера k8s при помощи KubeOS<br \/>\n<a href=\"https:\/\/openscaler.ru\/2024\/05\/24\/kubeos_kubevirt\/\">https:\/\/openscaler.ru\/2024\/05\/24\/kubeos_kubevirt\/<\/a><\/p>\n<p>Rubik – ещё один способ управления ресурсами в kubernetes<br \/>\n<a href=\"https:\/\/openscaler.ru\/2024\/11\/01\/rubik\/\">https:\/\/openscaler.ru\/2024\/11\/01\/rubik\/<\/a><\/p>\n<p>Kmesh и k8s — <a href=\"https:\/\/openscaler.ru\/2023\/12\/12\/kmesh-and-k8s\/\">https:\/\/openscaler.ru\/2023\/12\/12\/kmesh-and-k8s\/<\/a><\/p>\n<p>Kuasar – runtime с поддержкой sandbox — <a href=\"https:\/\/openscaler.ru\/2025\/02\/17\/kuasar\/\">https:\/\/openscaler.ru\/2025\/02\/17\/kuasar\/<\/a><br \/>\nТестирование контейнерной ОС на основе кодовой базы openEuler \/ OpenScaler — <a href=\"https:\/\/openscaler.ru\/2023\/07\/27\/nestos\/\">https:\/\/openscaler.ru\/2023\/07\/27\/nestos\/<\/a><\/p>\n<p>А еще это:<br \/>\nПобег из технологической клетки США. Китай создал первый серверный процессор на RISC-V на замену Intel Xeon и AMD Epyc <a href=\"https:\/\/www.cnews.ru\/news\/top\/2025-04-04_kitaj_sbegaet_iz_tehnologicheskogo\">https:\/\/www.cnews.ru\/news\/top\/2025-04-04_kitaj_sbegaet_iz_tehnologicheskogo<\/a><\/p>\n<p><a href=\"https:\/\/www.securitylab.ru\/news\/558028.php\">https:\/\/www.securitylab.ru\/news\/558028.php<\/a> или читаем в оригинале тут: <a href=\"https:\/\/www.tmtpost.com\/7519579.html\">https:\/\/www.tmtpost.com\/7519579.html<\/a><\/p>\n<p>Но интересно это: “Процессор Lingyu построен по интересной схеме: в нём объединены 32 универсальных ядра для вычислений и 8 специализированных интеллектуальных ядер. Такая конфигурация хорошо подходит, например, для запуска моделей вроде ChatGPT с открытым исходным кодом, и при этом позволяет сдерживать энергопотребление и общую стоимость владения”<\/p>\n<p>Но и это любопытно тоже:<br \/>\n<a href=\"https:\/\/tenstorrent.com\">https:\/\/tenstorrent.com<\/a><\/p>\n<p>Tenstorrent представила ИИ-ускорители Blackhole на архитектуре RISC-V<\/p>\n<p>Канадский стартап Tenstorrent анонсировал ИИ-ускорители семейства Blackhole, выполненные в виде двухслотовых карт расширения с интерфейсом PCI Express 5.0 x16. Кроме того, дебютировала рабочая станция TT-QuietBox, оборудованная этими изделиями. Напомним, ранее Tenstorrent выпустила ИИ-ускорители Wormhole с 72 и 128 ядрами Tensix, каждое из которых содержит пять ядер RISC-V. Объём памяти GDDR6 составляет соответственно 12 и 24 Гбайт. Производительность достигает 262 и 466 Тфлопс на операциях FP8. Для сравнения A100 дает 624 до 1248 если SXM. Но дело все в цене, которая в десятки раз ниже.<\/p>\n<p>Кстати, мы используем аналог Trino, это CedrusData, он на Java. Учитывая тот факт, что там используется Temurin java, которая имеется для архитектуры risc-v, то можно сказать – мимиграция ядер не за горами.<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/gavrilov.info\/pictures\/image-171.png\" width=\"1150\" height=\"351\" alt=\"\" \/>\n<\/div>\n<p>а есть и российская java для рисков <a href=\"https:\/\/www.axiomjdk.ru\/announcements\/2024\/12\/11\/risc-v\/\">https:\/\/www.axiomjdk.ru\/announcements\/2024\/12\/11\/risc-v\/<\/a> от Axiom<\/p>\n<p>ждем )<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/gavrilov.info\/pictures\/image-172.png\" width=\"1024\" height=\"1024\" alt=\"\" \/>\n<\/div>\n",
            "date_published": "2025-04-04T22:09:46+03:00",
            "date_modified": "2025-04-04T23:29:32+03:00",
            "tags": [
                "AI",
                "LLM",
                "RISC-V"
            ],
            "image": "https:\/\/gavrilov.info\/pictures\/image-170.png",
            "_date_published_rfc2822": "Fri, 04 Apr 2025 22:09:46 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "221",
            "_rss_enclosures": [],
            "_e2_data": {
                "is_favourite": false,
                "links_required": [],
                "og_images": [
                    "https:\/\/gavrilov.info\/pictures\/image-170.png",
                    "https:\/\/gavrilov.info\/pictures\/image-171.png",
                    "https:\/\/gavrilov.info\/pictures\/image-172.png"
                ]
            }
        },
        {
            "id": "220",
            "url": "https:\/\/gavrilov.info\/all\/testiruem-gusya\/",
            "title": "Тестируем Гуся 🪿",
            "content_html": "<p>an open source, extensible AI agent that goes beyond code suggestions – install, execute, edit, and test with any LLM<\/p>\n<p>смотрим, все понятно.<\/p>\n<p><video controls style=\"width: 100%; max-width: 740px; height: auto;\"><br \/>\n<source src=\"http:\/\/a.gavrilov.info\/data\/posts\/Meet-codename-goose-1-0.mp4\" type=\"video\/mp4\"><br \/>\nВаш браузер не поддерживает видео.<br \/>\n<\/video><\/p>\n<p>Основной их сайт:  <a href=\"https:\/\/block.github.io\/goose\/\">https:\/\/block.github.io\/goose\/<\/a><br \/>\nВзять можно тут: <a href=\"https:\/\/github.com\/block\/goose\">https:\/\/github.com\/block\/goose<\/a><br \/>\nили еще почитать тут: <a href=\"https:\/\/habr.com\/ru\/articles\/877522\/\">https:\/\/habr.com\/ru\/articles\/877522\/<\/a><\/p>\n<p>Вот, что сделал:<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/gavrilov.info\/pictures\/Snimok-ekrana-2025-04-01-v-23.02.54.png\" width=\"1494\" height=\"1126\" alt=\"\" \/>\n<\/div>\n<p>или тут файлы: <a href=\"http:\/\/a.gavrilov.info\/data\/posts\/Goose_App.zip\">Goose_App.zip<\/a><\/p>\n<ol start=\"0\">\n<li>Небольшой сайт, что выше<\/li>\n<li>Скачал версию на Мак<\/li>\n<li>Настроил на openrouter.ai<\/li>\n<li>Выбрал сеть Sonnet 3.5 ( Есть и другие, но эта первая попалась )<\/li>\n<li>Поставил режим режим апрува Goose Mode: Smart Approval<\/li>\n<li>Рабочая директория \/Users\/yuriygavrilov\/NeDir<\/li>\n<\/ol>\n<p>Промт:<\/p>\n<p>выключи запущенную программу на python, сделай кнопку красной и добавь исчезающее приветствие. Запусти программу снова и открой её в браузере. сделай страницу красивой. добавь туда самолет зеленый на фон и запускай программу в фоновом режиме. Открой программу в браузере. Ожидай дальнейших инструкций. Приветствие должно появляться по нажатию кнопки. и добавь еще ssl сертификат на страницу сгенерированный.<\/p>\n<p>Ответ:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">Я помогу вам модифицировать и запустить программу. Давайте выполним это пошагово.\n\nСначала найдем и остановим запущенную программу:\nShell\ncommand\nps aux | grep python | grep uvicorn\n\nOutput\nShell\ncommand\npkill -f uvicorn\n\nOutput\nGoose would like to call the above tool. Allow?\nShell is approved\nТеперь посмотрим текущий код:\nShell\ncommand\nrg --files | rg '\\.py$'\n\nOutput\nText Editor\ncommand\nview\npath\n\/Users\/yuriygavrilov\/NeDir\/app.py\n\nOutput\nСоздадим новый HTML шаблон с красивым дизайном:\nShell\ncommand\nmkdir -p templates static\/images\n\nOutput\nGoose would like to call the above tool. Allow?\nShell is approved\nСоздадим обновленный HTML файл:\nText Editor\ncommand\nwrite\nfile_text\n&lt;!DOCTYPE html&gt; &lt;html lang=&quot;ru&quot;&gt; &lt;head&gt; &lt;meta charset=&quot;U...\n\npath\n\/Users\/yuriygavrilov\/NeDir\/templates\/index.html\n\nOutput\nGoose would like to call the above tool. Allow?\nText Editor is approved\nСоздадим SVG изображение самолета:\nText Editor\ncommand\nwrite\nfile_text\n&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt; &lt;svg width=&quot;800px&quot; he...\n\npath\n\/Users\/yuriygavrilov\/NeDir\/static\/images\/airplane.svg\n\nOutput\nGoose would like to call the above tool. Allow?\nText Editor is approved\nУстановим необходимые зависимости:\nShell\ncommand\npip install flask flask-talisman pyOpenSSL\n\nOutput\nGoose would like to call the above tool. Allow?\nShell is approved\nЗапустим программу в фоновом режиме:\nShell\ncommand\npython app.py &amp;\n\nOutput\nGoose would like to call the above tool. Allow?\nShell is approved\nТеперь вы можете открыть программу в браузере по адресу: https:\/\/localhost:5000\n\nЧто было сделано:\n\nОстановлена предыдущая версия программы\nСоздан новый дизайн с красной кнопкой\nДобавлено исчезающее приветствие (появляется на 3 секунды при нажатии на кнопку)\nДобавлен зеленый самолет\nНастроен SSL сертификат (самоподписанный)\nПрограмма запущена в фоновом режиме\nПри открытии в браузере вы увидите:\n\nКрасивый градиентный фон\nКрасную кнопку в центре\nПолупрозрачный зеленый самолет на фоне\nПри нажатии на кнопку появится приветствие, которое исчезнет через 3 секунды\nПримечание: Поскольку используется самоподписанный SSL-сертификат, браузер может показать предупреждение о безопасности. Это нормально в тестовой среде. Чтобы продолжить, нужно подтвердить исключение безопасности в браузере.\n\nЖду ваших дальнейших инструкций!<\/code><\/pre><div class=\"e2-text-picture\">\n<img src=\"https:\/\/gavrilov.info\/pictures\/Snimok-ekrana-2025-04-01-v-23.04.01.png\" width=\"1478\" height=\"1580\" alt=\"\" \/>\n<\/div>\n<p>🤖 Ай да Гусь :) но самолета не вижу почему то.  А денег съела прилично где-то 80 центов за пару тестов.<\/p>\n<p>Еще не то увидим, когда заработает <a href=\"https:\/\/gavrilov.info\/all\/iishnica-strategicheskiy-vzglyad-vybor-lokalnoy-llm-i-mcp\">MCP<\/a> повсюду.<\/p>\n",
            "date_published": "2025-04-01T23:10:03+03:00",
            "date_modified": "2025-04-10T20:49:20+03:00",
            "tags": [
                "Agents",
                "AI",
                "LLM"
            ],
            "image": "https:\/\/gavrilov.info\/pictures\/Snimok-ekrana-2025-04-01-v-23.04.29.png",
            "_date_published_rfc2822": "Tue, 01 Apr 2025 23:10:03 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "220",
            "_rss_enclosures": [],
            "_e2_data": {
                "is_favourite": false,
                "links_required": [
                    "highlight\/highlight.js",
                    "highlight\/highlight.css"
                ],
                "og_images": [
                    "https:\/\/gavrilov.info\/pictures\/Snimok-ekrana-2025-04-01-v-23.04.29.png",
                    "https:\/\/gavrilov.info\/pictures\/Snimok-ekrana-2025-04-01-v-23.02.54.png",
                    "https:\/\/gavrilov.info\/pictures\/Snimok-ekrana-2025-04-01-v-23.04.01.png"
                ]
            }
        },
        {
            "id": "217",
            "url": "https:\/\/gavrilov.info\/all\/vnedrenie-i-optimizaciya-apache-dolphinscheduler-v-netease-mail\/",
            "title": "Внедрение и оптимизация Apache DolphinScheduler в NetEase Mail",
            "content_html": "<h3>Перевод: Внедрение и оптимизация Apache DolphinScheduler в NetEase Mail<\/h3>\n<p>Оригинал: <a href=\"https:\/\/apachedolphinscheduler.substack.com\/p\/netease-mails-migration-journey-to\">https:\/\/apachedolphinscheduler.substack.com\/p\/netease-mails-migration-journey-to<\/a><\/p>\n<p>В связи с бурным развитием Интернета, электронная почта — один из важнейших инструментов обмена информацией — испытывает постоянно растущий спрос на обработку данных и планирование задач. NetEase Mail, ведущий поставщик услуг электронной почты в Китае, внедрил платформу DolphinScheduler, чтобы лучше справляться с задачами обработки огромных объемов данных и планирования задач. Компания провела углубленное внедрение и оптимизацию платформы в реальных условиях эксплуатации.<\/p>\n<p>Докладчик:<\/p>\n<p>Лэй Баосинь, инженер больших данных NetEase Mail<\/p>\n<h3>Предпосылки проекта и выбор платформы<\/h3>\n<p>NetEase Mail – это <b>ведущий китайский поставщик услуг электронной почты,<\/b> являющийся частью крупной интернет-компании NetEase.  Вот основные характеристики и информация о компании:<\/p>\n<p>* <b>Широкая линейка продуктов:<\/b>  NetEase Mail предлагает разнообразные почтовые услуги, включая:<br \/>\n* <b>Бесплатная почта:<\/b>  Наиболее известные сервисы 126.com и 163.com, хорошо известные в Китае.<br \/>\n* <b>Корпоративная почта:<\/b>  Предназначена для бизнеса, предлагая более надежные и профессиональные решения.<br \/>\n* <b>VIP-почта:<\/b>  Почтовые сервисы премиум-класса с расширенными функциями и поддержкой.<br \/>\n* <b>Долгая история:<\/b> Существует с 1997 года, что говорит о стабильности и накопленном опыте.<br \/>\n* <b>Огромная база пользователей:<\/b>  Благодаря популярности сервиса в Китае, NetEase Mail обслуживает миллионы пользователей.<br \/>\n* <b>Технологическая зрелость:<\/b> NetEase Mail активно использует современные технологии (например, Kubernetes, Apache DolphinScheduler и Streampark) для обработки больших объемов данных, планирования задач и улучшения общей эффективности.<br \/>\n* <b>Ориентация на стабильность и безопасность:<\/b>  Компания уделяет большое внимание предоставлению стабильных, безопасных и эффективных почтовых услуг.<br \/>\n* <b>Инновационное развитие:<\/b> NetEase Mail постоянно совершенствует свои сервисы, внедряя новые функции, интегрируя искусственный интеллект и оптимизируя инфраструктуру.<br \/>\n* <b>Вклад в opensource:<\/b> NetEase Mail активно контрибьютит в open-source проекты, например, SeaTunnel, что говорит об их технической экспертизе и желании делиться разработками с сообществом.<\/p>\n<p>В целом, <b>NetEase Mail – это авторитетный и инновационный поставщик услуг электронной почты в Китае, отличающийся широким спектром услуг, ориентацией на стабильность и безопасность, а также активным применением передовых технологий.<\/b><\/p>\n<h4>История развития NetEase Mail<\/h4>\n<p>С момента запуска в 1997 году, NetEase Mail прошла несколько важных этапов развития, эволюционировав от 126 Mail, 163 Mail до Mail Master, постоянно расширяя линейку продуктов и спектр услуг. Сегодня NetEase Mail создала диверсифицированную бизнес-систему, включающую бесплатную почту, корпоративную почту, VIP-почту и многое другое, предоставляя стабильные, безопасные и эффективные услуги электронной почты огромному количеству пользователей.<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/gavrilov.info\/pictures\/image-154.png\" width=\"800\" height=\"450\" alt=\"\" \/>\n<div class=\"e2-text-caption\">*Из рисунка выше видно, что NetEase Mail внедрила Apache DolphinScheduler в 2023 году.*<\/div>\n<\/div>\n<h4>Сценарии применения данных<\/h4>\n<p>В ежедневной работе NetEase Mail необходимо обрабатывать огромные объемы данных журналов бизнес-операций. Эти данные требуют постоянного холодного и горячего резервного копирования в течение более полугода, а журналы бизнес-операций обрабатываются и хранятся отдельно как в автономном режиме (HDFS), так и в режиме реального времени (ClickHouse). В то же время, для обеспечения доступности бизнеса, критически важные звенья, такие как основные механизмы отправки\/получения электронной почты и аутентификации пользователей, требуют эффективной обработки данных и поддержки планирования задач.<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/gavrilov.info\/pictures\/image-155.png\" width=\"800\" height=\"450\" alt=\"\" \/>\n<\/div>\n<h4>Предпосылки выбора и преимущества DolphinScheduler<\/h4>\n<p>Столкнувшись с постоянно растущими потребностями в обработке данных, команда NetEase Mail сравнила несколько платформ планирования задач с открытым исходным кодом. DolphinScheduler выделился благодаря поддержке различных механизмов планирования, высокой стабильности, простоте использования и богатой функциональности. Он способен поддерживать различные сценарии работы с данными, отвечая сложным и разнообразным требованиям NetEase Mail к планированию задач.<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/gavrilov.info\/pictures\/image-156.png\" width=\"800\" height=\"450\" alt=\"\" \/>\n<\/div>\n<h4>Развертывание платформы и текущее использование<\/h4>\n<h4>Путь обновления и преобразования на основе DS<\/h4>\n<p>После внедрения платформы DolphinScheduler, команда NetEase Mail встала на путь непрерывной оптимизации и обновления. Начиная с предварительных исследований и сравнений при выборе платформы, затем решая проблемы, возникающие в процессе использования, и, наконец, выполняя вторичную разработку для постоянного улучшения простоты использования и пользовательского опыта, команда неустанно двигалась к совершенствованию платформы. После подтверждения выбора в марте 2023 года, первоначальная трансформация на основе функциональности оповещения была завершена в декабре 2023 года, а к марту 2024 года была достигнута стабильная работа и продолжающиеся исследования.<\/p>\n<h4>Архитектура данных и текущее использование<\/h4>\n<p>В настоящее время в отделе NetEase Mail платформа DolphinScheduler развернута в архитектуре 3 Master, 5 Worker и работает на Kubernetes (k8s). Платформа поддерживает более 1200 автономных задач планирования для таких сервисов, как защита от спама, контроль рисков, AI и многого другого, с ежедневным количеством запусков, превышающим 50 000.<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/gavrilov.info\/pictures\/image-157.png\" width=\"800\" height=\"792\" alt=\"\" \/>\n<div class=\"e2-text-caption\">*На уровне архитектуры данных, благодаря интеграции DolphinScheduler с Streampark, было достигнуто сочетание автономного планирования и обработки задач Flink в режиме реального времени. Между тем, самостоятельно разработанные компоненты, такие как центр метаданных и портал данных, формируют уровень обслуживания данных, обеспечивая поддержку управления данными и сервисов.*<\/div>\n<\/div>\n<p>Внедрение платформы значительно повысило эффективность разработки данных, снизило затраты на эксплуатацию и обслуживание и обеспечило стабильный вывод бизнес-данных, тем самым оказывая сильную поддержку быстрой итерации и инновациям в бизнесе.<\/p>\n<h4>Типы задач и поддержка приложений<\/h4>\n<p>Платформа DolphinScheduler стала основной платформой планирования задач внутри отдела, предлагая широкий спектр типов задач, включая Spark, Shell, SQL, SeaTunnel, Python и многое другое. Эти задачи обеспечивают надежную поддержку данных для нисходящих приложений, таких как управление метаданными, отчеты BI и исследования и разработки данных, удовлетворяя потребности в обработке данных в различных бизнес-сценариях.<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/gavrilov.info\/pictures\/image-158.png\" width=\"800\" height=\"295\" alt=\"\" \/>\n<\/div>\n<h3>Интеграция функциональности распространения данных и методы оптимизации<\/h3>\n<h4>Интеграция функциональности распространения данных<\/h4>\n<p>Что касается планирования и распространения данных, команда NetEase Mail выявила несколько проблем, которые необходимо было решить для повышения эффективности и возможностей обработки данных, в том числе:<\/p>\n<ul>\n<li>Частые запросы на обработку данных:** Частые запросы на обработку данных от персонала, не занимающегося исследованиями и разработками, требуют поддержки разработчиков данных.<\/li>\n<li>Низкая готовность к созданию промежуточных таблиц:** Команды разработчиков продуктов и контроля качества демонстрируют небольшую готовность к созданию промежуточных таблиц, поскольку это занимает много времени.<\/li>\n<li>Существуют пороги в конфигурации синхронизации данных:** Конфигурация задач синхронизации данных между гетерогенными источниками данных представляет определенные пороги, требующие специализированной поддержки разработки данных.<\/li>\n<li>Процесс разработки задач синхронизации относительно длинный:** Полный процесс разработки задач синхронизации данных является длительным, включая такие шаги, как создание таблиц, создание конфигурации синхронизации и создание задач планирования.<\/li>\n<\/ul>\n<p>Чтобы решить эти проблемы, команда NetEase Mail интегрировала функциональность распространения данных в платформу DolphinScheduler.<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/gavrilov.info\/pictures\/image-159.png\" width=\"800\" height=\"457\" alt=\"\" \/>\n<\/div>\n<p>*Общий подход – это создание промежуточных таблиц + генерация конфигурации задач синхронизации + создание задач планирования, что повышает эффективность обработки промежуточных данных и обеспечивает комплексный процесс для построения задач обработки данных.*<\/p>\n<p>Эта функциональность предлагает два режима — быструю конфигурацию и пользовательскую конфигурацию. Она может автоматически генерировать операторы DDL таблицы на основе параметров формы и выполнять логику создания таблицы, одновременно генерируя SQL для промежуточной обработки и конфигурации задач синхронизации данных, и, наконец, вызывать внутренние методы Dolphin для создания рабочих процессов и задач планирования.<\/p>\n<p>В результате внедрения этой функциональности среднее время обработки промежуточных данных сократилось с 1 часа до 20 минут, что увеличило эффективность разработки на 67%, и она уже поддерживает более 40 онлайн-задач обработки данных, при этом количество пользователей постоянно растет.<\/p>\n<h4>Оптимизация методов автономного планирования для повышения отказоустойчивости<\/h4>\n<p>Исходный механизм планирования, при обработке сбоев зависимых задач, приводил к непосредственному сбою зависимых узлов, делая невозможным повторный запуск незавершенной цепочки данных одним щелчком мыши. Это увеличивало операционную нагрузку на разработчиков данных и увеличивало время восстановления после сбоев.<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/gavrilov.info\/pictures\/image-160.png\" width=\"800\" height=\"236\" alt=\"\" \/>\n<\/div>\n<p>Чтобы решить эту проблему, команда переработала логику обработки сигналов ожидания и сбоев в методе getModelDependResult класса DependentExecute в модуле dolphinscheduler-master. Когда статус зависимой задачи — FAILED, статус в dependResultList изменяется на WAITING, чтобы нижестоящие задачи получали статус WAITING, а не FAILED.<\/p>\n<p>Эта оптимизация позволяет восстанавливать и повторно запускать цепочку данных одним щелчком мыши, снижая затраты на ручное вмешательство, повышая эффективность и интеллектуальность восстановления цепочки задач, ускоряя скорость восстановления цепочки данных после сбоев и обеспечивая своевременное восстановление и вывод бизнес-данных.<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/gavrilov.info\/pictures\/image-161.png\" width=\"800\" height=\"118\" alt=\"\" \/>\n<\/div>\n<h4>Интеграция и оптимизация компонентов SeaTunnel, повышение эффективности синхронизации данных<\/h4>\n<p>Чтобы удовлетворить потребности в крупномасштабной синхронизации данных для нового бизнеса, команда внедрила инструмент интеграции данных SeaTunnel и развернула его в кластере Kubernets (k8s) в режиме разделенного кластера.<\/p>\n<p>За счет оптимизации плагинов SeaTunnel NetEase Mail предлагает как пользовательские, так и быстрые режимы конфигурации, тем самым снижая порог использования.<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/gavrilov.info\/pictures\/image-162.png\" width=\"482\" height=\"502\" alt=\"\" \/>\n<\/div>\n<h5>Принцип реализации<\/h5>\n<p>С точки зрения реализации, решение поддерживает как конфигурацию на основе форм, так и пользовательскую конфигурацию. Режим конфигурации на основе форм генерирует логику взаимодействия для конфигурации SeaTunnel (ST) через параметры формы и поддерживает конфигурацию дополнительных пользовательских параметров, а также конфигураций JVM на уровне задач.<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/gavrilov.info\/pictures\/image-163.png\" width=\"601\" height=\"491\" alt=\"\" \/>\n<\/div>\n<p>Бэкэнд получает параметры формы для генерации необходимой конфигурации для контекста выполнения задачи. Он разрабатывает интерфейс IConfigGenerator для реализации логики генерации Source и Sink для каждого источника данных, и, наконец, класс SeatunnelConfigGenerator используется для генерации окончательной конфигурации ST.<\/p>\n<h5>Развертывание и настройка<\/h5>\n<p>Что касается развертывания и настройки, то кластер SeaTunnel использует архитектуру 2 Master, 5 Worker для обеспечения высокой доступности и производительности синхронизации.<\/p>\n<p>За счет оптимизации логики сегментирования для HDFS, HIVE и MultiTable Source, считыватель получает более сбалансированные сегменты, что повышает производительность синхронизации данных. Соответствующие оптимизации были отправлены в виде PR в сообщество.<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/gavrilov.info\/pictures\/image-164.png\" width=\"515\" height=\"264\" alt=\"\" \/>\n<\/div>\n<p>С точки зрения настройки параметров, в ответ на требование крупномасштабной синхронизации данных из HDFS в Doris, после исследования и настройки параметров кода DorisSink была достигнута скорость передачи данных в 2 миллиона записей в секунду, что значительно повысило производительность синхронизации данных.<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/gavrilov.info\/pictures\/image-165.png\" width=\"452\" height=\"206\" alt=\"\" \/>\n<\/div>\n<h3>Практический пример проекта: перенос задач и практика изоляции ресурсов<\/h3>\n<h4>Эффективная миграция задач с платформы Mammoth на DolphinScheduler<\/h4>\n<p>Платформа Mammoth – это программное обеспечение платформы больших данных, разработанное для внутреннего использования в NetEase Group, и некоторые зависимости между задачами Mammoth очень сложны, требуя анализа и организации. Если это делать вручную, эффективность будет низкой, и, вероятно, возникнут пропуски или ошибки.<\/p>\n<p>В конце концов, после изучения представления зависимостей задач на платформе DolphinScheduler, было решено перейти на DolphinScheduler.<\/p>\n<p>Что касается выбора метода миграции, то если бы был принят ручной подход к миграции, он был бы не только трудоемким и отнимающим много времени, но и подвержен ошибкам миграции из-за сложности зависимостей задач, что повлияло бы на общую стабильность задач.<\/p>\n<p>Исходя из различных соображений, после обсуждения и исследований NetEase Mail решила принять решение об автоматизированном решении синхронизации. Это решение автоматически собирает метаданные задач и lineage задач со старой платформы, преобразует их в формат конфигурации задач платформы Dolphin и одновременно добавляет зависимости задач. Наконец, рабочие процессы быстро создаются через интерфейс Dolphin. Для достижения этого процесса NetEase Mail использовала инструмент синхронизации PyDolphinScheduler, официально предоставляемый DolphinScheduler — Python API, который позволяет определять рабочие процессы с использованием кода Python, а именно, “workflow as code”.<\/p>\n<p>Кроме того, NetEase Mail также собирала метаданные и lineage задач Mammoth через систему метаданных, пакетно переписывала задачи Mammoth в задачи DolphinScheduler и автоматически добавляла узлы зависимостей в соответствии с lineage.<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/gavrilov.info\/pictures\/image-166.png\" width=\"800\" height=\"430\" alt=\"\" \/>\n<\/div>\n<p>Эта практика эффективно завершила перенос более 300 задач Mammoth, обеспечив плавный бизнес-переход, достигнув массовой миграции одним щелчком мыши, значительно сэкономив затраты на рабочую силу и предоставив ценный опыт для аналогичных сценариев миграции задач в будущем.<\/p>\n<h4>Практика изоляции групп Worker<\/h4>\n<p>Следующая практика проекта — это практика изоляции ресурсов на основе группировки Worker в DolphinScheduler.<\/p>\n<p>В повседневном использовании платформы NetEase Mail DolphinScheduler ключевым бизнес-сценарием является поддержка задач планирования онлайн-мониторинга QA. Эти задачи характеризуются высокой частотой планирования, в основном на уровне минут; существует большое количество задач, при этом количество задач, связанных с мониторингом, в настоящее время достигает 120+.<\/p>\n<p>Выполнение этих задач планирования мониторинга в настоящее время в основном достигается с помощью типа задачи SHELL путем вызова самостоятельно разработанного jar-пакета инструмента обработки задач ETL. Этот jar-пакет предоставляет дополнительные функциональные возможности во время выполнения задачи, такие как проверки идемпотентности, повторные попытки по таймауту и т.д.<\/p>\n<p>Однако этот вид вызова запустит множество процессов JVM на рабочих узлах (worker nodes). В это время, если некоторые критически важные задачи планирования также запланированы на тот же рабочий узел, и OOM killer запускается из-за нехватки памяти, эти критически важные задачи, как правило, имеющие более высокое использование памяти, могут получить более высокий балл OOM и с большей вероятностью будут завершены, что приведет к нестабильному выполнению критически важных задач.<\/p>\n<p>Кроме того, для выполнения некоторые задания синхронизации Т+1 на следующее утро требуют большого количества ресурсов и не подходят для планирования на том же узле, что и другие задания, что может повлиять на производительность и стабильность выполнения других заданий на том же работнике.<\/p>\n<p>Поэтому команда NetEase Mail рассматривала возможность использования решения для изоляции Worker group для решения вышеуказанных проблем.<\/p>\n<p>Благодаря изоляции групп Worker команда отделила высокочастотные задачи планирования, такие как мониторинг в режиме реального времени, от других задач, обеспечив стабильное выполнение основных графиков, связанных с OKR, и повысив общую стабильность и надежность выполнения задач.<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/gavrilov.info\/pictures\/image-167.png\" width=\"800\" height=\"189\" alt=\"\" \/>\n<\/div>\n<p>На практике NetEase Mail создала на платформе различные группы Worker, содержащие различные узлы Worker, включая такие группы, как Default, AI, Monitoring, Hadoop и группы задач с большими ресурсами, чтобы избежать проблем блокировки задач и состязания за ресурсы, оптимизировать распределение ресурсов и повысить общую утилизацию ресурсов и производительность платформы.<\/p>\n<p>Эта практика эффективно решила такие проблемы, как блокировка задач, вызванная высокой частотой планирования задач мониторинга QA, и проблемы OOM узла worker, вызванные высоким запросом ресурсов задачами Т+1 рано утром, тем самым снизив операционные риски.<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/gavrilov.info\/pictures\/image-168.png\" width=\"591\" height=\"397\" alt=\"\" \/>\n<\/div>\n<h3>Итоги и перспективы<\/h3>\n<h4>Резюме практики<\/h4>\n<p>Внедрив платформу DolphinScheduler и проведя серию мероприятий по развертыванию и оптимизации, команда NetEase Mail достигла значительных результатов в повышении эффективности разработки данных, снижении эксплуатационных затрат и обеспечении стабильного вывода бизнес-данных. Вторичная разработка платформы тесно связана с бизнес-потребностями, подчеркивая повышенное удобство для пользователя и эффективность разработки, в то время как команда постоянно сосредотачивается на оптимизации и улучшении платформы и активно вносит вклад в сообщество, стимулируя постоянное развитие платформы.<\/p>\n<h4>Значение и преимущества платформы<\/h4>\n<p>Платформа DolphinScheduler играет важную роль в бизнесе NetEase Mail. Она не только повышает эффективность и стабильность разработки данных, но и удовлетворяет разнообразные потребности бизнеса за счет оптимизированных процессов планирования задач, обеспечивая своевременный вывод данных и активно способствуя устойчивому развитию почтового бизнеса.<\/p>\n<h4>Обмен опытом и идеями<\/h4>\n<p>В процессе развертывания и оптимизации платформы команда NetEase Mail накопила богатый практический опыт. Этот опыт представляет собой важную справочную ценность для других предприятий при выборе и использовании платформ планирования задач. Команда подчеркивает, что вторичная разработка должна быть тесно интегрирована с фактическими бизнес-потребностями, всегда уделяя первоочередное внимание пользовательскому опыту и эффективности разработки. В то же время постоянная ориентация на оптимизацию и улучшение платформы и активное участие в построении сообщества с открытым исходным кодом может стимулировать постоянное совершенствование и развитие платформы.<\/p>\n<h4>Перспективы на будущее<\/h4>\n<p>Заглядывая в будущее, команда NetEase Mail планирует продолжить изучение и продвижение в следующих направлениях:<\/p>\n<ul>\n<li>Внедрение ИИ:** Интеграция возможностей ИИ и LLM для достижения более интеллектуальных и удобных для пользователя процессов ETL обработки данных, повышая уровень автоматизации и интеллектуализации обработки данных.<\/li>\n<li>Управление данными:** Интеграция данных планирования DolphinScheduler с внутренним центром метаданных для достижения интеллектуального сбора и анализа lineage данных\/задач и карт данных, обеспечивая сильную поддержку управления данными.<\/li>\n<li>Оптимизация платформы:** Дальнейшая оптимизация производительности и функциональности платформы DolphinScheduler для повышения ее стабильности и надежности, что позволит лучше удовлетворять растущие потребности в обработке данных.<\/li>\n<li>Внедрение DATA OPS:** Достижение интеграции и консолидации между платформой DolphinScheduler и другими системами платформ данных, содействие автоматизации интеграции и передачи данных, а также построение более эффективной экосистемы данных.<\/li>\n<\/ul>\n<h4>В заключение<\/h4>\n<p>Практика развертывания и оптимизации NetEase Mail на основе платформы DolphinScheduler не только решила существующие проблемы планирования задач и обработки данных, но и заложила прочный фундамент для будущего развития. Благодаря постоянным технологическим инновациям и практическим исследованиям NetEase Mail продолжит предоставлять пользователям более качественные и эффективные услуги электронной почты, а также вносить больший вклад в развитие сообщества с открытым исходным кодом.<\/p>\n",
            "date_published": "2025-03-30T21:21:55+03:00",
            "date_modified": "2025-03-30T21:23:42+03:00",
            "tags": [
                "big data",
                "Data",
                "LLM",
                "Open Source"
            ],
            "image": "https:\/\/gavrilov.info\/pictures\/image-154.png",
            "_date_published_rfc2822": "Sun, 30 Mar 2025 21:21:55 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "217",
            "_rss_enclosures": [],
            "_e2_data": {
                "is_favourite": false,
                "links_required": [],
                "og_images": [
                    "https:\/\/gavrilov.info\/pictures\/image-154.png",
                    "https:\/\/gavrilov.info\/pictures\/image-155.png",
                    "https:\/\/gavrilov.info\/pictures\/image-156.png",
                    "https:\/\/gavrilov.info\/pictures\/image-157.png",
                    "https:\/\/gavrilov.info\/pictures\/image-158.png",
                    "https:\/\/gavrilov.info\/pictures\/image-159.png",
                    "https:\/\/gavrilov.info\/pictures\/image-160.png",
                    "https:\/\/gavrilov.info\/pictures\/image-161.png",
                    "https:\/\/gavrilov.info\/pictures\/image-162.png",
                    "https:\/\/gavrilov.info\/pictures\/image-163.png",
                    "https:\/\/gavrilov.info\/pictures\/image-164.png",
                    "https:\/\/gavrilov.info\/pictures\/image-165.png",
                    "https:\/\/gavrilov.info\/pictures\/image-166.png",
                    "https:\/\/gavrilov.info\/pictures\/image-167.png",
                    "https:\/\/gavrilov.info\/pictures\/image-168.png"
                ]
            }
        },
        {
            "id": "213",
            "url": "https:\/\/gavrilov.info\/all\/ai-da-zayka-trino-474\/",
            "title": "AI да Зайка 🐰 –  Trino 474",
            "content_html": "<p>Тестируем AI функции в Trino 474<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/gavrilov.info\/pictures\/Snimok-ekrana-2025-03-26-v-00.58.22.png\" width=\"1040\" height=\"562\" alt=\"\" \/>\n<\/div>\n<p>Дока тут: <a href=\"https:\/\/trino.io\/docs\/current\/functions\/ai.html\">https:\/\/trino.io\/docs\/current\/functions\/ai.html<\/a><\/p>\n<p>Заводим конектор llm.properties<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">connector.name=ai\nai.provider=openai\nai.model=gpt-4o-mini\nai.openai.api-key=sk-XXXXXXa\nai.openai.endpoint= https:\/\/api.XXXXX\/openai<\/code><\/pre><p>немного конфига config.properties<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">sql.path=llm.ai<\/code><\/pre><p>Пробуем:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">SELECT ai_analyze_sentiment('Ai да заяц какой умный как утка только отруби не есть'); -- mixed\nSELECT ai_analyze_sentiment('Ai да заяц какой умный'); -- positive\n\nSELECT ai_classify('Buy fucking deep! and bitcoin', ARRAY['spam', 'not spam']); -- spam\n-- spam\n\nSELECT ai_classify('много денег', ARRAY['Хорошо', 'Плохо']); -- Хорошо\n\nSELECT ai_classify('мало денег', ARRAY['Хорошо', 'Плохо']); -- Плохо\n\nSELECT ai_fix_grammar('Пошёл я, значица, на рынок, там нашол один такой магазинчег, где продают всякие запчасти. Думал, прикуплю видюху крутую, чтобы всё летало. Смотрю - лежыт такая, блестит, вся из себя навороченая. Спрашиваю продавца: &quot;Скока стоит эта красота?&quot; А он мне такой цену заломил, у меня глаза на лоб полезли.');\n-- Пошёл я, значит, на рынок, там нашёл один такой магазинчик, где продают всякие запчасти. Думал, прикуплю крутую видеокарту, чтобы всё летало. Смотрю - лежит такая, блестит, вся из себя навороченная. Спрашиваю продавца: &quot;Сколько стоит эта красота?&quot; А он мне такую цену назвал, что у меня глаза на лоб полезли.\n\nSELECT ai_gen('Опиши что такое Москва коротко'); \n-- Москва — столица и крупнейший город России, расположенный в центральной части страны. Это политический, экономический и культурный центр, известный своими историческими памятниками, такими как Кремль и Красная площадь, а также современными skyscrapers. Город обладает развитой инфраструктурой, включая транспортную сеть, образовательные учреждения и театры. Москва также является одним из крупнейших мегаполисов мира с разнообразной культурой и многонациональным населением.\n\nSELECT ai_mask(\n    'Позвони мне быстро 987 554 32 11 или приходи ул. ленина 43 кв. 32,  скажи, что от Гаврилова Юры',\n    ARRAY['телефон', 'Адрес',  'Имя']);\n-- Позвони мне быстро [MASKED] или приходи [MASKED], скажи, что от [MASKED]\n\nSELECT ai_translate('Буря мглою небо кроет,\nВихри снежные крутя;\nТо, как зверь, она завоет,\nТо заплачет, как дитя,\nТо по кровле обветшалой\nВдруг соломой зашумит,\nТо, как путник запоздалый,\nК нам в окошко застучит.', 'en');\n\n\/*\nThe storm covers the sky with gloom,  \nWhirling snowstorms twist and turn;  \nNow, like a beast, it howls,  \nNow it cries like a child,  \nNow on the dilapidated roof  \nSuddenly rustles with straw,  \nNow, like a late traveler,  \nIt knocks at our window.\n*\/\n\n\nSELECT name, address,comment, ai_classify(comment, ARRAY['Хорошо', 'Плохо', 'Можно помочь']), ai_translate(comment, 'ru') FROM tpch.sf1000.customer limit 10;\n\nCustomer#037500001\trLbDxR0mC,PwQ5QkxWCfXCC\ttes; slyly regular pearls cajole quickl\tПлохо\tлжем; хитро обычные жемчужины уговаривают быстро\nCustomer#037500002\t0bZ7K57TnmFs9goL41xTB64xBTLuXPtGPN\tunusual, ironic pinto beans haggle across the regular req\tПлохо\tнеобычные, ироничные пинто фасоль торгуются по обычному запросу\nCustomer#037500003\t5QliQMqzyz\tietly. deposits nag sometimes according to the even deposits. f\tПлохо\tтихо. депозиты иногда зависят от равномерных депозитов. f\nCustomer#037500004\tFMm4JPC9UUSTOdfsfn\tect; slyly even packages haggle. pending inst\tПлохо\tждут; хитро даже пакеты торгуются. в ожидании инст\nCustomer#037500005\ta CUUBM75af0IX66Jm\tunts are bold, unusual packages. fluffily unusual foxes nag furiously even deposits\tПлохо\tУнцы — это смелые, необычные пакеты. Пухово-необычные лисы яростно требуют даже депозиты.\nCustomer#037500006\tVoXTOweLVJuiKe7xcn K69l7RoN61,\tar pinto beans haggle blithely. \tМожно помочь\tФасоль &quot;пинто&quot; торгуются беззаботно.\nCustomer#037500007\tfUoQ2Fkssi94OhGGE1UetR w\tages hang blithely among the slyly ruthless accounts. carefully pen\tПлохо\tвозрасты беззаботно свисают среди хитро безжалостных счетов. осторожно пишите\nCustomer#037500008\txogtDxejUq\t slyly special dependencies use quickly throughout the blithely stealthy accounts. depend\tМожно помочь\tЛукавые специальные зависимости используются быстро на протяжении безмятежных скрытных отчетов. зависеть\nCustomer#037500009\tou,BZuF,BMMeEoSUgyODRQZFQJyIsFQMSWp\ten requests maintain. carefully ironic requests sleep carefull\tПлохо\tзапросы поддерживают. осторожно ироничные запросы спят осторожно\nCustomer#037500010\tlcP8JaVg2dz\ty final packages. accounts along the quietly ironic ideas nag carefully idly express requests. requests detect \tПлохо\tИтоговые пакеты. учетные записи вдоль тихо ироничных идей настойчиво и бездумно выражают запросы. запросы обнаруживают<\/code><\/pre><p>При тестировании ни один заяц не пострадал, но вот hive и iceberg пришлось зарубить, там новые параметры для конфига.  Так,что. придется их изучить при обновлении на новые версии, старые работать не будут.<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/gavrilov.info\/pictures\/ai-da-zayka-trino-474.png\" width=\"225\" height=\"225\" alt=\"\" \/>\n<\/div>\n<p>а каталог iceberg я добавил так в итоге<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">connector.name=iceberg\nfs.native-s3.enabled=true\ns3.endpoint=https:\/\/gateway.storjshare.io\ns3.region=us1\nhive.metastore.uri=thrift:\/\/metastore:9083\nhive.metastore.username=trino\nhive.metastore.thrift.client.connect-timeout=1m\ns3.path-style-access=true\ns3.aws-access-key=XXXXX\ns3.aws-secret-key=CCCCCCCCC\ns3.socket-read-timeout=1m\n\niceberg.file-format=PARQUET\niceberg.compression-codec=SNAPPY\niceberg.target-max-file-size=128MB<\/code><\/pre><p>но еще заметил эту багу <a href=\"https:\/\/github.com\/trinodb\/trino\/issues\/25427\">https:\/\/github.com\/trinodb\/trino\/issues\/25427<\/a><\/p>\n",
            "date_published": "2025-03-26T01:06:29+03:00",
            "date_modified": "2025-03-26T21:33:30+03:00",
            "tags": [
                "AI",
                "LLM",
                "Trino"
            ],
            "image": "https:\/\/gavrilov.info\/pictures\/Snimok-ekrana-2025-03-26-v-00.58.22.png",
            "_date_published_rfc2822": "Wed, 26 Mar 2025 01:06:29 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "213",
            "_rss_enclosures": [],
            "_e2_data": {
                "is_favourite": false,
                "links_required": [
                    "highlight\/highlight.js",
                    "highlight\/highlight.css"
                ],
                "og_images": [
                    "https:\/\/gavrilov.info\/pictures\/Snimok-ekrana-2025-03-26-v-00.58.22.png",
                    "https:\/\/gavrilov.info\/pictures\/ai-da-zayka-trino-474.png"
                ]
            }
        },
        {
            "id": "212",
            "url": "https:\/\/gavrilov.info\/all\/sostoyanie-bolshih-yazykovyh-modeley-llm-s-otkrytym-ishodnym-kod\/",
            "title": "Состояние больших языковых моделей (LLM) с открытым исходным кодом – Open Pioneers #32",
            "content_html": "<p>перевод: <a href=\"https:\/\/www.openpioneers.com\/p\/the-state-of-open-source-llms\">https:\/\/www.openpioneers.com\/p\/the-state-of-open-source-llms<\/a><\/p>\n<p>С возвращением в <a href=\"https:\/\/www.openpioneers.com\">Open Pioneers<\/a> #32.<\/p>\n<p>Прошло несколько месяцев с момента моей последней рассылки. Жизнь и работа в Linux Foundation занимали много времени, но я поставил перед собой цель снова писать еженедельно, начиная с этого момента.<\/p>\n<p>Я также использую этот перезапуск, чтобы кое-что изменить: помимо нового брендинга, я перешел с платформы Beehiiv на Substack для своей рассылки. Я также решил сделать контент более личным и углубляться в темы с открытым исходным кодом, которые мне интересны. Я по-прежнему буду рассказывать об альтернативах с открытым исходным кодом, объявлять о раундах финансирования или интересных вакансиях в секторе открытого исходного кода, но скорее в качестве побочного замечания.<\/p>\n<p>Я почистил список подписчиков и оставил в нем только тех, кто регулярно открывал мои электронные письма, так как не хочу никому рассылать спам.<\/p>\n<p>Тем не менее, я очень рад снова начать это делать. В сфере открытого исходного кода происходит так много интересного, и я с нетерпением жду возможности продолжать узнавать об этом вместе с вами!<\/p>\n<p>Состояние открытых больших языковых моделей (LLM)<\/p>\n<p>Большие языковые модели (LLM) с открытым исходным кодом превратились из нишевых академических проектов в устойчивые, управляемые сообществом платформы, которые бросают вызов проприетарным гигантам, таким как Microsoft или Google. Сегодня LLM с открытым исходным кодом не только способствуют прозрачности и сотрудничеству, но и обеспечивают более экономичный и адаптируемый подход к разработке искусственного интеллекта.<\/p>\n<p>Новая эра товарного ИИ<\/p>\n<p>Движение за открытый исходный код в области ИИ росло экспоненциально в течение последних нескольких лет. Вместо того чтобы полагаться исключительно на дорогие закрытые модели от крупных технологических компаний, разработчики и исследователи по всему миру теперь могут получать доступ к современным LLM, модифицировать и улучшать их. Эта коммодитизация имеет решающее значение для обеспечения доступности ИИ для всех, от независимых хакеров и стартапов до академических учреждений.<\/p>\n<p>Последние разработки показали потенциал LLM с открытым исходным кодом. Например, китайская модель R1 от DeepSeek привлекла всеобщее внимание, поскольку она соответствует характеристикам ведущих моделей, таких как o1 от OpenAI, при этом обучаясь за небольшую часть стоимости и вычислительной мощности. Использование DeepSeek обучения с подкреплением и архитектуры “смесь экспертов” позволяет ей активировать только подмножество из своих 671 миллиарда параметров на запрос, тем самым снижая энергопотребление и требования к оборудованию.<\/p>\n<p>Преимущества и проблемы LLM с открытым исходным кодом<\/p>\n<p>LLM с открытым исходным кодом предлагают несколько убедительных преимуществ:<\/p>\n<ul>\n<li>Прозрачность и доверие:** Благодаря общедоступным данным обучения, исходному коду и весам моделей, LLM с открытым исходным кодом позволяют проводить тщательную проверку, что делает их менее “черным ящиком” по сравнению с проприетарными аналогами. Эта прозрачность приводит к доверию сообщества и совместному устранению неполадок.<\/li>\n<li>Низкие затраты:** Модели с открытым исходным кодом снижают барьер для входа. Экономическая эффективность открытого исходного кода особенно выгодна для академических учреждений и стартапов с ограниченными ресурсами – другими словами: это способствует инновациям.<\/li>\n<li>Настройка и гибкость:** Открытый доступ означает, что разработчики могут точно настраивать модели для нишевых приложений, интегрировать знания, специфичные для конкретной области, или даже адаптировать модели для местных языков – ключевое соображение для таких инициатив, как<a href=\"https:\/\/openeurollm.eu\/launch-press-release\">OpenEuroLLM<\/a>, которая стремится обслуживать языковое разнообразие Европы.<\/li>\n<\/ul>\n<p>Однако остаются и проблемы. LLM с открытым исходным кодом могут быть уязвимы для атак с использованием состязательных методов, и качество доступных данных обучения может варьироваться. Более того, хотя открытые модели способствуют инновациям, они также поднимают вопросы об ответственном использовании, поскольку мощные инструменты ИИ в чужих руках могут привести к злоупотреблениям. Баланс между открытостью и безопасностью – это продолжающийся разговор внутри сообщества, к которому мы должны отнестись серьезно.<\/p>\n<p>Ключевые LLM с открытым исходным кодом, о которых вам следует знать<\/p>\n<p>Ниже приведен снимок текущего ландшафта открытого исходного кода, согласно таблице <a href=\"https:\/\/huggingface.co\/spaces\/open-llm-leaderboard\/open_llm_leaderboard\">лидеров Hugging Face Open LLM<\/a>.<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/gavrilov.info\/pictures\/image-152.png\" width=\"1456\" height=\"850\" alt=\"\" \/>\n<\/div>\n<p>Следующие LLM с открытым исходным кодом выделяются для меня, потому что они очень часто смешиваются и сочетаются более широким сообществом ИИ:<\/p>\n<ul>\n<li><a href=\"https:\/\/huggingface.co\/meta-llama\/Llama-3.1-8B\">Llama 3.1<\/a> (Meta):** Серия Llama 3.1 от Meta — от небольших моделей до массивной версии с 405 млрд параметров — неизменно занимает высокие позиции в области генерации общего текста, многоязыковой обработки и задач кодирования.<\/li>\n<li>Mistral Large 2 (Mistral AI):** Благодаря мощной архитектуре с 123 миллиардами параметров и впечатляющему контекстному окну (до 128 тысяч токенов), <a href=\"https:\/\/huggingface.co\/mistralai\/Mistral-Large-Instruct-2407\">Mistral Large 2<\/a> превосходно справляется как с пониманием языка, так и с задачами кодирования. Его разреженная конструкция “смесь экспертов” оптимизирует производительность при одновременном снижении затрат на вывод, что делает его лидером в эффективности и масштабируемости.<\/li>\n<li><a href=\"https:\/\/huggingface.co\/deepseek-ai\/DeepSeek-R1\">DeepSeek R1<\/a> (DeepSeek):** Модель R1 от DeepSeek использует обучение с подкреплением и подход “смесь экспертов” для обеспечения конкурентоспособных возможностей рассуждения, математики и кодирования. Хотя DeepSeek предположительно использует менее сложное оборудование по сравнению со своими западными конкурентами (в США действует запрет на экспорт в Китай графических процессоров Nvidia), он достигает высокой производительности при небольшой доле затрат на обучение. Этот факт привел к множеству обсуждений, в том числе и в основных СМИ.<\/li>\n<li>DeepSeek v3 (DeepSeek):** Основываясь на серии R1, <a href=\"https:\/\/huggingface.co\/deepseek-ai\/DeepSeek-V3\">DeepSeek v3<\/a> использует архитектуру Mixture-of-Experts с 671 миллиардом параметров – с 37 миллиардами активированных параметров на токен – для обеспечения впечатляющей эффективности при генерации общего текста, многоязычной обработке и задачах кодирования.<\/li>\n<li>Qwen 2.5 (Alibaba):** <a href=\"https:\/\/huggingface.co\/Qwen\/Qwen2.5-7B-Instruct\">Qwen 2.5<\/a> от Alibaba произвел фурор благодаря своим сильным многоязычным возможностям, специализированной производительности в области кодирования и математических рассуждений, а также эффективным стратегиям развертывания. Его компоненты с открытым исходным кодом выпущены под лицензией Apache 2.0.<\/li>\n<li>Falcon-180B (Technology Innovation Institute):** Модель <a href=\"https:\/\/huggingface.co\/tiiuae\/falcon-180B\">Falcon-180B<\/a> является свидетельством возможностей крупномасштабных LLM с открытым исходным кодом. Обученная на более чем 3,5 триллионах токенов, она обеспечивает первоклассную производительность по множеству тестов, что делает ее одной из самых конкурентоспособных доступных альтернатив с открытым исходным кодом. ( Вам потребуется примерно 8 видеокарт A100 с 80 ГБ памяти или эквивалентное оборудование для запуска этой модели )<\/li>\n<\/ul>\n<p>Перспективы<\/p>\n<p>Поскольку инвестиции в ИИ с открытым исходным кодом продолжают расти, такие игроки отрасли, как Meta, и общественные инициативы по всей Европе и за ее пределами удваивают ставки на потенциал совместной разработки ИИ. Благодаря тому, что компании выпускают свои модели под разрешительными лицензиями и делятся подробными техническими деталями и тестами, экосистема LLM готова к быстрым изменениям.<\/p>\n<p>Большинство экспертов считают, что будущее ИИ будет построено на основе открытого исходного кода, где общие знания ускоряют инновации и приводят к более равноправному технологическому прогрессу.<\/p>\n<p>Я думаю, что это будущее только началось.<\/p>\n<p>Новые и популярные проекты с открытым исходным кодом 🔥<\/p>\n<ul>\n<li>Second Me:** Прототип с открытым исходным кодом, где вы создаете своего собственного “ИИ-клона”: новый вид ИИ, который сохраняет вас, передает ваш контекст и защищает ваши интересы. <a href=\"https:\/\/github.com\/mindverse\/Second-Me\">GitHub<\/a><\/li>\n<\/ul>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/gavrilov.info\/pictures\/image-153.png\" width=\"1456\" height=\"483\" alt=\"\" \/>\n<\/div>\n<ul>\n<li>Cursor Talk to Figma MCP:** Model Context Protocol (MCP), позволяющий Cursor взаимодействовать с Figma для чтения дизайнов и программного внесения изменений в них. <a href=\"https:\/\/github.com\/sonnylazuardi\/cursor-talk-to-figma-mcp\">GitHub<\/a><\/li>\n<\/ul>\n<p>На что способен MCP в области дизайна Cursor Talk to Figma MCP см. видео<\/p>\n<div class=\"e2-text-video\">\n<video src=\"https:\/\/gavrilov.info\/video\/MCP.mp4#t=0.001\" width=\"1780\" height=\"1080\" controls alt=\"\" \/>\n\n<\/div>\n<ul>\n<li>Classless.css:** Легкий CSS-фреймворк для веб-сайтов с безупречным вкусом, но без желания добавлять классы. <a href=\"https:\/\/github.com\/DigitallyTailored\/Classless.css\">GitHub<\/a><\/li>\n<\/ul>\n<p>Раунды финансирования проектов с открытым исходным кодом 💸<\/p>\n<ul>\n<li><a href=\"https:\/\/supabase.com\">Supabase<\/a>, альтернатива Google Firebase с открытым исходным кодом, привлекла $100 млн при оценке стоимости в $2 млрд. <a href=\"https:\/\/www.techinasia.com\/news\/supabase-developer-platform-raises-100m-valued-2b\">Ссылка<\/a><\/li>\n<li><a href=\"https:\/\/www.aheadcomputing.com\">AheadComputing<\/a>, игрок из экосистемы RISC-V, объявила о посевном финансировании в размере $21,5 млн. <a href=\"https:\/\/www.prnewswire.com\/news-releases\/aheadcomputing-raises-21-5m-seed-round-and-introduces-breakthrough-microprocessor-architecture-designed-for-next-era-of-general-purpose-computing-302379683.html\">Ссылка<\/a><\/li>\n<li><a href=\"https:\/\/rerun.io\">Rerun<\/a>, создатели платформы для ведения журналов и визуализации мультимодальных данных, привлекли посевное финансирование в размере $17 млн под руководством PointNine. <a href=\"https:\/\/rerun.io\/blog\/physical-ai-data\">Ссылка<\/a><\/li>\n<li><a href=\"https:\/\/www.onyx.app\">Onyx<\/a>, решение для корпоративного поиска с открытым исходным кодом, привлекло посевное финансирование в размере $10 млн под совместным руководством Khosla Ventures и First Round Capital. <a href=\"https:\/\/www.onyx.app\/blog\/seed-round\">Ссылка<\/a><\/li>\n<li><a href=\"https:\/\/lingo.dev\/en\">Lingo.dev<\/a>, создатели инструментария для локализации с открытым исходным кодом, привлекли $4,2 млн. <a href=\"https:\/\/techcrunch.com\/2025\/02\/18\/lingo-dev-is-an-app-localization-engine-for-developers\/\">Ссылка<\/a><\/li>\n<\/ul>\n<p>Очень интересные проекты:<\/p>\n<ul>\n<li>[<a href=\"https:\/\/github.com\/onyx-dot-app\/onyx](https:\/\/github.com\/onyx-dot-app\/onyx)**\">https:\/\/github.com\/onyx-dot-app\/onyx](https:\/\/github.com\/onyx-dot-app\/onyx)**<\/a> – Помогите своей инженерной команде, службе поддержки, отделу продаж и команде эксплуатации продукта быстрее находить информацию. Искусственный интеллект с открытым исходным кодом, подключенный к документам, приложениям и сотрудникам вашей компании.<\/li>\n<\/ul>\n<ul>\n<li>[<a href=\"https:\/\/github.com\/rerun-io\/rerun](https:\/\/github.com\/rerun-io\/rerun)**\">https:\/\/github.com\/rerun-io\/rerun](https:\/\/github.com\/rerun-io\/rerun)**<\/a> – Визуализируйте потоки мультимодальных данных. Бесплатно, быстро, просто в использовании и легко интегрируется. Написано на Rust.<\/li>\n<\/ul>\n<ul>\n<li>[<a href=\"https:\/\/github.com\/lingodotdev\/lingo.dev](https:\/\/github.com\/lingodotdev\/lingo.dev)**\">https:\/\/github.com\/lingodotdev\/lingo.dev](https:\/\/github.com\/lingodotdev\/lingo.dev)**<\/a> – Фиксируйте. Переводите. AI-локализация для команд, которые быстро выпускают продукты. Переводите приложения, веб-сайты и целые базы данных, используя лучшие LLM-модели.<\/li>\n<\/ul>\n<ul>\n<li>[<a href=\"https:\/\/github.com\/sonnylazuardi\/cursor-talk-to-figma-mcp](https:\/\/github.com\/sonnylazuardi\/cursor-talk-to-figma-mcp)**\">https:\/\/github.com\/sonnylazuardi\/cursor-talk-to-figma-mcp](https:\/\/github.com\/sonnylazuardi\/cursor-talk-to-figma-mcp)**<\/a> – Этот проект реализует интеграцию Model Context Protocol (MCP) между Cursor AI и Figma, позволяя Cursor взаимодействовать с Figma для чтения дизайнов и программного внесения изменений в них.<\/li>\n<\/ul>\n",
            "date_published": "2025-03-25T22:40:55+03:00",
            "date_modified": "2025-03-25T23:09:02+03:00",
            "tags": [
                "AI",
                "LLM"
            ],
            "image": "https:\/\/gavrilov.info\/pictures\/image-152.png",
            "_date_published_rfc2822": "Tue, 25 Mar 2025 22:40:55 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "212",
            "_rss_enclosures": [
                {
                    "url": "https:\/\/gavrilov.info\/video\/MCP.mp4",
                    "type": "video\/mp4",
                    "length": 6132783
                }
            ],
            "_e2_data": {
                "is_favourite": false,
                "links_required": [],
                "og_images": [
                    "https:\/\/gavrilov.info\/pictures\/image-152.png",
                    "https:\/\/gavrilov.info\/pictures\/image-153.png"
                ]
            }
        },
        {
            "id": "209",
            "url": "https:\/\/gavrilov.info\/all\/iishnica-strategicheskiy-vzglyad-vybor-lokalnoy-llm-i-mcp\/",
            "title": "ИИшница – стратегический взгляд, выбор локальной LLM и MCP",
            "content_html": "<p><a href=\"https:\/\/habr.com\/ru\/articles\/892956\">Зачем бизнесу LLM: стратегический взгляд<\/a><\/p>\n<p><a href=\"https:\/\/habr.com\/ru\/articles\/892468\">Выбор локальной LLM модели. Публикация на сайт с чатом<\/a><\/p>\n<p><a href=\"https:\/\/habr.com\/ru\/articles\/893482\">MCP (Model Context Protocol) <\/a><\/p>\n",
            "date_published": "2025-03-24T22:32:14+03:00",
            "date_modified": "2025-03-24T22:36:43+03:00",
            "tags": [
                "AI",
                "LLM"
            ],
            "_date_published_rfc2822": "Mon, 24 Mar 2025 22:32:14 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "209",
            "_rss_enclosures": [],
            "_e2_data": {
                "is_favourite": false,
                "links_required": [],
                "og_images": []
            }
        },
        {
            "id": "207",
            "url": "https:\/\/gavrilov.info\/all\/vllm-vs-tgi-razlichiya-freymvorka-dlya-inferensa\/",
            "title": "vLLM vs TGI различия фреймворка для инференса",
            "content_html": "<p>Автор: Yiren Lu @YirenLu<br \/>\nОригинал: <a href=\"https:\/\/modal.com\/blog\/vllm-vs-tgi-article\">https:\/\/modal.com\/blog\/vllm-vs-tgi-article<\/a><\/p>\n<p><b>Зачем использовать фреймворк для инференса?<\/b><\/p>\n<p>Почему разработчики не могут просто использовать библиотеку вроде Transformers для обслуживания своих моделей?<\/p>\n<p>Хотя библиотеки, такие как Transformers, отлично подходят для обучения и базового инференса, у них есть ограничения, когда дело доходит до масштабного развертывания и обслуживания LLM:<\/p>\n<ul>\n<li>Эффективность использования памяти:** LLM требуют значительных ресурсов памяти. Универсальные библиотеки могут не оптимизировать использование памяти, что приводит к неэффективному распределению ресурсов. Для получения дополнительной информации о требованиях VRAM для обслуживания LLM, прочитайте <a href=\"https:\/\/modal.com\/blog\/how-much-vram-need-inference\">здесь<\/a>.<\/li>\n<li>Скорость инференса:** Стандартным библиотекам часто не хватает оптимизаций, специфичных для инференса, что приводит к замедлению времени обработки больших моделей.<\/li>\n<li>Пакетная обработка и очереди:** Эффективная обработка нескольких запросов требует сложных механизмов пакетной обработки и очередей, которые обычно не включаются в библиотеки, ориентированные на обучение.<\/li>\n<li>Масштабируемость:** Обслуживание LLM в масштабе требует тщательного управления вычислительными ресурсами, что выходит за рамки большинства универсальных библиотек.<\/li>\n<\/ul>\n<p>Вместо этого, для большинства случаев обслуживания моделей в production, чтобы максимизировать пропускную способность и минимизировать задержку, вам следует использовать inference server. Двумя наиболее популярными inference serverами для случаев использования LLM являются vLLM и TGI.<\/p>\n<p><b>Что такое vLLM и TGI?<\/b><\/p>\n<p><b>vLLM<\/b><\/p>\n<p><a href=\"https:\/\/github.com\/vllm-project\/vllm\">vLLM<\/a> — это библиотека с открытым исходным кодом, разработанная для быстрого инференса и обслуживания LLM. Разработанная исследователями из Калифорнийского университета в Беркли, она использует <a href=\"https:\/\/blog.vllm.ai\/2023\/06\/20\/vllm.html\">PagedAttention<\/a>, новый алгоритм внимания, который эффективно управляет ключами и значениями внимания. vLLM обеспечивает до 24 раз более высокую пропускную способность, чем Hugging Face Transformers, без каких-либо изменений в архитектуре модели.<\/p>\n<p>Ключевые особенности vLLM включают в себя:<\/p>\n<ul>\n<li>Эффективное управление памятью<\/li>\n<li>Непрерывная пакетная обработка<\/li>\n<li>Оптимизированные реализации ядра<\/li>\n<li>Поддержка различных архитектур моделей<\/li>\n<\/ul>\n<p><b>TGI (Text Generation Inference)<\/b><\/p>\n<p>TGI, сокращение от <a href=\"https:\/\/huggingface.co\/docs\/text-generation-inference\/en\/index\">Text Generation Inference<\/a> (Инференс для генерации текста), — это инструментарий для развертывания и обслуживания больших языковых моделей (LLM). Разработанный компанией Hugging Face, TGI обеспечивает высокопроизводительную генерацию текста для самых популярных LLM с открытым исходным кодом, включая Llama, Falcon, StarCoder, BLOOM, GPT-NeoX и другие. Он ориентирован на предоставление готового к production решения для развертывания и обслуживания больших языковых моделей с особым упором на задачи генерации текста.<\/p>\n<p><b>Сравнение производительности: Что быстрее?<\/b><\/p>\n<p>Когда дело доходит до производительности, vLLM и TGI предлагают значительные улучшения по сравнению с базовыми реализациями. Однако определить, что быстрее, не так просто, поскольку производительность может варьироваться в зависимости от конкретного случая использования, архитектуры модели и конфигурации оборудования.<\/p>\n<ul>\n<li>Пропускная способность:** vLLM часто демонстрирует более высокую пропускную способность, особенно для больших размеров пакетов, благодаря механизму PagedAttention и оптимизации непрерывной пакетной обработки.<\/li>\n<li>Эффективность использования памяти:** Метод PagedAttention в vLLM позволяет более эффективно использовать память, потенциально обеспечивая более высокую параллельность на одном и том же оборудовании.<\/li>\n<li>Простота использования:** Поскольку TGI создан Hugging Face, обслуживание любой модели Hugging Face (включая частные\/gate-модели) с помощью <a href=\"https:\/\/huggingface.co\/docs\/text-generation-inference\/en\/quicktour\">TGI относительно просто<\/a>. Стандартный способ запуска TGI, через официальный Docker-контейнер, также поднимает API endpoint.<\/li>\n<li>Готовность к производству (Production-readiness):** TGI предлагает встроенную телеметрию через OpenTelemetry и метрики Prometheus. У vLLM меньше “готовых к производству” наворотов.<\/li>\n<\/ul>\n<p>В целом, мы рекомендуем использовать vLLM, который обеспечивает хороший баланс между скоростью, поддержкой распределенного инференса (необходимого для больших моделей) и простотой установки.<\/p>\n",
            "date_published": "2025-03-20T23:17:08+03:00",
            "date_modified": "2025-03-20T23:17:52+03:00",
            "tags": [
                "AI",
                "LLM"
            ],
            "_date_published_rfc2822": "Thu, 20 Mar 2025 23:17:08 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "207",
            "_rss_enclosures": [],
            "_e2_data": {
                "is_favourite": false,
                "links_required": [],
                "og_images": []
            }
        },
        {
            "id": "198",
            "url": "https:\/\/gavrilov.info\/all\/kogda-ispolzovat-ai-agentov-prostaya-blok-shema\/",
            "title": "Когда использовать AI-агентов: Простая блок-схема",
            "content_html": "<p>Перевод: Когда использовать AI-агентов: Простая блок-схема<\/p>\n<p>Оригинал: <a href=\"https:\/\/www.llmwatch.com\/p\/when-to-use-ai-agents-a-simple-flowchart\">https:\/\/www.llmwatch.com\/p\/when-to-use-ai-agents-a-simple-flowchart<\/a><\/p>\n<p>Когда и как использовать AI-агентов против AI-воркфлоу для ваших задач.<\/p>\n<p><b>Ключевые моменты<\/b><\/p>\n<ul>\n<li>Используйте AI-агентов для задач, требующих гибкости и динамического принятия решений, например, для помощников по кодированию или виртуальных ассистентов.<\/li>\n<li>Используйте AI-воркфлоу для четко определенных, повторяющихся задач с ясными шагами, таких как обработка заказов или ответы службы поддержки.<\/li>\n<li>Начните с простого вызова LLM (большой языковой модели), если задача представляет собой простой запрос; при необходимости переходите к воркфлоу или агентам.<\/li>\n<\/ul>\n<p><b>AI-агенты против AI-воркфлоу – 30-секундная версия<\/b><\/p>\n<p><b>Что это такое?<\/b><\/p>\n<ul>\n<li>AI-агенты<b>, или агенты с ИИ, – это системы, которые автономно планируют и адаптируются, принимая решения на лету. Они отлично подходят для сложных, неструктурированных задач. <\/b>AI-воркфлоу**, с другой стороны, следуют предопределенным шагам, что идеально подходит для последовательных, повторяющихся процессов.<\/li>\n<\/ul>\n<p><b>Как выбрать?<\/b><\/p>\n<p>Сначала проверьте, может ли простой вызов LLM с поиском (retrieval) справиться с вашей задачей, например, ответить на быстрый вопрос. Если нет, решите: Ваша задача хорошо определена с четкими шагами? Если да, используйте воркфлоу; если нет, и требуется гибкость, выбирайте AI-агентов. Этот подход обеспечивает простоту и эффективность.<\/p>\n<p><b>Стоимость и задержка<\/b><\/p>\n<p>AI-агенты могут быть дороже и медленнее из-за своей динамической природы, поэтому для проектов с ограниченным бюджетом воркфлоу могут быть лучше даже для сложных задач, если шаги четко определены.<\/p>\n<p><b>AI-агенты против AI-воркфлоу – Подробно<\/b><\/p>\n<p>Параграф выше, очевидно, был грубым упрощением. Но он должен дать вам представление о фундаментальных различиях между двумя подходами и о том, от каких факторов будет зависеть ваше решение.<\/p>\n<p>Давайте более подробно рассмотрим, когда использовать AI-агентов, а когда AI-воркфлоу, во многом опираясь на систему классификации Anthropic в качестве отправной точки. Таким образом, остальная часть этой статьи призвана направлять принятие решений, предлагая как теоретические идеи, так и практические применения, с акцентом на создание эффективных AI-систем.<\/p>\n<p><b>Предпосылки и определения<\/b><\/p>\n<p>Для начала нам необходимо уточнить терминологию, на которой мы строим. Anthropic определяет две ключевые категории, важные для создания эффективных AI-систем:<\/p>\n<ul>\n<li>AI-воркфлоу**: Это системы, в которых большие языковые модели (LLM) и инструменты оркеструются посредством предопределенных путей в коде. Они предназначены для задач с четкими, предсказуемыми шагами, обеспечивая согласованность и простоту отладки. Примеры включают автоматизацию обработки заказов или управление учетными записями клиентов, где последовательность действий хорошо установлена.<\/li>\n<li>AI-агенты**: Это, с другой стороны, системы, в которых LLM динамически управляют своими собственными процессами и использованием инструментов, сохраняя контроль над тем, как выполняются задачи. Они подходят для неструктурированных, сложных задач, требующих адаптивности, таких как автономные помощники по кодированию или виртуальные помощники, обрабатывающие различные запросы пользователей.<\/li>\n<\/ul>\n<p>Это различие имеет решающее значение, и рекомендуется начинать с максимально простого решения, увеличивая сложность только при необходимости. Очень редко AI-агенты должны быть вашим первым выбором для решения проблемы.<\/p>\n<p><b>Основа для принятия решений<\/b><\/p>\n<p>Процесс принятия решения при выборе между AI-агентами и AI-воркфлоу можно разбить на структурированную блок-схему, которую мы подробно опишем, а затем приведем простые правила. Это, конечно, работа в процессе, поскольку текущее поколение AI-агентов все еще находится в процессе развития, и неясно, когда этот быстрый прогресс остановится. В конце концов, за два года мы увидели колоссальное снижение вычислительных затрат.<\/p>\n<p><b>Описание блок-схемы<\/b><\/p>\n<p>Процесс принятия решения можно визуализировать следующим образом, где каждый шаг представляет собой двоичный выбор, ведущий к соответствующей системе:<\/p>\n<ul>\n<li>Начало:** Начните с оценки стоящей перед вами задачи.<\/li>\n<li>Решение 1:** Может ли задача быть решена одним вызовом LLM с поиском (retrieval)?\n<ul>\n  <li>Да:** Используйте один вызов LLM с поиском, которого достаточно для простых запросов, таких как ответы на фактические вопросы или генерация простого текста. Этот подход использует механизмы поиска для предоставления контекста, поддерживая низкие затраты и сложность.<\/li>\n  <li>Нет:** Если задача не может быть решена одним вызовом, перейдите к следующему решению.<\/li>\n<\/ul>\n<\/li>\n<li>Решение 2:** Является ли задача четко определенной с ясными, предопределенными шагами?\n<ul>\n  <li>Да:** Используйте AI-воркфлоу. Они идеально подходят для задач, которые можно разбить на последовательность предопределенных шагов, обеспечивая предсказуемость и согласованность. Примеры включают автоматизированные ответы службы поддержки или конвейеры обработки данных.<\/li>\n  <li>Нет:** Используйте AI-агентов. Они необходимы для задач, которые являются неструктурированными или требуют динамического принятия решений, таких как помощники по кодированию, решающие проблемы GitHub, или виртуальные помощники, планирующие и выполняющие различные задачи.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>Эта базовая блок-схема отражает принцип начинать с самого простого решения (одиночный вызов LLM) и переходить к воркфлоу для четко определенных задач и, наконец, к агентам для более сложных, адаптивных нужд.<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/gavrilov.info\/pictures\/image-148.png\" width=\"673\" height=\"822\" alt=\"\" \/>\n<\/div>\n<p><b>Руководство по реализации<\/b><\/p>\n<p>Чтобы предоставить практические рекомендации, мы можем классифицировать варианты использования и соображения для каждого варианта:<\/p>\n<ul>\n<li>Одиночный вызов LLM с поиском (Retrieval):**\n<ul>\n  <li>Вариант использования:** Подходит для простых запросов, когда LLM может предоставить прямой ответ, возможно, дополненный извлечением релевантной информации из базы данных или базы знаний. Например, ответ на вопрос клиента о технических характеристиках продукта.<\/li>\n  <li>Преимущества:** Низкая стоимость, низкая задержка и минимальная настройка. Это соответствует рекомендации Anthropic оптимизировать отдельные вызовы LLM поиском и примерами в контексте для многих приложений.<\/li>\n  <li>Пример:** Чат-бот, отвечающий: “Каковы часы работы вашего магазина?” путем извлечения информации и прямого ответа.<\/li>\n<\/ul>\n<\/li>\n<li>AI-воркфлоу:**\n<ul>\n  <li>Вариант использования:** Лучше всего подходит для задач, которые хорошо определены и повторяются, с четкими шагами, которые не требуют от LLM принятия решений о том, какой следующий шаг следует предпринять. Примеры включают процессы выполнения заказов, от получения заказа до отправки, или управление учетными записями клиентов.<\/li>\n  <li>Преимущества:** Предсказуемость, согласованность и простота отладки. Воркфлоу следуют предопределенным путям в коде, что делает их подходящими для таких задач, как маршрутизация запросов клиентов в различные отделы на основе категорий (например, выставление счетов, техническая поддержка).<\/li>\n  <li>Соображения:** Убедитесь, что входы и выходы для каждого шага четко определены, чтобы избежать ошибок. Часто реализуется с помощью таких шаблонов, как объединение и маршрутизация подсказок как часть рабочих процессов, которые можно реализовать в нескольких десятках строк кода без сложных фреймворков.<\/li>\n  <li>Пример:** Банковский AI-чат-бот, который обрабатывает проверку баланса, выполняя предопределенную последовательность: проверяет пользователя, извлекает данные учетной записи, форматирует ответ.<\/li>\n<\/ul>\n<\/li>\n<li>AI-агенты:**\n<ul>\n  <li>Вариант использования:** Идеально подходит для задач, которые являются сложными, неструктурированными или требуют гибкости и принятия решений на основе моделей. К ним относятся сценарии, в которых LLM необходимо планировать независимо, использовать внешние инструменты или адаптироваться к меняющимся условиям. Примеры включают агентов кодирования, решающих проблемы GitHub, как видно в тестах, таких как SWE-bench Verified, или виртуальных помощников, обрабатывающих различные запросы пользователей, такие как планирование встреч и создание отчетов.<\/li>\n  <li>Преимущества:** Высокая адаптивность, подходит для динамических сред. Агенты могут разбивать проблемы на управляемые шаги, сотрудничать с другими агентами и использовать такие инструменты, как веб-поиск или вызовы API, как отмечается в сообщении блога.<\/li>\n  <li>Соображения:** Более высокие затраты и задержка из-за динамической обработки. Рекомендуется проводить тестирование в изолированной среде и уделять приоритетное внимание прозрачности, показывая этапы планирования. Другим важным фактором для агентов, использующих сложные инструменты (например, Azure CLI, GitHub), является создание тщательного интерфейса между агентом и компьютером (ACI) посредством документации и тестирования инструментов. Ваши агенты смогут использовать правильные инструменты для ваших задач, только если у них есть доступ к достаточной информации о них.<\/li>\n  <li>Пример:** AI-агент, который автономно пишет и тестирует код для исправления проблемы GitHub, проверенный автоматизированными тестами и проверкой человеком, как часть инициативы SWE-bench.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p><b>Дополнительные соображения<\/b><\/p>\n<p>Хотя блок-схема и рекомендации обеспечивают четкий путь, это только отправная точка. Основная цель этой статьи – повысить осведомленность о том, что “бросаться AI-агентами во все” – нежизнеспособная стратегия – и предоставить отправную точку для принятия решений.<\/p>\n<p>Многие из дополнительных факторов, которые следует учитывать, особенно в отношении затрат и производительности, представляют собой компромиссы, специфичные для ваших индивидуальных вариантов использования. Агентные системы часто жертвуют задержкой и стоимостью ради лучшего выполнения задач, что делает их менее подходящими для проектов с ограниченным бюджетом, где достаточно рабочих процессов. Например, если задача четко определена, но очень сложна, рабочим процессам все равно можно отдать предпочтение по сравнению с агентами для поддержания эффективности, если шаги можно адекватно определить заранее.<\/p>\n<p>Обслуживание клиентов – отличный пример: оно часто требует задержки, близкой к реальному времени, и строгих мер защиты, поскольку это приложение, ориентированное на клиентов (и многие клиенты, обращающиеся в службу поддержки, уже не в лучшем настроении). Хотя AI-агенты обещают справляться с этим намного лучше, чем предыдущие технологии, требования к надежности и безопасности высоки. И вы уже можете создавать довольно продвинутые чат-боты с помощью рабочих процессов. Фактически, большинство чат-ботов, работающих в настоящее время в промышленной эксплуатации, имеют мало общего с агентным AI (даже если они утверждают обратное). Такие вещи, как инструменты для клиентских данных и истории заказов, гораздо важнее и могут быть реализованы как рабочие процессы для стандартных запросов. Прагматичным компромиссом может быть использование агентов для более неоднозначных запросов. Два подхода к проектированию не исключают друг друга, что является еще одним важным соображением. Используйте то, что лучше всего подходит для вашего варианта использования.<\/p>\n<p><b>Заключение<\/b><\/p>\n<p>В заключение, решение между AI-агентами и AI-воркфлоу зависит от характера задачи: используйте отдельные вызовы LLM для простых запросов, рабочие процессы для четко определенных, повторяющихся задач и агентов для неструктурированных, динамических задач, требующих адаптивности. Этот подход согласуется с рекомендациями по простоте, прозрачности и тщательному тестированию, обеспечивая эффективную разработку AI-системы. Приведенная выше блок-схема и рекомендации предлагают практическую отправную точку для реализации, подкрепленную реальными примерами и общедоступными сведениями от ведущих AI-компаний, таких как Anthropic & HuggingFace.<\/p>\n",
            "date_published": "2025-03-02T20:49:45+03:00",
            "date_modified": "2025-03-02T20:49:09+03:00",
            "tags": [
                "AI",
                "LLM"
            ],
            "image": "https:\/\/gavrilov.info\/pictures\/image-148.png",
            "_date_published_rfc2822": "Sun, 02 Mar 2025 20:49:45 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "198",
            "_rss_enclosures": [],
            "_e2_data": {
                "is_favourite": false,
                "links_required": [],
                "og_images": [
                    "https:\/\/gavrilov.info\/pictures\/image-148.png"
                ]
            }
        }
    ],
    "_e2_version": 4171,
    "_e2_ua_string": "Aegea 11.4 (v4171e)"
}