Настройка LLM и AI-агентов под задачу/aka-gst

Эксперимент 1 · 3 мин

Лабораторная работа 1: модель как API

Содержание раздела
  1. Цель
  2. Задачи
  3. Критерии завершения
  4. Результат выполнения
  5. Следующий шаг
  6. Результаты выполнения
  7. Среда
  8. Тестовый prompt
  9. Проверка через CLI
  10. Проверка через HTTP API
  11. Измерения
  12. Наблюдения и ограничения
  13. Повторный запуск
  14. Итог

Цель

Научиться отличать модель, клиентское приложение и агента. На этом этапе агент ещё не создаётся: сначала нужно воспроизводимо получить ответ модели.

Задачи

  1. Установить и проверить Ollama.
  2. Выбрать небольшую модель, подходящую компьютеру.
  3. Выполнить запрос через CLI.
  4. Выполнить тот же запрос через HTTP API.
  5. Сохранить только обезличенный пример запроса и ответа.
  6. Измерить время ответа и записать ограничения.

Критерии завершения

  • 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

bash
ollama run qwen3:8b \
  "Ответь одним коротким предложением: что такое HTTP API?"

Полученный ответ:

HTTP API — это набор правил и методов для взаимодействия с веб-сервисами через HTTP-запросы.

Проверка через HTTP API

bash
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-запросы и ответы, позволяющий обмениваться данными в веб-приложениях.

Ключевые признаки успешного ответа:

json
{
  "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 завершится ошибкой подключения.

Повторный запуск

  1. Запустить приложение Ollama.
  2. Проверить сервер: curl http://127.0.0.1:11434/api/version.
  3. Проверить модель: ollama list.
  4. Повторить CLI- и HTTP-запросы выше.

Итог

Одна локальная модель успешно вызвана двумя клиентами: командой Ollama и HTTP-клиентом curl. Следующий этап — заменить свободный текст проверяемым structured output.