Alias для zsh с конфигурационным файлом YAML

Полноценный пример создания рабочего alias для командной оболочки zsh с запросом из командной строки и полным набором параметров с подключением внешнего файла настроек yaml

Добавить настройку в ~/.zshrc:

# Alias для работы с конфигурационным файлом
alias ollama-config='func() {
    local config_file="$1"
    local prompt="$2"
    
    if [ ! -f "$config_file" ]; then
        echo "Config file $config_file not found!"
        return 1
    fi
    
    # Читаем конфигурацию из файла
    local model=$(yq eval ".model" "$config_file")
    local temperature=$(yq eval ".options.temperature" "$config_file")
    local top_p=$(yq eval ".options.top_p" "$config_file")
    local top_k=$(yq eval ".options.top_k" "$config_file")
    local num_predict=$(yq eval ".options.num_predict" "$config_file")
    local seed=$(yq eval ".options.seed" "$config_file")
    
    # Выполняем запрос
    ollama run "$model" --temperature "$temperature" --top-p "$top_p" \
    --top-k "$top_k" --num-predict "$num_predict" --seed "$seed" "$prompt"
}; func'

# Alias для JSON конфигурации
alias ollama-json='func() {
    local config_file="$1"
    local prompt="$2"
    
    if [ ! -f "$config_file" ]; then
        echo "Config file $config_file not found!"
        return 1
    fi
    
    # Используем jq для извлечения параметров
    local model=$(jq -r ".model" "$config_file")
    local temperature=$(jq -r ".options.temperature" "$config_file")
    local top_p=$(jq -r ".options.top_p" "$config_file")
    
    ollama run "$model" --temperature "$temperature" --top-p "$top_p" "$prompt"
}; func'

Конфигурационный файл ollama_config.yaml:

model: qwen3:4b
options:
  temperature: 0.7
  top_p: 0.9
  top_k: 40
  num_predict: 256
  seed: 42
  repeat_penalty: 1.1
  mirostat: 2
  mirostat_tau: 5.0
  mirostat_eta: 0.1
format: text

Использование

# Установите yq для работы с YAML: brew install yq
ollama-config ollama_config.yaml "Расскажи о machine learning"

# Или с JSON конфигом
ollama-json config.json "Напиши код на Python"