Сообщество / ИИ

Для бота с расписанием хочу попробовать модель поменьше

gleb_tomsk
Junior
Сообщения: 90
Репутация: 72
Дата регистрации:
21.08.2026
АВТОР ТЕМЫ09 окт. 2026 г., 19:27 (GMT+3)
Хочу сравнить 7b и 14b на простом боте спортклуба в телеге. Человек спрашивает: «во сколько плавание и сколько стоит разовое?» Боту даём расписание и прайс, он отвечает по ним. Ни советов по тренировкам, ни сочинений.

В тестовых данных пусть будет плавание в 18:30 за 600 рублей, а бокс в 19:00 за 500. Уже есть что перепутать)) Ещё спрошу про воскресенье, которого в расписании нет: тут лучше отправить к администратору, чем придумать занятие.

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

Если на этом 7b справится, тогда уже померяю, насколько быстрее отвечает. Очень хочется, чтобы вывезла!
1
masha_spb
Middle
Сообщения: 129
Репутация: 98
Дата регистрации:
11.08.2026
09 окт. 2026 г., 19:27 (GMT+3)
Глеб, добавь ещё «я приду к семи, на плавание успею?». Тут мало повторить 18:30: надо понять, что занятие уже началось, и не подставить время бокса. Люди ведь не будут задавать вопросы как в твоём тесте.

И обеим моделям дай один и тот же кусок расписания. Если одной поиск принёс плавание, а второй только бокс, сравниваешь уже работу поиска. За угловатую фразу я тоже не снимала бы балл. Но с уверенным «приходите в семь» такого бота людям не выпускала бы.
3
kirill_nsk
Middle
Сообщения: 184
Репутация: 129
Дата регистрации:
26.08.2026
10 окт. 2026 г., 11:00 (GMT+3)
маша, этот вопрос про «успею к семи» меня самого бы в ступор ввёл)) я пока читал, сначала подумал ну да успеет, в семь же бокс. потом дошло что плавание уже началось.

а расписание вы как ей даёте, прям в промпт каждый раз вставляете? я думал оно как-то само из файла читает 🤦 я 7b до сих пор не поставил, а тут уже такие тесты гоняют
3
lexa92
Middle
Сообщения: 163
Репутация: 145
Дата регистрации:
09.08.2026
10 окт. 2026 г., 13:01 (GMT+3)
kirill_nsk, в обычном запросе к Ollama модель сама файл не открывает. Расписание ей передаёт код бота; если отдельно подключены инструменты для чтения файлов, это уже другая схема.

По порядку, раз уж встал вопрос.

1. Кто читает файл. В простом варианте — бот: открывает расписание и добавляет его текст к запросу вместе с вопросом пользователя. Не обязательно именно в system prompt, главное — чтобы актуальное расписание действительно попало в контекст.

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

3. Часы. Бот должен передать дату, время и часовой пояс клуба. Но даже с ними модель может ошибиться в «приду к семи, успею?»: ещё надо понять, на какое занятие человек собирается. Точный расчёт времени лучше делать кодом, а при неясном вопросе переспросить.

4. Модели можно скачать так:

ollama pull qwen2.5:7b
ollama pull qwen2.5:14b

Сколько это займёт, зависит от сети. Память тоже зависит не только от числа параметров, но и от кванта, длины контекста и числа одновременных запросов. Размер файла модели — не весь расход оперативки. На тесном сервере сравнивай их по очереди, без требования держать обе загруженными.

5. Не меряй на глаз. Ollama отдаёт eval_count и eval_duration; длительность там в наносекундах. Для токенов в секунду: eval_count / eval_duration × 1 000 000 000. Это скорость генерации, а не полное время ожидания ответа. Отдельно смотри загрузку модели и время обработки входа. keep_alive помогает избежать повторной загрузки, если памяти хватает; холодный и уже прогретый запуск лучше записывать отдельно.

Когда поставишь — прогони одинаковые вопросы на обеих и неси цифры вместе с примерами ответов. По «вроде быстрее» я диагнозов не ставлю.
3
kirill_nsk
Middle
Сообщения: 184
Репутация: 129
Дата регистрации:
26.08.2026
11 окт. 2026 г., 09:00 (GMT+3)
lexa92, спасибо, теперь дошло)) то есть файл читает бот и суёт в запрос, а не модель сама. вечером попробую 7b поставить по твоим командам, гляну сколько качаться будет
0
lexa92
Middle
Сообщения: 163
Репутация: 145
Дата регистрации:
09.08.2026
11 окт. 2026 г., 11:00 (GMT+3)
kirill_nsk, пока вечер не наступил, одна поправка к плану.

«Сколько качаться будет» — это про твой канал, не про модель. Файл сольётся и забудется, а дальше ты с этим живёшь. Число, которое реально смотрят, — скорость генерации на твоём железе.

После установки запускай так:

ollama run qwen2.5:7b --verbose

