Цель
Научиться отличать модель, клиентское приложение и агента. На этом этапе агент ещё не создаётся: сначала нужно воспроизводимо получить ответ модели.
Задачи
- Установить и проверить Ollama.
- Выбрать небольшую модель, подходящую компьютеру.
- Выполнить запрос через CLI.
- Выполнить тот же запрос через HTTP API.
- Сохранить только обезличенный пример запроса и ответа.
- Измерить время ответа и записать ограничения.
Критерии завершения
- health check Ollama успешен;
- модель отвечает на один и тот же тестовый запрос через CLI и API;
- известны model id, время ответа и объём доступного контекста;
- секреты и персональные пути не попали в Git;
- написана короткая инструкция повторного запуска.
Результат выполнения
Команды, обезличенные ответы, измерения и ограничения сохранены в RESULTS.md.
Следующий шаг
Во второй лабораторной работе свободный ответ будет заменён на проверяемую JSON-структуру.
Результаты выполнения
Дата проверки: 2026-08-14.
Среда
- macOS на Apple Silicon;
- объединённая память: 24 ГБ;
- Ollama:
0.32.12; - модель:
qwen3:8b; - размер модели на диске: около 5,2 ГБ;
- заявленное моделью контекстное окно: 40K токенов;
- локальный API:
http://127.0.0.1:11434; - ускорение: Apple Metal.
Персональные пути, идентификаторы устройства и ключи в отчёт не включены.
Тестовый prompt
Ответь одним коротким предложением: что такое HTTP API?Проверка через CLI
ollama run qwen3:8b \
"Ответь одним коротким предложением: что такое HTTP API?"Полученный ответ:
HTTP API — это набор правил и методов для взаимодействия с веб-сервисами через HTTP-запросы.Проверка через HTTP API
curl -s http://127.0.0.1:11434/api/chat \
-H "Content-Type: application/json" \
-d '{
"model": "qwen3:8b",
"messages": [
{
"role": "user",
"content": "Ответь одним коротким предложением: что такое HTTP API?"
}
],
"stream": false
}' | python3 -m json.toolПолученный message.content:
HTTP API — это интерфейс для взаимодействия между клиентом и сервером через HTTP-запросы и ответы, позволяющий обмениваться данными в веб-приложениях.Ключевые признаки успешного ответа:
{
"model": "qwen3:8b",
"done": true,
"done_reason": "stop",
"prompt_eval_count": 27,
"eval_count": 235
}Измерения
Метрики первого сохранённого HTTP-запроса:
- полное время: около 10,85 с;
- загрузка модели: около 0,09 с;
- обработка prompt: около 0,05 с;
- генерация: около 10,70 с;
- скорость генерации: около 22 токенов/с.
Время вычислено из полей Ollama, значения которых возвращаются в наносекундах. Скорость рассчитана как eval_count / eval_duration.
Наблюдения и ограничения
- ответы на одинаковый prompt могут отличаться, потому что генерация вероятностная;
qwen3:8bможет возвращать отдельное полеthinking, увеличивающее время и число сгенерированных токенов;- локальная модель не гарантирует фактическую точность ответа;
- скорость зависит от свободной памяти, температуры устройства, длины контекста и параметров генерации;
- при остановленном Ollama запрос к порту
11434завершится ошибкой подключения.
Повторный запуск
- Запустить приложение Ollama.
- Проверить сервер:
curl http://127.0.0.1:11434/api/version. - Проверить модель:
ollama list. - Повторить CLI- и HTTP-запросы выше.
Итог
Одна локальная модель успешно вызвана двумя клиентами: командой Ollama и HTTP-клиентом curl. Следующий этап — заменить свободный текст проверяемым structured output.