Сегодня каждый может обзавестись своим собственным ИИ. И даже не потребуется супер-пупер компьютера и дата-центра с кучей GPU. При этом он будет работать без Интернета. Давайте, приступим к тому, чтобы обзавестись на компьютере милым и пушистым питомцем.
Ollama
Для начала нужно установить ollama. Переходим на страницу ollama.com/download и скачиваем дистрибутив для своей операционной системы.

Устанавливаем ollama из дистрибутива. После установки она запустится и будет висеть в фоне.
Далее, нам нужно скачать модели ИИ. Их можно найти на странице ollama.com/search

Для наших целей попробуем скачать модель gemma3. На текущий день очень хорошая модель. Но нужно будет решить одну проблему. Размер RAM на вашем компьютере. Переходим на страницу gemma3.

Необходимо выбрать такую размерность модели, чтобы ее вес поместился в объем доступной на компьютере оперативной памяти. Если же есть GPU, то ориентируйтесь на размер доступной видеопамяти.
Для эксперимента возьмем модель gemma3 с размерностью 4b. Весит она немного, около 3,3Гб. Скорее всего, она сможет работать даже на офисном компьютере, у которого есть хотя бы 4Гб на борту.
Копируем команду для загрузки этой модели.

Далее, нам потребуется открыть терминал. Для Windows — Win + R для вызова строки. В ней набираем cmd и Enter. Или правой кнопкой на Пуск и выбрать Терминал. Для mac: Command + Space. Ищем Terminal. запускаем.
Первым делом в терминале набираем команду ollama list Жмем Enter. Этой командой мы получаем список уже загруженных моделей. Если в ответе список пришел пустой, значит пора загрузить первую модель. Для этого мы и копировали команду для загрузки ollama run gemma3. Вводим эту команду в терминале и начинается процесс скачивания модели. Ждем.
Когда модель скачается, появится строка такого вида:
Send a message (/? for help)
Это означает, что модель ИИ готова к работе и ждет вашего первого вопроса ))) Да, это все, что нужно было сделать, чтобы на компьютере появился собственный, бесплатный, локальный ИИ.
Когда вы устанете говорить с моделью и захотите закончить, просто закройте терминал или наберите команду /bye
Наводим красоту (Streamlit)
Терминал - это, конечно, хорошо. Но не так красиво, как хотелось бы. Поэтому следующим шагом давайте сделаем интерфейс. Быстро и легко.
Вначале нужно подготовить среду для создания интерфейса. Вот рецепт приготовления:
1. Устанавливаем Python на компьютер
Идем по ссылке www.python.org/downloads/

Скачиваем дистрибутив питона и устанавливаем.
Проверяем, все ли установилось. Для Windows в терминале введите python --version и нажмите Enter. Система должна показать версию Python, установленную на вашем компьютере. Для Mac в терминале введите python3 --version и нажмите Enter.
2. Устанавливаем VS Code
Далее нам нужно будет установить среду разработки. В нашем случае самым простым будет VS Code. Идем по ссылке code.visualstudio.com/download

Скачиваем и устанавливаем. Теперь нам понадобится папка, в которой будет лежать код. Назовите ее, например LLM_CHAT. Создаем ее, где удобно.
Открываем VS Code. Нажимаем «Open» и указываем только что созданную папку.

Курсор подводим к имени папки и нажимаем иконку для создания файла.

Пока он пустой.

Перед тем, как скопировать в него несколько строчек кода нам нужно установить две библиотеки: streamlit и ollama. Сначала нужно создать изолированную среду. Открываем терминал, но уже в VS Code. Подведите курсор к нижней границе синего. Курсор изменится на две стрелочки. Потяните вверх. Под занавесом покажется терминал.
Теперь нужно создать изолированное окружение. Это просто. Сначала снова узнаем версию python.
Для Windows в терминале введите python --version и нажмите Enter. Система должна показать версию Python, установленную на вашем компьютере. Для Mac в терминале введите python3 --version и нажмите Enter.
Далее, введите команду, например. Где вместо python3.13.1 укажите ту версию, которая была получена на предыдущем шаге.
virtualenv -p python3.13.1 venv
Если будет ругаться, что не установлен virtualenv, то просто в терминале наберите команду
pip install virtualenv
В папке проекта теперь появилась папка с именем venv. Нам нужно в этой папке найти папку bin и файл activate. У вас структура папок, возможно, будет выглядеть иначе. Вместо opt может быть Scripts или сразу увидите bin, но где-то в ней точно будет лежать файл activate.

Теперь нам надо узнать путь к этому файлу. Получаем его в контекстном меню.

