Обновить
789.91

Python *

Высокоуровневый язык программирования

Сначала показывать
Порог рейтинга
Уровень сложности

Реализация MCP в Open WebUI. Часть 1. Интеграция c Open WebUI

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

В момент выхода протокола MCP нас очень заинтересовали его возможности. Нам хотелось использовать этот протокол для того, чтобы внутренние пользователи могли обращаться к базе данных в свободной форме и получать данные в течение нескольких минут. MCP для этого выглядел очень хорошо: пользователь может сформировать запрос на удобном для него языке, а LLM поймет, что нужно сделать и сделает это.
На первый взгляд MCP в связке с LLM полностью закрывал данные проблемы, однако с ростом объема данных стало заметно, что LLM не удается обрабатывать их быстро и качественно, а написание SQL запросов для нее не всегда легкая задача (даже если примеры этих запросов у нее есть в промпте). В итоге мы получили потерю контроля над контекстом модели и непредсказуемый результат.
В этой части я расскажу про интеграцию с Open WebUI и какая архитектура модели позволила победить вышеуказанные проблемы. Следующие статьи расскажут о реализации MCP таким, каким он позволяет выполнять наши задачи (но не финальной версии). Эта статья может быть полезна всем, кто строит свои модели на основе Open WebUI или еще только выбирает фреймворк, на котором предстоит строить будущую модель

К интеграции с Open WebUI

Новости

Флоу вайб-кодинга с Claude Code + speckit

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

tl dr:

- итеративный constitution.md

- промтинг фич с помощью md-файлов

- git-ветки для контроля урона

- вычитка документации вручную

- авто-кодинг с код-ревью финального mr.

На скрине случайно получившаяся сегодня гармоничная композицияи из того, чем себя можно занять, пока агент в IDE коптит.

Читать далее

Я автоматизировал поиск работы, чтобы пройти тест Тьюринга у HR. Открытый эксперимент

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

Привет, Хабр. Я Вадим, QA-инженер.

Все мы знаем, как работает найм. Твое резюме может быть идеальным, но если в нем нет нужного ключевого слова или оно не понравилось алгоритму первичного отсева (ATS) — ты в пролете.

Я решил взломать эту систему. Инженерно.

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

Ниже — краткий лог разработки: как мы боролись с «машинным акцентом», почему нейросети врут про опыт и удалось ли мне обмануть рекрутеров.

Читать далее

Синдром импостора: как перестать бояться публиковать код

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

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

Читать далее

От Python к Go: Как я ускорил сканер в 10 раз и обошел Cloudflare

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

Современные WAF — это крепости, которые открывают ворота любому, кто знает секретное рукопожатие. Я переписал свой Red Team сканер с Python на Go и обнаружил, что топовые защиты сдаются и отдают бинарные данные, принимая бота за легитимный браузер. История о том, как uTLS и правильный ClientHello ломают логику "защитников". Код, бенчмарки и (конечно) тесты, проведенные строго на внутренних полигонах.

Читать далее

Я почувствовал себя клоуном, подключая 5 библиотек ради устойчивого API-клиента

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

Если ваш API-клиент выглядит как башня декораторов — вы уже в зоне инженерной боли. Рассказываю, как я из этого выбрался.

Читать далее

Автоматизация SEO для агросайта: от 134 страниц каталога до 358 SEO-страниц с ИИ. Технический разбор

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

Claude AI + Python + pandas = экономия 85% времени. Полный разбор архитектуры, кода и подводных камней.

Читать далее

AI Bridge: Как по-простому дать Gemini «руки» для управления вашим компьютером

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

Представьте: вы скидываете нейросети скриншот сложной программы (будь то Cinema 4D, Excel или 1С) и говорите: «Сделай мне вот это». И через секунду мышка на вашем экране начинает сама летать по кнопкам, выполняя работу за вас.

Это не магия и не дорогой корпоративный софт. Это AI Bridge — микро-утилита на Python, которую можно запустить за минуту.

Читать далее

Запускаем AI-ассистента на бесплатном CPU: Qwen2.5 + Gradio + Hugging Face Spaces

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

Каждый раз, когда кто-то говорит про запуск LLM, возникает вопрос: "А где взять GPU?" Облачные GPU стоят денег, локальные видеокарты стоят ещё больших денег, а бесплатные GPU-тиры исчезают быстрее, чем появляются.

Но что если можно запустить полноценного AI-ассистента вообще без GPU? На обычном CPU. Бесплатно. С хорошей поддержкой русского языка. И развернуть его за 15-20 минут.

В этой статье рассказывается, как запустить Qwen2.5-3B на бесплатном CPU-тире Hugging Face Spaces, создать веб-интерфейс с помощью Gradio и получить работающего ассистента с поддержкой русского языка. Никаких глубоких знаний не требуется — только базовый Python и аккаунт на Hugging Face.

Если вы устали искать бесплатный GPU или просто хотите поэкспериментировать с LLM без лишних затрат — эта статья для вас.

Читать далее

AG-UI. Как написать AI ассистента для подбора подарков за 20 минут

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

Всем привет! Я Никита, Principal Engineer в стартапе AG2, мейнтейнер одноименного фреймворка для разработки AI агентов (AG2), автор фреймворка FastStream и просто опенсорс и AI энтузиаст.

И, как любой разработчик, я иногда запускаю пет-проекты.

Один из таких проектов, который я запустил после новогодних праздников - это AI ассистент по подбору подарков (с интегрированным вишлистом) Дарий

На его примере я хочу рассказать о протоколе AG-UI и на практике показать, как разработать ChatGPT-like агентное приложение за пару минут. Рассмотрим как бекенд (python), так и фронтенд (NextJS).