Задай любой вопрос, и в конце ответа увидишь строки eval count и eval rate, токены в секунду. Вот их и сравнивай между 7b и 14b на одном и том же вопросе из теста gleb_tomsk.

И перед этим:

free -h
ollama ps

Вторая команда при запущенной модели покажет, сколько она заняла и на чём крутится — GPU или чистый CPU. Если упрётся в процессор, 14b будет ползти так, что вопрос «7b или 14b» отпадёт сам.

Но сначала прогони обе по тесту на правильность. Скорость бесполезна, если быстро отвечает «плавание в семь».

Вывод ollama ps сюда, гляну что у тебя за расклад.
6
kirill_nsk
Middle
Сообщения: 184
Репутация: 129
Дата регистрации:
26.08.2026
12 окт. 2026 г., 12:02 (GMT+3)

lexa92 писал:
Вывод ollama ps сюда, гляну


с работы по ssh глянул, а там пусто(( я 7b ещё не ставил даже. так и должно быть если ничего не запущено?
0
gleb_tomsk
Junior
Сообщения: 90
Репутация: 72
Дата регистрации:
21.08.2026
12 окт. 2026 г., 14:01 (GMT+3)

lexa92 писал:
Если упрётся в процессор, 14b будет ползти так, что вопрос «7b или 14b» отпадёт сам


Добавлю цифр, чтобы «ползти» было чем измерять. Прикидка, не стенд: 14b в q4 на четырёх ядрах — это примерно 2 токена в секунду, слово в полсекунды. В телеге такое выглядит как «бот печатает…» целую минуту, и человеку проще позвонить администратору)) 7b на тех же ядрах выдаёт раза в три больше, а это уже живая переписка. Так что да, вопрос отпадёт сам — и я почти уверен, что в пользу маленькой. Потому весь тест и затеял.

kirill_nsk, пустой ollama ps — так и должно быть: модель занимает память, только пока работает, после ответа ещё минут пять держится и выгружается. Запустишь ollama run и из второго окна ssh дашь ps — строка появится. И напиши заодно, сколько ядер у тебя на тарифе — прикину, чего ждать от 14b.

А вообще у меня самого ps сейчас пустой: стенд под собственный тест так и не поднял, обещал сравнение, а пока красивые одни вопросы)) Вечером ставлю обе, завтра принесу свой eval rate.
1
kirill_nsk
Middle
Сообщения: 184
Репутация: 129
Дата регистрации:
26.08.2026
13 окт. 2026 г., 07:01 (GMT+3)

gleb_tomsk писал:
напиши заодно, сколько ядер у тебя на тарифе


одно)) у меня Ba Lite, самый первый. я его вообще брал чтобы чатгпт с телефона через туннель открывался, а не чтобы модели гонять. для туннеля мне его полгода хватало идеально, просто я из него похоже вырос.

вчера вечером всё-таки поставил 7b по командам lexa92. качалось минут сорок, я ужинал и поглядывал в окно ssh как полоска ползёт. lexa92 правильно сказал что это про канал а не про модель, но я всё равно засёк, ну вот)) поставилась нормально, я аж обрадовался рано.

запустил с --verbose и задал вопрос из твоего теста: «во сколько плавание и сколько стоит разовое».

и блин. оно начало отвечать по слову в секунду. я минуты две просто смотрел как оно мучается. в конце выдало примерно такое:


total duration: 2m38s
eval count: 182 tokens
eval rate: 1.15 tokens/s


цифры по памяти переписал, но порядок такой.

при этом, что смешно, ответила правильно. плавание в 18:30, 600 рублей, с боксом не перепутала. голова у неё есть, просто не хватает всего остального))

пока оно думало, из второго окна:


gleb ты просил ps, вот он:
qwen2.5:7b 4.7 GB 100% CPU

и free -h:
Mem: total 1.9Gi used 1.8Gi
Swap: почти весь забит


и да, минут через пять после ответа строка в ps пропала сама, как ты и писал. я сначала испугался что модель удалилась, а это она просто выгрузилась 🤦

gleb_tomsk, короче расклад: одно ядро и два гига. на 14b мне сюда даже смотреть страшно наверное? правильно понимаю план — сначала тариф менять, потом уже тесты гонять? присматриваюсь к Heka, там вроде 4 ядра и 8 гигов, для 7b должно хватить за глаза. или для начала и Uab потянет? я просто не понимаю сколько модель ест кроме своих 4.7 гигов — контекст же тоже чего-то весит?
1
lexa92
Middle
Сообщения: 163
Репутация: 145
Дата регистрации:
09.08.2026
13 окт. 2026 г., 10:01 (GMT+3)

kirill_nsk писал:
голова у неё есть, просто не хватает всего остального))


тут точнее: не хватает конкретно оперативки. модель в твоём же ps занимает 4.7 GB при total 1.9Gi — она не медленно думает, она сидит в свопе и гоняет веса с диска на каждый токен. отсюда 1.15 tok/s, и тюнингом это не лечится.

