Alias для zsh с конфигурационным файлом YAML
Полноценный пример создания рабочего alias для командной оболочки zsh с запросом из командной строки и полным набором параметров с подключением внешнего файла настроек yaml
Установите дополнительные зависимости
# Для Ubuntu/Debian
sudo apt-get install yq jq
#Для Arch
sudo pacman -S yq jq
Добавить настройку в ~/.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"