Xenith/help.h
2026-10-04 13:57:10 +07:00

154 lines
5.8 KiB
C
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#ifndef XENITH_HELP_H
#define XENITH_HELP_H
#define NEW
#define TRAIN
#define GEN
#define INFO
#define GRADCHECK
#define BENCH
//#define OLLAMA
#define UPDATE
//#define TUI
#ifdef NEW
#define CMD_NEW " new создать новую модель из корпуса\n"
#else
#define CMD_NEW ""
#endif
#ifdef TRAIN
#define CMD_TRAIN " train обучить существующую модель\n"
#else
#define CMD_TRAIN ""
#endif
#ifdef GEN
#define CMD_GEN " gen сгенерировать текст\n"
#else
#define CMD_GEN ""
#endif
#ifdef INFO
#define CMD_INFO " info показать конфигурацию модели\n"
#else
#define CMD_INFO ""
#endif
#ifdef GRADCHECK
#define CMD_GRADCHECK " gradcheck проверить градиенты численно\n"
#else
#define CMD_GRADCHECK ""
#endif
#ifdef BENCH
#define CMD_BENCH " bench замерить скорость форварда и шага обучения\n"
#else
#define CMD_BENCH ""
#endif
#ifdef OLLAMA
#define CMD_OLLAMA " ollama запустьтить сервер с api ollama\n"
#else
#define CMD_OLLAMA ""
#endif
#ifdef UPDATE
#define CMD_UPDATE " update Автомотическое обновление с гита\n"
#else
#define CMD_UPDATE ""
#endif
#ifdef TUI
#define CMD_TUI " tui Графическо-консольный режим (находится в тестировании)\n"
#else
#define CMD_TUI ""
#endif
#ifdef NEW
#define OPT_NEW "\nОПЦИИ new\n" \
" --corpus PATH текст для построения словаря (обязательно)\n" \
" --out PATH файл модели (по умолчанию model.xnh)\n" \
" --vocab N размер словаря (по умолчанию 512)\n" \
" --embd N размер эмбеддинга (по умолчанию 128)\n" \
" --layers N число слоёв (по умолчанию 4)\n" \
" --heads N число голов (по умолчанию 4)\n" \
" --ctx N максимальный контекст (по умолчанию 128)\n" \
" --ffn N размер FFN (по умолчанию 4*embd)\n" \
" --rope N база RoPE (по умолчанию 10000)\n" \
" --seed N зерно инициализации (по умолчанию 1337)\n" \
" --untied отдельная матрица выхода вместо привязанной к wte\n" \
" --view-vocab выводит словарь нейросети\n"
#else
#define OPT_NEW ""
#endif
#ifdef TRAIN
#define OPT_TRAIN "\nОПЦИИ train\n" \
" --corpus PATH обучающий текст (обязательно)\n" \
" --out PATH куда сохранить (по умолчанию перезапись входного файла)\n" \
" --steps N шагов (по умолчанию 1000)\n" \
" --batch N батч (по умолчанию 8)\n" \
" --block N длина окна (по умолчанию 64)\n" \
" --lr F скорость (по умолчанию 3e-4)\n" \
" --wd F weight decay (по умолчанию 0.01)\n" \
" --clip F клип нормы градиента (по умолчанию 1.0)\n" \
" --warmup N прогрев (по умолчанию 100)\n" \
" --seed N зерно (по умолчанию 1337)\n" \
" --ckpt-every N промежуточное сохранение каждые N шагов (0 = нет)\n" \
" --val-every N валидация каждые N шагов (0 = нет)\n" \
" --val-tokens N размер валидации (по умолчанию 20000)\n" \
" --threads N потоков (0 = все ядра)\n" \
" --resume продолжить с сохранённого step (Adam-state из файла)\n" \
" --fast эксперементаль флаг который ускоряет foreword примерно в x2-x5\n"
#else
#define OPT_TRAIN ""
#endif
#ifdef GEN
#define OPT_GEN "\nОПЦИИ gen\n" \
" --prompt STR стартовый текст\n" \
" --n N сколько токенов (по умолчанию 200)\n" \
" --temp F температура, 0 = жадный выбор (по умолчанию 0.8)\n" \
" --top-k N top-k (0 = выкл)\n" \
" --top-p F top-p (1.0 = выкл)\n" \
" --seed N зерно\n" \
" --no-stream не печатать в процессе\n" \
" --batch \"a;b;c\" несколько промптов OPTчерез ;\n" \
" --show-tokens показать id токенов\n"
#else
#define OPT_GEN ""
#endif
#ifdef GRADCHECK
#define OPT_GRADCHECK "\nОПЦИИ GRADCHECK\n" \
" --fast эксперементаль флаг который ускоряет foreword примерно в x2-x5\n"
#else
#define OPT_GRADCHECK ""
#endif
#ifdef BENCH
#define OPT_BENCH "\nОПЦИИ BENCH\n" \
" --fast эксперементаль флаг который ускоряет foreword примерно в x2-x5\n"
#else
#define OPT_BENCH ""
#endif
#ifdef OLLAMA
#define OPT_OLLAMA "\nОПЦИИ ollama\n" \
" --port PORT порт на котором будет открыт сервер\n" \
" --conf NAME.conf конфиг с настройками и списком моделей\n"
#else
#define OPT_OLLAMA ""
#endif
#define HELP_TEXT \
"ИСПОЛЬЗОВАНИЕ\n" \
" ./bin/Xenith <команда> [опции]\n\n" \
"КОМАНДЫ\n" \
CMD_NEW \
CMD_TRAIN \
CMD_GEN \
CMD_INFO \
CMD_GRADCHECK \
CMD_BENCH \
CMD_OLLAMA \
CMD_UPDATE \
CMD_TUI \
OPT_NEW \
OPT_TRAIN \
OPT_GEN \
OPT_GRADCHECK \
OPT_BENCH \
OPT_OLLAMA \
"\n"
#endif