Копируем путь. И делаем вот что. В терминале набираем такую команду
. <путь к файлу activate>
Будьте внимательны. Это Точка Пробел Путь к файлу. Путь к файлу просто вставляйте после точки и пробела (мы ведь только что его скопировали в контекстном меню)
Получится что-то такое.
. /Downloads/LLM_chat/venv/bin/activate
После того, как нажмете Enter в начале командной строки терминала появится (venv). Значит все ОК.
Осталось совсем немного. Теперь мы можем приступить к установке необходимых нам библиотек.
В терминале набираем команду
pip install streamlit
И следующую команду
pip install ollama
Надеюсь, что установка прошла успешно. Это так, если после каждой установки будет написано Successfully и бла бла бла.
Теперь в файл llm_chat.py копируем следующий код
import streamlit as st
import ollama
from typing import Dict, Generator
# получаем список моделей из ollama
models_obj = ollama.list()
models = [x.model for x in models_obj.models]
# создаем выпадающее меню для списка моделей
model_name = st.sidebar.selectbox('**LLM**', models)
# создаем надпись в левой стороне экрана
st.sidebar.write('**options**')
# создаем текстовое поле для системного промта
sys_prompt = st.sidebar.text_area(
'sys prompt', 'Ты русскоговорящий помощник. Помоги, чем можешь. Отвечай только на русском языке.',
)
# создаем слайдер для выбора размера максимального количества токенов
ctx_num = st.sidebar.select_slider(
"max tokens",
options=[
512,
1024,
2048,
4096,
8192,
32768,
65636,
],
)
# определяем конфигурацию модели
options = {"temperature":0, "ctx_num":ctx_num}
# функция генерации ответа модели в режиме стрим
def ollama_generator(model_name: str, messages: Dict, options: Dict) -> Generator:
stream = ollama.chat(
model=model_name, messages=messages, options=options, stream=True)
for chunk in stream:
yield chunk['message']['content']
# создаем название чатбота на экране интерфейса
st.title("? Chatbot")
st.caption("? Chatbot powered by human")
# определяем начальное состояние чата
if "messages" not in st.session_state:
st.session_state["messages"] = []
# создаем механику чата
for msg in st.session_state.messages:
st.chat_message(msg["role"]).write(msg["content"])
if prompt := st.chat_input():
st.session_state.messages.append({"role": "system", "content": sys_prompt})
st.session_state.messages.append({"role": "user", "content": prompt})
st.chat_message("user").write(prompt)
with st.chat_message("assistant"):
response = st.write_stream(ollama_generator(
model_name, st.session_state.messages, options))
st.session_state.messages.append(
{"role": "assistant", "content": response})
3. Всё готово.
Выдохнули.
Запускаем интерфейс и смотрим, что у нас получилось. Для этого в терминале вводим команду
streamlit run llm_chat.py
Обратите внимание, что при первом запуске streamlit, он попросит указать ваш email. Это не к чему. Просто нажмите Enter и снова введите команду запуска.
Откроется окно браузера, и мы увидим интерфейс собственного ИИ, с которым работать удобнее, чем в терминале.

Можно выбрать модель, системный промт и размер, так называемого окна. Размер окна лучше большим не делать. Достаточно будет 1024 или 2048, если только вы не собираетесь в промт отправить полное собрание сочинений какого-нибудь известного автора.
Теперь у вас есть собственный ИИ. Ему не нужен интернет, он бесплатный и достаточно умный. Хотите еще умнее, то нужно установить модель побольше, но это если ресурсы позволяют.
Экспериментируйте!
Комментарии (0)
ukmsz
24.09.2025 14:08Да, но ведь олама имеет встроенный интерфейс для общения с недавних пор.
riv9231
24.09.2025 14:08OpenWebUI называется, если кто-то будет искать, его можно сразу соеденить не только с ollama но и с openrouter.io где 5$ хватит на пару месяцев работы с любыми нейросетями. И не надо будет 100500 видеокарт и серверную материнку для них.
ash_lm
24.09.2025 14:08Кто-нибудь может объяснить зачем всё это, когда есть LM Studio?
riv9231
24.09.2025 14:08Ещё в самом начала нейрохайпа LM Studio у меня нужные мне нейронки не запускал, а в ollama они сами скачиваются, выбирать можно из их репозитория с различными квантинизациями. Если нет в репозитории, то можно и hf скачать - тоже есть вариант как её подложить.
В общем LM Studio изначально не зашел, а потом ещё раз я не пробовал. В ollama постоянно что-то улучшается, есть offload на процессор, по мере роста истории диалога и исчерпания vram процесс может упасть, тогда ollama перезапустит его, увеличив offload слоёв на процессор - очень удобно не делать гигантский запас VRAM на kvcache.
Gedeonych
После реализации такой инструкции начинающий юзер получит прекрасного домашнего помощника у которого он сможет спрашивать например, сколько будет 2+2. Вероятность ошибочного ответа крайне низка.