либо qwen2.5:3b на этом же сервере и тот же тест гонять, либо под 7b тариф с 8 ГБ, на 4 она целиком тоже не встанет. туннель на Ba Lite оставляй, ему хватает.

gleb_tomsk, первый чужой eval rate у тебя есть, жди свой.
1
kate_ekb
Middle
Сообщения: 116
Репутация: 81
Дата регистрации:
12.08.2026
13 окт. 2026 г., 11:00 (GMT+3)

lexa92 писал:
туннель на Ba Lite оставляй, ему хватает


это правильно. а когда kirill_nsk возьмёт сервер с 8 гб — не ставь ollama голой в систему. положи в compose рядом с ботом и задай лимит по памяти, иначе при первом же запросе она съест всё, что видит, и oom killer прибьёт то, что попало. обычно бота. потом опять «бот умер, а туннель живой».
3
kirill_nsk
Middle
Сообщения: 184
Репутация: 129
Дата регистрации:
26.08.2026
14 окт. 2026 г., 08:00 (GMT+3)
kate_ekb, «бот умер, а туннель живой» звучит как моё ближайшее будущее)) лимит — это одна строчка в compose? у меня его вообще нет, бот в tmux живёт(
2
void_3am
Middle
Сообщения: 164
Репутация: 112
Дата регистрации:
14.08.2026
15 окт. 2026 г., 05:00 (GMT+3)
kirill_nsk, полгода назад сервер брался чтобы чатгпт с телефона открывался. теперь ты с работы по ssh смотришь, как 7b мучается в свопе, и спрашиваешь про compose. следующий этап — свой датасет, предупреди заранее)

а tmux не позор, у меня там половина жизни живёт. вторая половина — в screen, и вот это уже да, позор
0
kirill_nsk
Middle
Сообщения: 184
Репутация: 129
Дата регистрации:
26.08.2026
15 окт. 2026 г., 07:01 (GMT+3)
void_3am, датасет у меня уже есть, кстати. папка со скриншотами моих ошибок за полгода, называется «разобрать потом». можно дообучать))

утром с работы опять залез по ssh на пациента. ollama ps пустой, модель за ночь выгрузилась, бот в tmux живой и молчит. только теперь я знаю, что он молчит не потому что занят, а потому что мозги ему не влезают. как-то спокойнее было когда я этого не знал.

про screen молчу, я думал tmux это уже дно. оказывается вниз ещё этаж есть)

поглядываю теперь на Heka, там 8 гб как раз под 7b из совета lexa92. страшно одного: сейчас у меня один сервер и одна проблема за раз, а по моей статистике два сервера это не в два раза больше проблем, а в квадрате.

а у тебя самого модели где-то крутятся, или в screen чисто жизнь?
1
lexa92
Middle
Сообщения: 163
Репутация: 145
Дата регистрации:
09.08.2026
15 окт. 2026 г., 11:00 (GMT+3)
kate_ekb дело говорит. kirill_nsk, да, одна строка:

mem_limit: 6g

под сервисом с ollama. тогда oom killer придёт за ней, а не за ботом — без лимита он бьёт первый попавшийся процесс, и попавшимся обычно оказывается именно бот.
но лимит вешается на контейнер, а не на tmux. пока compose нет, оформи ollama systemd-юнитом с MemoryMax=6G, эффект тот же.
4
void_3am
Middle
Сообщения: 164
Репутация: 112
Дата регистрации:
14.08.2026
16 окт. 2026 г., 02:00 (GMT+3)
kirill_nsk, честно? модель у меня крутилась ровно один вечер. съела всю память, утащила за собой бота, и я понял, что мы с ней не созданы друг для друга. теперь у меня крутится только бот, который перезапускает сам себя, — это единственный интеллект на моём сервере 🌚

а проблемы от двух серверов растут не в квадрате, а в кубе. проверял, у меня их три
5
M
misha_1c
Junior
Сообщения: 15
Репутация: 12
Дата регистрации:
27.09.2026
27 окт. 2026 г., 21:31 (GMT+3)
Вернусь к исходному тесту с расписанием. Добавьте условное исключение на конкретную дату: обычно плавание в 18:30, но в этот день занятие отменено. Бот, который красиво повторил обычную строку и пропустил отмену, тест не прошёл. Размер модели этого требования не меняет.
0
A
anna_edu
Junior
Сообщения: 17
Репутация: 6
Дата регистрации:
18.09.2026
28 окт. 2026 г., 22:58 (GMT+3)
А ответ на «к семи на плавание успею?» не должен придумывать правило допуска на начавшееся занятие. По расписанию видно, что начало в 18:30. Можно сообщить время и предложить уточнить у администратора, пустят ли позже. Это ещё один случай, где верное вычитание не заменяет недостающих правил.
0