{"id":15,"date":"2025-11-19T09:16:22","date_gmt":"2025-11-19T06:16:22","guid":{"rendered":"https:\/\/gawker.ru\/?p=15"},"modified":"2025-11-19T09:16:22","modified_gmt":"2025-11-19T06:16:22","slug":"%d1%83%d1%81%d1%82%d0%b0%d0%bd%d0%be%d0%b2%d0%ba%d0%b0-llama-cpp-%d0%bd%d0%b0-ubuntu","status":"publish","type":"post","link":"https:\/\/gawker.ru\/?p=15","title":{"rendered":"\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 llama.cpp \u043d\u0430 Ubuntu"},"content":{"rendered":"\n<p>\u0421\u043a\u0440\u0438\u043f\u0442 \u0430\u0432\u0442\u043e\u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 llama.cpp \u043d\u0430 ubuntu<br><\/p>\n\n\n\n<h1 class=\"wp-block-heading\">&lt;code><\/h1>\n\n\n\n<p>!\/usr\/bin\/env bash<\/p>\n\n\n\n<p>set -euo pipefail<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e<\/h3>\n\n\n\n<p>INSTALL_DIR=&#187;$HOME\/llama.cpp&#187; # \u041a\u0443\u0434\u0430 \u043a\u043b\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439<br>BRANCH=&#187;master&#187; # \u0412\u0435\u0442\u043a\u0430 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f<br>BACKEND=&#187;cpu&#187; # cpu | cuda<\/p>\n\n\n\n<h1 class=\"wp-block-heading\">\u041d\u0435\u0431\u043e\u043b\u044c\u0448\u0430\u044f \u043c\u043e\u0434\u0435\u043b\u044c \u0434\u043b\u044f \u0442\u0435\u0441\u0442\u0430 (\u0431\u044b\u0441\u0442\u0440\u043e \u0434\u043e\u043a\u0430\u0447\u0430\u0442\u044c \u0438 \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c)<\/h1>\n\n\n\n<p>HF_MODEL_DEFAULT=&#187;ggml-org\/gemma-3-270m-it-GGUF&#187;<br>HF_MODEL=&#187;$HF_MODEL_DEFAULT&#187;<\/p>\n\n\n\n<p>RUN_TEST=1 # 1 = \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c \u0442\u0435\u0441\u0442, 0 = \u043d\u0435\u0442<br>TEST_PROMPT=&#187;\u0422\u044b \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u0430\u044f LLM. \u041e\u0434\u043d\u0438\u043c \u043a\u043e\u0440\u043e\u0442\u043a\u0438\u043c \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d\u0438\u0435\u043c \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0438, \u0447\u0442\u043e \u0442\u044b \u0443\u043c\u0435\u0435\u0448\u044c.&#187;<\/p>\n\n\n\n<h6 class=\"wp-block-heading\">#<\/h6>\n\n\n\n<p>usage() {<br>cat &lt;&lt;EOF<br>\u0410\u0432\u0442\u043e\u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 llama.cpp \u043d\u0430 Ubuntu + \u0442\u0435\u0441\u0442\u043e\u0432\u044b\u0439 \u0437\u0430\u043f\u0443\u0441\u043a \u043c\u043e\u0434\u0435\u043b\u0438.<\/p>\n\n\n\n<p>\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435:<br>$0 [\u043e\u043f\u0446\u0438\u0438]<\/p>\n\n\n\n<p>\u041e\u043f\u0446\u0438\u0438:<br>&#8212;dir PATH \u041f\u0443\u0442\u044c \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 (\u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e: $HOME\/llama.cpp)<br>&#8212;branch BRANCH \u0412\u0435\u0442\u043a\u0430 git (\u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e: master)<br>&#8212;cpu \u0421\u0431\u043e\u0440\u043a\u0430 \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u043b\u044f CPU (\u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e)<br>&#8212;cuda \u0421\u0431\u043e\u0440\u043a\u0430 \u0441 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u043e\u0439 CUDA (\u043d\u0443\u0436\u0435\u043d \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u043d\u044b\u0439 CUDA Toolkit)<br>&#8212;model REPO Hugging Face repo-id GGUF \u043c\u043e\u0434\u0435\u043b\u0438 \u0434\u043b\u044f \u0442\u0435\u0441\u0442\u0430<br>(\u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e: $HF_MODEL_DEFAULT)<br>\u043f\u0440\u0438\u043c\u0435\u0440: ggml-org\/gemma-3-1b-it-GGUF<br>&#8212;no-test \u041d\u0435 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c \u0442\u0435\u0441\u0442\u043e\u0432\u044b\u0439 \u043f\u0440\u043e\u0433\u043e\u043d \u043c\u043e\u0434\u0435\u043b\u0438<br>-h, &#8212;help \u041f\u043e\u043a\u0430\u0437\u0430\u0442\u044c \u044d\u0442\u0443 \u0441\u043f\u0440\u0430\u0432\u043a\u0443<\/p>\n\n\n\n<p>\u041f\u0440\u0438\u043c\u0435\u0440\u044b:<br>$0<br>$0 &#8212;cuda<br>$0 &#8212;model ggml-org\/gemma-3-1b-it-GGUF<br>$0 &#8212;dir \/opt\/llama.cpp &#8212;cuda &#8212;no-test<br>EOF<br>exit 1<br>}<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u041f\u0430\u0440\u0441\u0438\u043d\u0433 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u043e\u0432<\/h3>\n\n\n\n<p>while [[ $# -gt 0 ]]; do<br>case &#171;$1&#187; in<br>&#8212;dir)<br>INSTALL_DIR=&#187;$2&#8243;<br>shift 2<br>;;<br>&#8212;branch)<br>BRANCH=&#187;$2&#8243;<br>shift 2<br>;;<br>&#8212;cpu)<br>BACKEND=&#187;cpu&#187;<br>shift<br>;;<br>&#8212;cuda)<br>BACKEND=&#187;cuda&#187;<br>shift<br>;;<br>&#8212;model)<br>HF_MODEL=&#187;$2&#8243;<br>shift 2<br>;;<br>&#8212;no-test)<br>RUN_TEST=0<br>shift<br>;;<br>-h|&#8212;help)<br>usage<br>;;<br>*)<br>echo &#171;\u041d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u0439 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442: $1&#187;<br>usage<br>;;<br>esac<br>done<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 \u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u044f<\/h3>\n\n\n\n<p>if [[ ! -f \/etc\/os-release ]]; then<br>echo &#171;\u041d\u0435 \u043c\u043e\u0433\u0443 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c \u0434\u0438\u0441\u0442\u0440\u0438\u0431\u0443\u0442\u0438\u0432 (\u043d\u0435\u0442 \/etc\/os-release). \u041f\u0440\u043e\u0434\u043e\u043b\u0436\u0430\u044e \u043d\u0430 \u0441\u0432\u043e\u0439 \u0441\u0442\u0440\u0430\u0445 \u0438 \u0440\u0438\u0441\u043a\u2026&#187;<br>else<br>. \/etc\/os-release<br>if [[ &#171;${ID:-}&#187; != &#171;ubuntu&#187; ]]; then<br>echo &#171;\u0412\u043d\u0438\u043c\u0430\u043d\u0438\u0435: \u0441\u043a\u0440\u0438\u043f\u0442 \u0440\u0430\u0441\u0441\u0447\u0438\u0442\u0430\u043d \u043d\u0430 Ubuntu, \u0430 \u0443 \u0442\u0435\u0431\u044f: ${PRETTY_NAME:-unknown}&#187;<br>echo &#171;\u041f\u0440\u043e\u0434\u043e\u043b\u0436\u0430\u044e, \u043d\u043e \u0447\u0442\u043e-\u0442\u043e \u043c\u043e\u0436\u0435\u0442 \u043f\u043e\u0439\u0442\u0438 \u043d\u0435 \u0442\u0430\u043a.&#187;<br>fi<br>fi<\/p>\n\n\n\n<p>if [[ &#171;$EUID&#187; -ne 0 ]] &amp;&amp; ! command -v sudo &gt;\/dev\/null 2&gt;&amp;1; then<br>echo &#171;\u041d\u0443\u0436\u0435\u043d sudo \u0438\u043b\u0438 \u0437\u0430\u043f\u0443\u0441\u043a \u043e\u0442 root \u0434\u043b\u044f \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u043f\u0430\u043a\u0435\u0442\u043e\u0432.&#187;<br>exit 1<br>fi<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0435\u0439<\/h3>\n\n\n\n<p>echo &#171;==&gt; \u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0435\u0439 \u0447\u0435\u0440\u0435\u0437 apt\u2026&#187;<br>if [[ &#171;$EUID&#187; -eq 0 ]]; then<br>APT=&#187;apt-get&#187;<br>else<br>APT=&#187;sudo apt-get&#187;<br>fi<\/p>\n\n\n\n<p>$APT update -y<br>$APT install -y \\<br>build-essential \\<br>cmake \\<br>git \\<br>python3 \\<br>python3-venv \\<br>python3-pip \\<br>libcurl4-openssl-dev<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u041e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u0431\u044d\u043a\u0435\u043d\u0434\u0430 CUDA<\/h3>\n\n\n\n<p>if [[ &#171;$BACKEND&#187; == &#171;cuda&#187; ]]; then<br>if ! command -v nvcc &gt;\/dev\/null 2&gt;&amp;1; then<br>echo &#171;\u0412\u041d\u0418\u041c\u0410\u041d\u0418\u0415: \u0437\u0430\u043f\u0440\u043e\u0448\u0435\u043d\u0430 \u0441\u0431\u043e\u0440\u043a\u0430 \u0441 CUDA (&#8212;cuda), \u043d\u043e nvcc \u043d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d.&#187;<br>echo &#171;\u0423\u0431\u0435\u0434\u0438\u0441\u044c, \u0447\u0442\u043e \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d CUDA Toolkit \u0438 nvcc \u0432 PATH.&#187;<br>echo &#171;\u041f\u0430\u0434\u0430\u044e \u043e\u0431\u0440\u0430\u0442\u043d\u043e \u043d\u0430 CPU-only \u0441\u0431\u043e\u0440\u043a\u0443.&#187;<br>BACKEND=&#187;cpu&#187;<br>else<br>echo &#171;==&gt; \u041d\u0430\u0439\u0434\u0435\u043d nvcc, \u0441\u043e\u0431\u0438\u0440\u0430\u0435\u043c \u0441 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u043e\u0439 CUDA.&#187;<br>fi<br>fi<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u041a\u043b\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \/ \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f<\/h3>\n\n\n\n<p>echo &#171;==&gt; \u0414\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u044f \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438: $INSTALL_DIR&#187;<\/p>\n\n\n\n<p>if [[ -d &#171;$INSTALL_DIR\/.git&#187; ]]; then<br>echo &#171;==&gt; \u0420\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439 \u0443\u0436\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442, \u043e\u0431\u043d\u043e\u0432\u043b\u044f\u044e\u2026&#187;<br>cd &#171;$INSTALL_DIR&#187;<br>git fetch &#8212;all &#8212;prune<br>git checkout &#171;$BRANCH&#187;<br>git pull &#8212;ff-only origin &#171;$BRANCH&#187;<br>else<br>echo &#171;==&gt; \u041a\u043b\u043e\u043d\u0438\u0440\u0443\u044e \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439 ggml-org\/llama.cpp\u2026&#187;<br>git clone &#8212;branch &#171;$BRANCH&#187; https:\/\/github.com\/ggml-org\/llama.cpp.git &#171;$INSTALL_DIR&#187;<br>cd &#171;$INSTALL_DIR&#187;<br>fi<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u0421\u0431\u043e\u0440\u043a\u0430 \u0447\u0435\u0440\u0435\u0437 CMake<\/h3>\n\n\n\n<p>echo &#171;==&gt; \u041a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0441\u0431\u043e\u0440\u043a\u0438\u2026&#187;<\/p>\n\n\n\n<p>CMAKE_ARGS=&#187;-DCMAKE_BUILD_TYPE=Release \\<br>-DLLAMA_BUILD_TESTS=OFF \\<br>-DLLAMA_BUILD_EXAMPLES=ON \\<br>-DLLAMA_BUILD_SERVER=ON&#187;<\/p>\n\n\n\n<p>if [[ &#171;$BACKEND&#187; == &#171;cuda&#187; ]]; then<br>CMAKE_ARGS=&#187;$CMAKE_ARGS -DGGML_CUDA=ON&#187;<br>fi<\/p>\n\n\n\n<p>cmake -S . -B build $CMAKE_ARGS<\/p>\n\n\n\n<p>echo &#171;==&gt; \u0421\u0431\u043e\u0440\u043a\u0430 (cmake &#8212;build)\u2026&#187;<br>cmake &#8212;build build -j&#187;$(nproc)&#187;<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0441\u0438\u043c\u043b\u0438\u043d\u043a\u043e\u0432 \u0432 ~\/.local\/bin<\/h3>\n\n\n\n<p>echo &#171;==&gt; \u0421\u043e\u0437\u0434\u0430\u044e \u0441\u0438\u043c\u043b\u0438\u043d\u043a\u0438 \u0432 \\$HOME\/.local\/bin\u2026&#187;<\/p>\n\n\n\n<p>BIN_DIR=&#187;$HOME\/.local\/bin&#187;<br>mkdir -p &#171;$BIN_DIR&#187;<\/p>\n\n\n\n<p>for bin in llama-cli llama-server; do<br>if [[ -f &#171;$INSTALL_DIR\/build\/bin\/$bin&#187; ]]; then<br>ln -sf &#171;$INSTALL_DIR\/build\/bin\/$bin&#187; &#171;$BIN_DIR\/$bin&#187;<br>echo &#187; -&gt; $BIN_DIR\/$bin -&gt; $INSTALL_DIR\/build\/bin\/$bin&#187;<br>else<br>echo &#187; [!] \u041d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d $INSTALL_DIR\/build\/bin\/$bin (\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e, \u0438\u0437\u043c\u0435\u043d\u0438\u043b\u0430\u0441\u044c \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u043f\u0440\u043e\u0435\u043a\u0442\u0430).&#187;<br>fi<br>done<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u0422\u0435\u0441\u0442\u043e\u0432\u044b\u0439 \u043f\u0440\u043e\u0433\u043e\u043d \u043c\u043e\u0434\u0435\u043b\u0438<\/h3>\n\n\n\n<p>if [[ &#171;$RUN_TEST&#187; -eq 1 ]]; then<br>echo<br>echo &#171;===================================================================&#187;<br>echo &#171;==&gt; \u0422\u0435\u0441\u0442\u043e\u0432\u044b\u0439 \u0437\u0430\u043f\u0443\u0441\u043a \u043c\u043e\u0434\u0435\u043b\u0438: $HF_MODEL&#187;<br>echo &#171;===================================================================&#187;<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>LLAMA_CLI=\"$INSTALL_DIR\/build\/bin\/llama-cli\"\nif &#91;&#91; ! -x \"$LLAMA_CLI\" ]] &amp;&amp; &#91;&#91; -x \"$HOME\/.local\/bin\/llama-cli\" ]]; then\n    LLAMA_CLI=\"$HOME\/.local\/bin\/llama-cli\"\nfi\n\nif &#91;&#91; ! -x \"$LLAMA_CLI\" ]]; then\n    echo \"&#91;!] \u041d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u044b\u0439 \u0444\u0430\u0439\u043b llama-cli. \u041f\u0440\u043e\u043f\u0443\u0441\u043a\u0430\u044e \u0442\u0435\u0441\u0442\u043e\u0432\u044b\u0439 \u0437\u0430\u043f\u0443\u0441\u043a.\"\nelse\n    echo \"\u041a\u043e\u043c\u0430\u043d\u0434\u0430:\"\n    echo \"  $LLAMA_CLI -hf \\\"$HF_MODEL\\\" -p \\\"$TEST_PROMPT\\\" -n 64 --temp 0.7\"\n    echo\n    echo \"\u0421\u0435\u0439\u0447\u0430\u0441 \u0431\u0443\u0434\u0435\u0442 \u0441\u043a\u0430\u0447\u0430\u043d\u0430 \u043c\u043e\u0434\u0435\u043b\u044c (\u0435\u0441\u043b\u0438 \u0435\u0451 \u0435\u0449\u0451 \u043d\u0435\u0442) \u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d \u043a\u043e\u0440\u043e\u0442\u043a\u0438\u0439 \u043f\u0440\u043e\u0433\u043e\u043d.\"\n    echo\n\n    set +e\n    \"$LLAMA_CLI\" -hf \"$HF_MODEL\" -p \"$TEST_PROMPT\" -n 64 --temp 0.7\n    TEST_EXIT=$?\n    set -e\n\n    echo\n    echo \"-------------------------------------------------------------------\"\n    if &#91;&#91; $TEST_EXIT -ne 0 ]]; then\n        echo \"&#91;!] \u0422\u0435\u0441\u0442\u043e\u0432\u044b\u0439 \u0437\u0430\u043f\u0443\u0441\u043a \u0437\u0430\u0432\u0435\u0440\u0448\u0438\u043b\u0441\u044f \u0441 \u043e\u0448\u0438\u0431\u043a\u043e\u0439 (\u043a\u043e\u0434 $TEST_EXIT).\"\n        echo \"    \u041f\u0440\u043e\u0432\u0435\u0440\u044c \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435 \u043e\u0431 \u043e\u0448\u0438\u0431\u043a\u0435 \u0432\u044b\u0448\u0435 (\u0447\u0430\u0441\u0442\u043e \u044d\u0442\u043e \u0441\u0435\u0442\u044c \u0438\u043b\u0438 Hugging Face).\"\n    else\n        echo \"\u0422\u0435\u0441\u0442\u043e\u0432\u044b\u0439 \u0437\u0430\u043f\u0443\u0441\u043a \u043f\u0440\u043e\u0448\u0451\u043b \u0443\u0441\u043f\u0435\u0448\u043d\u043e. \u041e\u0442\u0432\u0435\u0442 \u043c\u043e\u0434\u0435\u043b\u0438 \u043f\u043e\u043a\u0430\u0437\u0430\u043d \u0432\u044b\u0448\u0435.\"\n    fi\n    echo \"-------------------------------------------------------------------\"\nfi<\/code><\/pre>\n\n\n\n<p>fi<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u0418\u0442\u043e\u0433\u043e\u0432\u0430\u044f \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f<\/h3>\n\n\n\n<p>echo<br>echo &#171;===================================================================&#187;<br>echo &#171;\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 llama.cpp \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0430.&#187;<br>echo<br>echo &#171;\u0414\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u044f \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u043e\u0432: $INSTALL_DIR&#187;<br>echo &#171;\u0411\u0438\u043d\u0430\u0440\u043d\u0438\u043a\u0438: $INSTALL_DIR\/build\/bin&#187;<br>echo &#171;\u0421\u0438\u043c\u043b\u0438\u043d\u043a\u0438: $HOME\/.local\/bin\/llama-cli, llama-server&#187;<br>echo<br>echo &#171;\u0415\u0441\u043b\u0438 \\$HOME\/.local\/bin \u0435\u0449\u0451 \u043d\u0435 \u0432 PATH, \u0434\u043e\u0431\u0430\u0432\u044c, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0432 ~\/.bashrc:&#187;<br>echo &#8216; export PATH=&#187;$HOME\/.local\/bin:$PATH&#187;&#8216;<br>echo<br>echo &#171;\u041f\u0440\u0438\u043c\u0435\u0440\u044b \u0437\u0430\u043f\u0443\u0441\u043a\u0430:&#187;<br>echo &#187; llama-cli -h&#187;<br>echo &#187; llama-server -h&#187;<br>echo<br>echo &#171;\u0414\u043b\u044f \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u0441\u0432\u043e\u0435\u0439 \u043c\u043e\u0434\u0435\u043b\u0438 \u0441 Hugging Face:&#187;<br>echo &#187; llama-cli -hf -p \\&#187;\u041f\u0440\u0438\u0432\u0435\u0442\\&#187; -n 64&#8243;<br>echo &#171;\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440:&#187;<br>echo &#187; llama-cli -hf ggml-org\/gemma-3-1b-it-GGUF -p \\&#187;\u041f\u0440\u0438\u0432\u0435\u0442\\&#187; -n 64&#8243;<br>echo &#171;===================================================================&#187;&lt;\/code><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u0421\u043a\u0440\u0438\u043f\u0442 \u0430\u0432\u0442\u043e\u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 llama.cpp \u043d\u0430 ubuntu &lt;code> !\/usr\/bin\/env bash set -euo pipefail \u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e INSTALL_DIR=&#187;$HOME\/llama.cpp&#187; # \u041a\u0443\u0434\u0430 \u043a\u043b\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439BRANCH=&#187;master&#187; # \u0412\u0435\u0442\u043a\u0430 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044fBACKEND=&#187;cpu&#187; # cpu | cuda \u041d\u0435\u0431\u043e\u043b\u044c\u0448\u0430\u044f \u043c\u043e\u0434\u0435\u043b\u044c \u0434\u043b\u044f \u0442\u0435\u0441\u0442\u0430 (\u0431\u044b\u0441\u0442\u0440\u043e \u0434\u043e\u043a\u0430\u0447\u0430\u0442\u044c \u0438 \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c) HF_MODEL_DEFAULT=&#187;ggml-org\/gemma-3-270m-it-GGUF&#187;HF_MODEL=&#187;$HF_MODEL_DEFAULT&#187; RUN_TEST=1 # 1 = \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c \u0442\u0435\u0441\u0442, 0 = \u043d\u0435\u0442TEST_PROMPT=&#187;\u0422\u044b \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u0430\u044f LLM. \u041e\u0434\u043d\u0438\u043c \u043a\u043e\u0440\u043e\u0442\u043a\u0438\u043c \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d\u0438\u0435\u043c \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0438, \u0447\u0442\u043e \u0442\u044b \u0443\u043c\u0435\u0435\u0448\u044c.&#187; # usage()&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-15","post","type-post","status-publish","format-standard","hentry","category-relations"],"_links":{"self":[{"href":"https:\/\/gawker.ru\/index.php?rest_route=\/wp\/v2\/posts\/15","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/gawker.ru\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/gawker.ru\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/gawker.ru\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/gawker.ru\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=15"}],"version-history":[{"count":2,"href":"https:\/\/gawker.ru\/index.php?rest_route=\/wp\/v2\/posts\/15\/revisions"}],"predecessor-version":[{"id":17,"href":"https:\/\/gawker.ru\/index.php?rest_route=\/wp\/v2\/posts\/15\/revisions\/17"}],"wp:attachment":[{"href":"https:\/\/gawker.ru\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=15"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/gawker.ru\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=15"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/gawker.ru\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=15"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}