Skip to content

Ollama Runner

Описание

runner-ollama — раннер для выполнения запросов к Ollama API для работы с LLM-моделями. Поддерживает режимы generate (генерация текста) и chat (диалог).

Возможности

  • Генерация текста (generate) и чат (chat) с LLM-моделями
  • Стриминг ответов в реальном времени
  • Настройка параметров генерации (temperature, top_p, top_k, max_tokens)
  • Выбор модели через переменные задач
  • Системные промпты для chat-режима
  • Статистика использования (токены, скорость, время)

Конфигурация

Общие параметры runner-common

См. Общая документация.

Ollama-specific параметры

Флаги командной строки

ФлагОписаниеПо умолчанию
--ollama-urlURL Ollama APIhttp://localhost:11434
--ollama-modelМодель по умолчаниюllama3.2
--ollama-temperatureТемпература генерации (0-1)0.7
--ollama-max-tokensМаксимум токенов для генерации2048
--ollama-top-pTop P sampling (0-1)0.9
--ollama-top-kTop K sampling40
--ollama-streamВключить стримингfalse
--ollama-timeoutТаймаут запроса (секунды)120

Переменные окружения

ПеременнаяОписание
OLLAMA_BASE_URLURL Ollama API
OLLAMA_MODELМодель по умолчанию
OLLAMA_TEMPERATUREТемпература генерации
OLLAMA_MAX_TOKENSМаксимум токенов
OLLAMA_TOP_PTop P sampling
OLLAMA_TOP_KTop K sampling
OLLAMA_STREAMСтриминг (true/false)
OLLAMA_TIMEOUTТаймаут запроса (сек)

YAML конфигурация

yaml
url: "https://app.com/"
token: "your-token"
concurrency: 2

# Ollama параметры
base_url: "http://localhost:11434"
model: "llama3.2"
temperature: 0.7
max_tokens: 2048
top_p: 0.9
top_k: 40
stream: true
timeout: 120

Переменные задач

ПеременнаяОписание
OLLAMA_MODELМодель для использования (переопределяет конфиг)
OLLAMA_MODEРежим: generate или chat (по умолчанию: generate)
OLLAMA_SYSTEM_PROMPTСистемный промпт для chat-режима
OLLAMA_TEMPERATUREТемпература для данного запроса
OLLAMA_MAX_TOKENSМаксимум токенов для данного запроса

Режимы работы

Generate (по умолчанию)

Простая генерация текста по промпту:

Command: "Расскажи интересный факт о космосе"

Chat

Диалоговая форма с системным промптом:

Command: "Какая погода сегодня?"
Variables:
  OLLAMA_MODE: "chat"
  OLLAMA_SYSTEM_PROMPT: "Ты помощник, который отвечает на русском языке"

Стриминг

При stream: true ответ выводится по мере генерации:

yaml
stream: true

Включает стриминг для более отзывчивого интерфейса.

Статистика

После выполнения запроса выводится статистика:

Stats: Prompt tokens: 150, Response tokens: 250, Duration: 2.3s, Speed: 108.7 tokens/s

Примеры использования

Базовый запуск

bash
export URL="https://your-server.com"
export TOKEN="your-token"
export OLLAMA_BASE_URL="http://localhost:11434"
export OLLAMA_MODEL="llama3.2"

./runner-ollama

Через конфиг

bash
./runner-ollama -config config.yaml

Генерация кода

Command: "Напиши функцию на Go для сортировки массива"
Variables:
  OLLAMA_MODEL: "codellama"

Чат с контекстом

Command: "Объясни мне принцип работы Docker"
Variables:
  OLLAMA_MODE: "chat"
  OLLAMA_SYSTEM_PROMPT: "Ты senior DevOps инженер. Отвечай подробно и с примерами."
  OLLAMA_TEMPERATURE: "0.3"

Требования

  • Ollama должен быть запущен и доступен по указанному URL
  • Модель должна быть скачана: ollama pull llama3.2
  • Для других моделей: ollama pull <model_name>

Поддерживаемые модели

Любые модели, доступные в Ollama:

  • llama3.2 (по умолчанию)
  • llama3.1
  • codellama
  • mistral
  • mixtral
  • phi3
  • gemma
  • И другие

Остановка

Корректно обрабатывает SIGINT и SIGTERM. Текущие запросы отменяются.