Важное уточнение: это реальный проект, с которым вы можете взаимодействовать. Это не разбор искусственных hello-world примеров.

После прочтения статьи у вас будет подробное руководство по разработке интерактивных chat-based приложений с элементами Generative UI.

Читать далее

Telegram‑бот для (само)дисциплины на Python: aiogram 3, APScheduler и деплой на VDS

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

Привет, Хабр!

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

Что имеем as is - пет‑проект о том, как я с нуля собрал и выкатил в прод Telegram‑бота, который напоминает о фокусе дня, считает выполнения, дает ачивки, мягко мотивирует, работает по таймзонам и крутится на VDS под systemd.

Заценить

Статанализ — must-have для проектов с Codex/ClaudeCode

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

На днях у Кирилла Мокевнина вышел пост про то, как он разлюбил динамическую типизацию. Мысль понятная: на больших кодовых базах отсутствие типов начинает дорого стоить.

Хочу дополнить аргументом, который в 2026 году уже стал прям must-have: статанализ и типы — это лучший self-check для AI-агента.

Современные агенты для разработки (Claude Code на Opus 4.5 и ChatGPT Codex 5.2 High) хорошо пишут код. Ошибок уровня «переменная не объявлена», «импорт забыл», «опечатка в имени метода» по сути уже почти нет. 

Основные промахи чаще про другое:

Читать далее

«Спрятать и не потерять»: Реализуем DSSS-стеганографию в MP3 на Python. AES-256 против сжатия с потерями

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

Принято считать, что стеганография в аудио умирает, как только файл пережимают в MP3. Классический метод LSB (замена младших битов) действительно не выдерживает встречи с психоакустической моделью сжатия — данные просто стираются как «неслышимый мусор».

Но что, если подойти к задаче не как к замене битов, а как к радиосвязи? В этой статье мы напишем приложение ChameleonLab на Python (PyQt6 + NumPy). Мы откажемся от хрупких методов в пользу военной технологии DSSS (расширение спектра), применим криптографию AES-256 и научим наш сигнал выживать даже при перекодировании в 128kbps. Разберем математику корреляции, борьбу с рассинхронизацией ffmpeg и почему иногда шум — это хорошо.

Читать далее

Ближайшие события

Я устал выпрашивать логи у завода, поэтому написал свой симулятор сталеплавильной печи

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

Давайте честно. Все эти конференции про "Цифровые Двойники" и "AI на производстве" - это красиво только на слайдах в PowerPoint.

В реальности, когда ты приходишь к главному технологу и просишь данные для обучения модели (например, чтобы предсказывать прогар футеровки), происходит одно из двух:

Читать далее

Как мы пытались научить ML считать трудоёмкость в промышленности — и что из этого вышло

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

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

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

Именно с такой реальностью нам (мне и коллегам) и пришлось столкнуться.

Читать далее

Одно кольцо, чтобы повелевать остальными: собираем лимитирование, ретраи и circuit breaker в одной библиотеке

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

Я чувстовал себя клоуном подключая 5ю библиотеку для написания устойчивого к ошибкам API клиента. После этого я написал библиотеку объединяющую все воедино. Мотивация и история архитектурных решений.

Читать далее

Как мы с помощью ML попали на остров

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

Машинное обучение обычно ассоциируется с датасетами, метриками и бесконечными экспериментами в ноутбуках. Но в какой-то момент для нас ML перестал быть абстрактной технологией - и стал маршрутом. Причём буквально. Эта история о том, как модели, гипотезы и пара неочевидных решений привели нас не только к рабочему результату, но и на самый настоящий остров Парамушир (северные Курилы).

Попытка улететь на вертолёте из Петропавловска-Камчатского в Северо-Курильск сразу превратилась в маленькое приключение: местные хором пугали погодой и перспективами — «можете не прилететь, а если вдруг прилетите, то потом не улетите». Камчатка в этом смысле честна и беспощадна, особенно к планам. Но желание полетать на вертолёте здесь перевешивало все разумные доводы — уж слишком манила сама идея увидеть полуостров с воздуха, да ещё и недорого (у вертолетных экскурсии на Камчатке кусачие цены). На вопрос "как не играть в рулетку с погодой" - ответ очевиден, ML.

P.S. хоть Хабр и не про туризм, но вдруг кому интересно, на Парамушире есть и свои достопримечательности, такие как действующий вулкан Эбеко и аэродромное плато (бывшие японские ангары) поэтому не только ради дешевого полета на вертолете мы оказались в Северо-Курильске.

Читать далее

От «яблока» до «королевы»: как нейросети учатся понимать смысл слов через эмбеддинги

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

Представьте, что вы объясняете ребёнку, что такое «яблоко». Вы покажете картинку, дадите попробовать, расскажете, что оно круглое, сладкое, растёт на дереве, а теперь попробуйте объяснить это нейросети. Она не видит, не пробует, но она понимает только числа.

Как же тогда заставить машину понять, что «яблоко» ближе к «груше», чем к «трактору»? Ответ на самом деле кроется в элегантном приёме, который произвёл революцию в NLP- векторных представлениях слов, или эмбеддингах.

Проблема «слепого» кодирования: почему one-hot не работает

Самый наивный подход- это пронумеровать все слова в словаре и закодировать каждое вектором из нулей и одной единицы:

Читать далее

MCPHero: MCP tools как native tools в openai

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

MCPHero - новая библиотека/проект для Python для использования MCP tools как native tools в ИИ библиотеках типа openai, которые не поддерживают MCP сами по себе.

Читать далее

Ритуал создания API в традициях древних ацтеков (часть II)

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

Процесс масштабирования бэкенд приложения на основе flask_restx и OpenApi. Реализация авторизации в приложении и обеспечение базового уровня безопасности.

Читать далее
1
23 ...