Ollama e LiteLLM: Habr mostrou como executar um chat LLM local em Python sem nuvem
Um guia inicial claro sobre desenvolvimento de LLM local em Python surgiu. Detalha passo a passo a instalação do Ollama, execução do modelo qwen2.5, configuraçã

На Habr вышел подробный вводный гайд по локальной LLM-разработке на Python. Автор предлагает начать не с облачных API, а со связки Ollama и LiteLLM: установить модель на свой компьютер, поднять окружение и получить первый ответ прямо из main.py.
Почему локально
Большинство стартовых материалов по LLM ведут новичка в облако уже на первом шаге: зарегистрируйся, возьми API-ключ, привяжи карту, следи за лимитами. Для разработчика, который просто хочет понять базовую механику, это лишний и совсем ненужный шум. В новом гайде предлагают другой маршрут: сначала поднять всё локально, чтобы увидеть саму логику работы модели без биллинга, внешних сервисов и страха случайно потратить деньги на тесты.
Подход хорош ещё и тем, что делает весь путь запроса прозрачным. В статье буквально раскладывают цепочку по звеньям: Python-код отправляет сообщение в LiteLLM, тот передаёт его в Ollama, а Ollama уже общается с локальной моделью и возвращает ответ обратно в программу. Такой разбор полезен не только новичкам.
Он помогает быстро понять, где искать проблему, если модель не отвечает, сервис не запущен или код смотрит не в тот адрес.
«Это не “магия AI”, а обычный программный поток».
Что входит в стек Автор сразу разделяет роли инструментов, потому что их легко перепутать.
Ollama здесь отвечает за запуск локальной модели и доступ к ней через локальный сервер. LiteLLM — это Python-библиотека с единым интерфейсом вызова моделей. За счёт этого код, который сегодня работает с локальной моделью, позже можно сравнительно просто перенести на облачного провайдера, не переписывая приложение с нуля.
Для первого знакомства это практичный компромисс между простотой и заделом на будущее. Первая часть серии устроена как маршрут без лишней теории. Читателю не предлагают сразу проектировать агентов, подключать память или строить сложный интерфейс.
Задача проще и полезнее: убедиться, что локальная модель вообще работает, что Python может до неё достучаться и что ответ возвращается в код без внешней инфраструктуры. За счёт этого материал читается как рабочий чеклист для первого вечера, а не как абстрактный обзор технологий. установить Ollama под Windows, macOS или Linux; скачать модель qwen2.
5:3b и проверить ответ прямо в терминале; при слабом железе переключиться на qwen2.5:1.5b; создать виртуальное окружение Python и поставить LiteLLM; * написать минимальный main.
py, который отправляет запрос на http://localhost:11434. Отдельный плюс — выбор модели для старта. qwen2.
5:3b подаётся как компактный и достаточно удобный вариант для обычного ноутбука, особенно если нужен русский язык. Если ресурсов мало, автор сразу даёт запасной сценарий с более лёгкой версией. Это делает материал не абстрактным, а приземлённым: статья не обещает чудес, а помогает реально дойти до первого рабочего ответа без долгой возни с конфигами уже на старте.
Первый вызов из Python Ключевой момент текста — минимальный пример на Python.
В нём импортируется функция completion из LiteLLM, задаётся модель в формате ollama_chat/qwen2.5:3b, указывается локальный api_base, а пользовательский вопрос передаётся в список messages. Это важная деталь: даже один запрос оформляется в той же структуре, что и будущий диалог.
По сути, автор не просто показывает разовый вызов, а сразу закладывает основу под консольный чат с историей сообщений и контекстом. Полезно и то, что статья не заканчивается на счастливом пути. В конце разобраны типичные сбои: Connection refused, если Ollama не запущена; Model not found, если имя модели в коде не совпадает с установленной; слишком долгий первый ответ из-за загрузки модели в память; ошибка ModuleNotFoundError, если пакет поставили не в то окружение; проблемы с кодировкой в PowerShell.
Для начинающего разработчика такой блок часто ценнее теории, потому что именно на этих мелочах большинство первых экспериментов и ломается. Автор уже обозначил продолжение серии: во второй части из одиночного запроса будут собирать маленький консольный чат, а затем добавят историю сообщений и контекст. То есть это не разрозненный сниппет, а аккуратный вход в более длинный маршрут — от локального запуска модели до полноценного приложения.
Такой формат особенно полезен тем, кто хочет не просто запустить демо, а поэтапно превратить LLM в часть обычного Python-проекта.
Что это значит
Интерес к локальным моделям снова растёт, и такие материалы снижают порог входа лучше любых общих обзоров. Связка Ollama и LiteLLM показывает, что первый рабочий прототип можно собрать без облака и API-ключей, а потом при желании масштабировать ту же архитектуру дальше. Для русскоязычных разработчиков это хороший мост между любопытством к LLM и реальным кодом. Именно такие инструкции чаще всего превращают интерес в практику.