AI/Ollama: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
|||
| (58 intermediate revisions by the same user not shown) | |||
| Line 3: | Line 3: | ||
<syntaxhighlight lang='bash'> | <syntaxhighlight lang='bash'> | ||
curl -fsSL https://ollama.com/install.sh | sh | curl -fsSL https://ollama.com/install.sh | sh | ||
ollama pull | ollama pull gpt-oss:20b | ||
ollama --version | ollama --version | ||
ollama ls | ollama ls | ||
| Line 15: | Line 15: | ||
export ANTHROPIC_BASE_URL=http://localhost:11434 | export ANTHROPIC_BASE_URL=http://localhost:11434 | ||
export ANTHROPIC_AUTH_TOKEN=ollama | export ANTHROPIC_AUTH_TOKEN=ollama | ||
export ANTHROPIC_API_KEY= | export ANTHROPIC_API_KEY='' | ||
export OLLAMA_NUM_CTX=32768 | export OLLAMA_NUM_CTX=32768 | ||
export OLLAMA_KEEP_ALIVE=5m | export OLLAMA_KEEP_ALIVE=5m | ||
claude --model gpt-oss:20b | claude --model gpt-oss:20b | ||
</syntaxhighlight> | </syntaxhighlight> | ||
|- | |||
|valign='top'| | |||
<syntaxhighlight lang='bash'> | |||
sudo usermod -aG render,video ${USER} | |||
echo 'id -nG'|sudo -i -u ${USER} bash | |||
newgrp render | |||
</syntaxhighlight> | |||
|valign='top'| | |||
|- | |- | ||
|valign='top' colspan='2'| | |valign='top' colspan='2'| | ||
| Line 69: | Line 78: | ||
{|class='wikitable mw-collapsible mw-collapsed' | {|class='wikitable mw-collapsible mw-collapsed' | ||
!scope='col' style='text-align:left'| | !scope='col' style='text-align:left'| | ||
[https://editor.plantuml.com/uml/ | [https://editor.plantuml.com/uml/jPHHRzCm4CVV-odyW4INh0rCsWCyRRGTJ0oeMYh44tBiI-lLzaK-frgryjrnudHhko3nGY8bKkx_y_tFT_4LUUuySUrxj5Qsv8uRbdEnNZgih1oXHiUyuvP22EoXIaB1A-rlqFglt00pQ36e1CZUO-_n-w2N9acM9Apxsh4PecStIWERRyc3wQKrK97BD0gkirpP0tp79WyWAi_p07nGbZi5590KjUQ6TwVu5cDpS1jmh3_tt4gkqSBPSp9QXSAokCe-tpDP1udrPq1OEG5KWu4S7kixKZPWBKwL_0NoulBoxRiN_gPERRW7zXcs9z9XMUN7qYhNIh0dQP8ObA2fmyASRq2oBqsuqQQvnfoohXtw0MgvyiIIfByi_G29tb-yoS-I98A6MrK0-LDu5vTd1ZoNtFEudU15HaqlPVkExdPjXsNJ2IKE6pUa-EcaX5Q_3nPXJ6AE5Hh8NYtcazbnvJks2EBNn3u50Hih1yAZsxRjwfgeG-WlivKApIjvvEs97CNG2El7tUq_piKuRDQnk_yp7y5AzDvXvT1vXn-1jb3BuJsXFIMlfxTiCRixPslOqZah7Tu7a0N2muDlQ0CcBDGvQrDmf49VhMTH5OsQxQ1TwBGvFyC_5uwP3MWiJOqLg2Mu9i--lAuyhIqgGQWYR0g1zyekOqj7TzUByMGOXki5-B5I4dB4TKZacAXSVUBjg-pz3lSLM5aVbdy0 Sturcture] | ||
|- | |- | ||
|valign='top'| | |valign='top'| | ||
| Line 78: | Line 87: | ||
{ | { | ||
{T- | {T- | ||
+/ | +**/** | Root File System | ||
++**/usr/local/bin/** | | ++**/usr/local/bin/** | Executable Binaries | ||
+++ollama | Ollama Server (Standalone | +++ollama | Ollama Server (Standalone) | ||
++**/usr/share/ollama/** | Ollama Shares (Resources) | |||
++**/ | +++**.ollama/** | Ollama Shares | ||
++++id_ed25519 | Private Key | |||
++++id_ed25519.pub | Public Key | |||
++** | |||
+++ | |||
++++ | |||
++++**models/** | Saved Models | ++++**models/** | Saved Models | ||
+++++blobs/ | Weights **(gpt-oss:20b)** | +++++blobs/ | Weights **(gpt-oss:20b)** | ||
+++++manifests/ | Model metadata | +++++manifests/ | Model metadata | ||
++**/etc/systemd/system/** | Systemd Services | |||
+++ollama.service | Systemd service file | |||
++**/home/$USER/** | User's Home Directory | |||
+++**.local/bin/** | User's Executable Binaries | |||
++++claude | Claude Code CLI | |||
+++**.ollama/** | Ollama Data Directory | |||
++++id_ed25519 | Private Key | |||
++++id_ed25519.pub | Public Key | |||
+++**.claude/** | Claude Code Data Directory | +++**.claude/** | Claude Code Data Directory | ||
++++config.json | API URL, keys, project context | ++++config.json | API URL, keys, project context | ||
| Line 111: | Line 125: | ||
|valign='top'| | |valign='top'| | ||
{|class='wikitable mw-collapsible' | {|class='wikitable mw-collapsible' | ||
!scope='col'| Variable | !scope='col'| Variable | ||
!scope='col'| Value | !scope='col'| Value | ||
!scope='col'| Impact | !scope='col'| Impact | ||
|- | |- | ||
!scope='row' style='text-align:left' | <code>OLLAMA_FLASH_ATTENTION</code> | !scope='row' style='text-align:left' | <code>OLLAMA_FLASH_ATTENTION</code> | ||
| Line 126: | Line 134: | ||
!scope='row' style='text-align:left' | <code>OLLAMA_KV_CACHE_TYPE</code> | !scope='row' style='text-align:left' | <code>OLLAMA_KV_CACHE_TYPE</code> | ||
| <code>q8_0</code> or <code>q4_0</code> || Compresses the '''short-term memory''' cache. <code>q8_0</code> saves space with almost no quality loss; <code>q4_0</code> saves even more space. | | <code>q8_0</code> or <code>q4_0</code> || Compresses the '''short-term memory''' cache. <code>q8_0</code> saves space with almost no quality loss; <code>q4_0</code> saves even more space. | ||
|- | |||
!scope='row' style='text-align:left' | <code>OLLAMA_NUM_PARALLEL</code> | |||
| <code>1</code> || '''Crucial for 32GB RAM.''' Limits Ollama to one task at a time to prevent '''Out of Memory''' crashes when using a 20B model. | |||
|- | |||
!scope='row' style='text-align:left' | <code>OLLAMA_KEEP_ALIVE</code> | |||
| <code>30m</code> || Keeps the <code>20B</code> model in your RAM for <code>30</code> minutes after use so you don't have to wait <code>20</code> seconds for it to '''reload''' every time. | |||
|- | |||
!scope='row' style='text-align:left' | <code>OLLAMA_NUM_CTX</code> | |||
| <code>6384</code> to <code>32768</code> || '''The most important.''' Controls the '''brain capacity.''' <code>32k</code> is standard for Claude Code but uses <code>~3GB</code> more RAM than the default <code>4k</code>. | |||
|- | |- | ||
!scope='row' style='text-align:left' | <code>OLLAMA_NUM_GPU</code> | !scope='row' style='text-align:left' | <code>OLLAMA_NUM_GPU</code> | ||
| <code>999</code> || Forces Ollama to offload as many layers as possible to your Intel Arc iGPU instead of the slower CPU. | | <code>999</code> || Forces Ollama to offload as many layers as possible to your Intel Arc iGPU instead of the slower CPU. | ||
|- | |- | ||
!scope='row' style='text-align:left' | <code> | !scope='row' style='text-align:left' | <code>OLLAMA_NUM_GPU</code> | ||
| <code> | | <code>0</code> || Forces Ollama CPU-only for all models | ||
|- | |||
!scope='row' style='text-align:left' | <code>CUDA_VISIBLE_DEVICES</code> | |||
| <code>-1</code> || Hides any GPU from the Ollama process | |||
|- | |||
!scope='row' style='text-align:left' | <code>ROCR_VISIBLE_DEVICES</code> | |||
| <code>-1</code> || Hides any GPU from the Ollama process | |||
|- | |||
!scope='row' style='text-align:left' | <code>OLLAMA_INTEL_GPU</code> | |||
| <code>1</code> || Forces Ollama to use Intel Arc GPU | |||
|} | |||
|} | |||
==Installation== | |||
{|class='wikitable mw-collapsible' | |||
!scope='col' style='text-align:left'| | |||
Installation | |||
|- | |||
|valign='top'| | |||
{|class='wikitable mw-collapsible mw-collapsed' | |||
!scope='col' style='text-align:left'| | |||
Yoga Pro 7i (G9 + U7 155H + 32GB + 1TB) | |||
|- | |||
|valign='top'| | |||
{|class='wikitable mw-collapsible mw-collapsed' | |||
!scope='col' style='text-align:left'| Ollama » Install | |||
|- | |||
|valign='top'| | |||
<syntaxhighlight lang='bash' highlight='4,16'> | |||
curl -fsSL https://ollama.com/install.sh | sh | |||
:' | |||
>>> Installing ollama to /usr/local | |||
[sudo] password for shahed: | |||
>>> Downloading ollama-linux-amd64.tar.zst | |||
######################################################################## 100.0% | |||
>>> Creating ollama user... | |||
>>> Adding ollama user to render group... | |||
>>> Adding ollama user to video group... | |||
>>> Adding current user to ollama group... | |||
>>> Creating ollama systemd service... | |||
>>> Enabling and starting ollama service... | |||
Created symlink /etc/systemd/system/default.target.wants/ollama.service → /etc/systemd/system/ollama.service. | |||
>>> The Ollama API is now available at 127.0.0.1:11434. | |||
>>> Install complete. Run "ollama" from the command line. | |||
WARNING: No NVIDIA/AMD GPU detected. Ollama will run in CPU-only mode. | |||
' | |||
</syntaxhighlight> | |||
<syntaxhighlight lang='bash'> | |||
sudo systemctl daemon-reload | |||
sudo systemctl restart ollama.service | |||
sudo systemctl status ollama.service | |||
cat /etc/systemd/system/ollama.service | |||
setsid open http://127.0.0.1:11434 >/dev/null 2>&1 & | |||
</syntaxhighlight> | |||
|} | |||
{|class='wikitable mw-collapsible mw-collapsed' | |||
!scope='col' style='text-align:left' colspan='2'| Ollama » ArcGPU | |||
|- | |||
|valign='top' style='width:50%'| | |||
<syntaxhighlight lang='bash'> | |||
sudo journalctl -u ollama --no-pager | grep -i "sycl\|intel\|gpu" | |||
sudo apt update && sudo apt install intel-gpu-tools | |||
sudo intel_gpu_top | |||
</syntaxhighlight> | |||
|valign='top' style='width:50%'| | |||
|- | |||
|valign='top' colspan='2'| | |||
<syntaxhighlight lang='bash'> | |||
cat <<'EXE' | sudo bash | |||
apt-get update;echo | |||
apt-get install -y apt-transport-https ca-certificates gnupg build-essential | |||
apt-get install -y software-properties-common git curl file procps libfuse2 | |||
apt-get clean;sleep 5 | |||
EXE | |||
</syntaxhighlight> | |||
|- | |||
!scope='col'| Intel | |||
!scope='col'| Ubuntu | |||
|- | |||
|valign='top'| | |||
<syntaxhighlight lang='bash'> | |||
curl -fsSL https://repositories.intel.com/gpu/intel-graphics.key \ | |||
| sudo tee /etc/apt/keyrings/intel-graphics.asc >/dev/null | |||
DISTRIBUTION=$(. /etc/os-release && echo "${VERSION_CODENAME}") | |||
cat << SRC | sudo tee /etc/apt/sources.list.d/intel-graphics.list >/dev/null | |||
deb [arch=$(dpkg --print-architecture)\ | |||
signed-by=/etc/apt/keyrings/intel-graphics.asc]\ | |||
https://repositories.intel.com/gpu/ubuntu ${DISTRIBUTION} unified | |||
SRC | |||
cat <<'EXE' | sudo bash | |||
apt-get update;echo | |||
apt-get upgrade -y;echo | |||
apt-get install -y intel-gpu-tools | |||
apt-get install -y intel-opencl-icd libze1 libze-intel-gpu1 | |||
apt-get install -y clinfo intel-media-va-driver-non-free | |||
apt-get clean | |||
EXE | |||
</syntaxhighlight> | |||
|valign='top'| | |||
<syntaxhighlight lang='bash'> | |||
cat <<'EXE' | sudo bash | |||
rm /etc/apt/sources.list.d/intel-graphics.list | |||
rm /etc/apt/keyrings/intel-graphics.asc | |||
EXE | |||
cat <<'EXE' | sudo bash | |||
apt-get update;echo | |||
apt-get upgrade -y;echo | |||
apt-get purge -y intel-gpu-tools | |||
apt-get purge -y intel-opencl-icd libze1 libze-intel-gpu1 | |||
apt-get install -y clinfo intel-media-va-driver-non-free | |||
apt-get clean | |||
EXE | |||
cat <<'EXE' | sudo bash | |||
apt-get update;echo | |||
apt-get upgrade -y;echo | |||
apt-get install -y intel-opencl-icd libze-intel-gpu1 libze1 | |||
apt-get install -y intel-media-va-driver-non-free clinfo | |||
apt-get install -y intel-gpu-tools | |||
apt-get clean | |||
EXE | |||
</syntaxhighlight> | |||
|- | |||
|valign='top'| | |||
<syntaxhighlight lang='bash'> | |||
ollama ps | |||
ls /dev/dri | |||
</syntaxhighlight> | |||
|valign='top'| | |||
<syntaxhighlight lang='bash'> | |||
sudo intel_gpu_top | |||
clinfo | grep 'Device Name' | |||
</syntaxhighlight> | |||
|} | |||
{|class='wikitable mw-collapsible mw-collapsed' | |||
!scope='col' style='text-align:left'| Ollama » Config | |||
|- | |||
|valign='top'| | |||
<syntaxhighlight lang='ini'> | |||
cat <<'INI' | sudo tee /etc/systemd/system/ollama.service >/dev/null | |||
[Unit] | |||
Description=Ollama Service | |||
After=network-online.target | |||
[Service] | |||
User=ollama | |||
Group=ollama | |||
# Optimizations for Yoga Pro 7i (16GB Target) | |||
Environment="OLLAMA_KV_CACHE_TYPE=q4_0" | |||
Environment="OLLAMA_FLASH_ATTENTION=1" | |||
Environment="OLLAMA_NUM_PARALLEL=1" | |||
Environment="OLLAMA_NUM_CTX=16384" | |||
Environment="OLLAMA_KEEP_ALIVE=5m" | |||
Environment="OLLAMA_NUM_GPU=999" | |||
# Intel optimizations if available | |||
# Environment="OLLAMA_INTEL_GPU=1" | |||
Environment="PATH=/home/shahed/.nvm/versions/node/v18.20.7/bin:/home/shahed/.pyenv/plugins/pyenv-virtualenv/shims:/home/shahed/.pyenv/shims:/home/shahed/.pyenv/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/snap/bin:/home/shahed/.local/share/JetBrains/Toolbox/scripts" | |||
ExecStart=/usr/local/bin/ollama serve | |||
Restart=always | |||
RestartSec=3 | |||
[Install] | |||
WantedBy=default.target | |||
INI | |||
</syntaxhighlight> | |||
<syntaxhighlight lang='bash'> | |||
cat <<'EXE' | sudo bash | |||
systemctl daemon-reload | |||
systemctl restart ollama.service | |||
systemctl status ollama.service | |||
EXE | |||
</syntaxhighlight> | |||
|} | |||
{|class='wikitable mw-collapsible mw-collapsed' | |||
!scope='col' style='text-align:left'| Ollama » Model | |||
|- | |||
|valign='top'| | |||
<syntaxhighlight lang='bash'> | |||
ollama pull gpt-oss:20b | |||
:' | |||
pulling manifest | |||
pulling e7b273f96360: 100% ▕███████████████████████████████████████████▏ 13 GB | |||
pulling fa6710a93d78: 100% ▕███████████████████████████████████████████▏ 7.2 KB | |||
pulling f60356777647: 100% ▕███████████████████████████████████████████▏ 11 KB | |||
pulling d8ba2f9a17b3: 100% ▕███████████████████████████████████████████▏ 18 B | |||
pulling 776beb3adb23: 100% ▕███████████████████████████████████████████▏ 489 B | |||
verifying sha256 digest | |||
writing manifest | |||
success | |||
' | |||
ollama ls | |||
</syntaxhighlight> | |||
|} | |||
{|class='wikitable mw-collapsible mw-collapsed' | |||
!scope='col' style='text-align:left'| Claude » Install | |||
|- | |||
|valign='top'| | |||
<syntaxhighlight lang='bash'> | |||
curl -fsSL https://claude.ai/install.sh | bash | |||
:' | |||
Setting up Claude Code... | |||
✔ Claude Code successfully installed! | |||
Version: 2.1.63 | |||
Location: ~/.local/bin/claude | |||
Next: Run claude --help to get started | |||
⚠ Setup notes: | |||
• Native installation exists but ~/.local/bin is not in your PATH. Run: | |||
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc && source ~/.bashrc | |||
✅ Installation complete! | |||
' | |||
</syntaxhighlight> | |||
<syntaxhighlight lang='bash'> | |||
cat <<'ENV' | tee -a ${HOME}/.bashrc >/dev/null | |||
# claude config | |||
export PATH="$HOME/.local/bin:$PATH" >> ~/.bashrc | |||
ENV | |||
source ~/.bashrc && sleep 1 | |||
claude --version | |||
</syntaxhighlight> | |||
|} | |||
{|class='wikitable mw-collapsible' | |||
!scope='col' style='text-align:left' colspan='2'| Claude » Config | |||
|- | |||
|valign='top' style='width:50%'| | |||
<syntaxhighlight lang='bash'> | |||
export ANTHROPIC_BASE_URL=http://localhost:11434 | |||
export ANTHROPIC_AUTH_TOKEN=ollama | |||
export ANTHROPIC_API_KEY='' | |||
</syntaxhighlight> | |||
|valign='top' style='width:50%'| | |||
<syntaxhighlight lang='bash'> | |||
export ANTHROPIC_BASE_URL=http://shahed-ap.local:11434 | |||
export ANTHROPIC_AUTH_TOKEN=ollama | |||
export ANTHROPIC_API_KEY='' | |||
</syntaxhighlight> | |||
|- | |||
|valign='top'| | |||
<syntaxhighlight lang='bash'> | |||
claude --model gpt-oss:20b | |||
ollama stop gpt-oss:20b | |||
ollama ps | |||
</syntaxhighlight> | |||
|valign='top'| | |||
|} | |||
|} | |||
{|class='wikitable mw-collapsible mw-collapsed' | |||
!scope='col' style='text-align:left'| | |||
Legion 5 Pro (G6 + R7 5800H + 32GB + 1TB) | |||
|- | |||
|valign='top'| | |||
{|class='wikitable mw-collapsible mw-collapsed' | |||
!scope='col' style='text-align:left'| Ollama » Install | |||
|- | |||
|valign='top'| | |||
<syntaxhighlight lang='bash' highlight='4,16'> | |||
curl -fsSL https://ollama.com/install.sh | sh | |||
:' | |||
>>> Installing ollama to /usr/local | |||
[sudo] password for shahed: | |||
>>> Downloading ollama-linux-amd64.tar.zst | |||
######################################################################## 100.0% | |||
>>> Creating ollama user... | |||
>>> Adding ollama user to render group... | |||
>>> Adding ollama user to video group... | |||
>>> Adding current user to ollama group... | |||
>>> Creating ollama systemd service... | |||
>>> Enabling and starting ollama service... | |||
Created symlink /etc/systemd/system/default.target.wants/ollama.service → /etc/systemd/system/ollama.service. | |||
>>> NVIDIA GPU installed. | |||
' | |||
</syntaxhighlight> | |||
<syntaxhighlight lang='bash'> | |||
cat <<'EXE' | sudo bash | |||
systemctl daemon-reload | |||
systemctl enable ollama.service | |||
systemctl restart ollama.service | |||
systemctl status ollama.service | |||
EXE | |||
cat /etc/systemd/system/ollama.service | |||
setsid open http://127.0.0.1:11434 >/dev/null 2>&1 & | |||
</syntaxhighlight> | |||
|} | |||
{|class='wikitable mw-collapsible mw-collapsed' | |||
!scope='col' style='text-align:left' colspan='2'| Ollama » Utility | |||
|- | |||
|valign='top' style='width:50%'| | |||
<syntaxhighlight lang='bash'> | |||
sudo journalctl -u ollama --no-pager | grep -i "sycl\|intel\|gpu" | |||
</syntaxhighlight> | |||
|valign='top' style='width:50%'| | |||
|- | |||
|valign='top' colspan='2'| | |||
<syntaxhighlight lang='bash'> | |||
cat <<'EXE' | sudo bash | |||
apt-get update;echo | |||
apt-get install -y apt-transport-https ca-certificates gnupg build-essential | |||
apt-get install -y software-properties-common git curl file procps libfuse2t64 | |||
apt-get clean;sleep 5 | |||
EXE | |||
</syntaxhighlight> | |||
|} | |||
{|class='wikitable mw-collapsible mw-collapsed' | |||
!scope='col' style='text-align:left'| Ollama » Config | |||
|- | |||
|valign='top'| | |||
<syntaxhighlight lang='ini'> | |||
cat <<'INI' | sudo tee /etc/systemd/system/ollama.service >/dev/null | |||
[Unit] | |||
Description=Ollama Service | |||
After=network-online.target | |||
[Service] | |||
User=ollama | |||
Group=ollama | |||
# Ollama listens on any host | |||
Environment="OLLAMA_HOST=0.0.0.0" | |||
Environment="PATH=/home/linuxbrew/.linuxbrew/Cellar/pyenv-virtualenv/1.2.3/shims:/home/shahed/.pyenv/shims:/home/linuxbrew/.linuxbrew/bin:/home/linuxbrew/.linuxbrew/sbin:/home/shahed/.rbenv/shims:/home/shahed/.rbenv/bin:/home/shahed/.cargo/bin:/home/shahed/.nvm/versions/node/v18.12.1/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/opt/cli/sencha/cmd:/opt/cli/sencha/cmd:/home/shahed/.local/share/JetBrains/Toolbox/scripts:/home/shahed/.local/share/JetBrains/Toolbox/scripts" | |||
ExecStart=/usr/local/bin/ollama serve | |||
Restart=always | |||
RestartSec=3 | |||
[Install] | |||
WantedBy=default.target | |||
INI | |||
</syntaxhighlight> | |||
<syntaxhighlight lang='bash'> | |||
cat <<'EXE' | sudo bash | |||
systemctl daemon-reload | |||
systemctl restart ollama.service | |||
systemctl status ollama.service | |||
EXE | |||
</syntaxhighlight> | |||
<syntaxhighlight lang='bash'> | |||
cat <<'EXE' | sudo bash | |||
ufw allow from 10.19.80.0/22 to any port 11434 proto tcp | |||
ufw allow from 10.20.0.0/24 to any port 11434 proto tcp | |||
ufw allow from 10.20.13.0/24 to any port 11434 proto tcp | |||
ufw allow from 10.20.40.0/24 to any port 11434 proto tcp | |||
ufw allow from 192.168.49.2/32 to any port 11434 proto tcp | |||
EXE | |||
telnet 10.20.40.16 11434 | |||
telnet 192.168.49.2 11434 | |||
telnet shahed-ac.local 11434 | |||
</syntaxhighlight> | |||
|} | |||
{|class='wikitable mw-collapsible mw-collapsed' | |||
!scope='col' style='text-align:left'| Ollama » Model | |||
|- | |||
|valign='top'| | |||
<syntaxhighlight lang='bash'> | |||
ollama pull gpt-oss:20b | |||
:' | |||
pulling manifest | |||
pulling e7b273f96360: 100% ▕███████████████████████████████████████████▏ 13 GB | |||
pulling fa6710a93d78: 100% ▕███████████████████████████████████████████▏ 7.2 KB | |||
pulling f60356777647: 100% ▕███████████████████████████████████████████▏ 11 KB | |||
pulling d8ba2f9a17b3: 100% ▕███████████████████████████████████████████▏ 18 B | |||
pulling 776beb3adb23: 100% ▕███████████████████████████████████████████▏ 489 B | |||
verifying sha256 digest | |||
writing manifest | |||
success | |||
' | |||
ollama ls | |||
</syntaxhighlight> | |||
|} | |||
{|class='wikitable mw-collapsible mw-collapsed' | |||
!scope='col' style='text-align:left'| Claude » Install | |||
|- | |||
|valign='top'| | |||
<syntaxhighlight lang='bash'> | |||
curl -fsSL https://claude.ai/install.sh | bash | |||
:' | |||
Setting up Claude Code... | |||
✔ Claude Code successfully installed! | |||
Version: 2.1.71 | |||
Location: ~/.local/bin/claude | |||
Next: Run claude --help to get started | |||
⚠ Setup notes: | |||
• Native installation exists but ~/.local/bin is not in your PATH. Run: | |||
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc && source ~/.bashrc | |||
✅ Installation complete! | |||
' | |||
</syntaxhighlight> | |||
<syntaxhighlight lang='bash'> | |||
cat <<'ENV' | tee -a ${HOME}/.bashrc >/dev/null | |||
# claude config | |||
export PATH="$HOME/.local/bin:$PATH" >> ~/.bashrc | |||
ENV | |||
source ~/.bashrc && sleep 1 | |||
claude --version | |||
</syntaxhighlight> | |||
|} | |||
{|class='wikitable mw-collapsible' | |||
!scope='col' style='text-align:left' colspan='2'| Claude » Config | |||
|- | |||
|valign='top' style='width:50%'| | |||
<syntaxhighlight lang='bash'> | |||
export ANTHROPIC_BASE_URL=http://localhost:11434 | |||
export ANTHROPIC_AUTH_TOKEN=ollama | |||
export ANTHROPIC_API_KEY='' | |||
</syntaxhighlight> | |||
|valign='top' style='width:50%'| | |||
<syntaxhighlight lang='bash'> | |||
export ANTHROPIC_BASE_URL=http://shahed-ac.local:11434 | |||
export ANTHROPIC_AUTH_TOKEN=ollama | |||
export ANTHROPIC_API_KEY='' | |||
</syntaxhighlight> | |||
|- | |||
|valign='top'| | |||
<syntaxhighlight lang='bash'> | |||
claude --model gpt-oss:20b | |||
ollama stop gpt-oss:20b | |||
ollama ps | |||
</syntaxhighlight> | |||
|valign='top'| | |||
|} | |||
|} | |||
{|class='wikitable mw-collapsible' | |||
!scope='col' style='text-align:left'| | |||
ASUS NUC 15 Pro (L10 + U7 255H + 64GB + 2TB) | |||
|- | |||
|valign='top'| | |||
{|class='wikitable mw-collapsible mw-collapsed' | |||
!scope='col' style='text-align:left'| Ollama » Install | |||
|- | |||
|valign='top'| | |||
<syntaxhighlight lang='bash' highlight='4,16'> | |||
curl -fsSL https://ollama.com/install.sh | sh | |||
:' | |||
>>> Installing ollama to /usr/local | |||
[sudo] password for shahed: | |||
>>> Downloading ollama-linux-amd64.tar.zst | |||
######################################################################## 100.0% | |||
>>> Creating ollama user... | |||
>>> Adding ollama user to render group... | |||
>>> Adding ollama user to video group... | |||
>>> Adding current user to ollama group... | |||
>>> Creating ollama systemd service... | |||
WARNING: systemd is not running | |||
>>> The Ollama API is now available at 127.0.0.1:11434. | |||
>>> Install complete. Run "ollama" from the command line. | |||
WARNING: No NVIDIA/AMD GPU detected. Ollama will run in CPU-only mode. | |||
>>> The Ollama API is now available at 127.0.0.1:11434. | |||
>>> Install complete. Run "ollama" from the command line. | |||
' | |||
</syntaxhighlight> | |||
<syntaxhighlight lang='bash'> | |||
cat <<'EXE' | sudo bash | |||
systemctl daemon-reload | |||
systemctl enable ollama.service | |||
systemctl restart ollama.service | |||
systemctl status ollama.service | |||
EXE | |||
cat /etc/systemd/system/ollama.service | |||
setsid open http://127.0.0.1:11434 >/dev/null 2>&1 & | |||
</syntaxhighlight> | |||
|} | |||
{|class='wikitable mw-collapsible mw-collapsed' | |||
!scope='col' style='text-align:left' colspan='2'| Ollama » ArcGPU | |||
|- | |||
|valign='top' style='width:50%'| | |||
<syntaxhighlight lang='bash'> | |||
sudo journalctl -u ollama --no-pager | grep -i "sycl\|intel\|gpu" | |||
sudo intel_gpu_top | |||
</syntaxhighlight> | |||
|valign='top' style='width:50%'| | |||
|- | |||
|valign='top' colspan='2'| | |||
<syntaxhighlight lang='bash'> | |||
cat <<'EXE' | sudo bash | |||
apt-get update;echo | |||
apt-get install -y apt-transport-https ca-certificates gnupg build-essential | |||
apt-get install -y software-properties-common git curl file procps libfuse2t64 | |||
apt-get clean;sleep 5 | |||
EXE | |||
</syntaxhighlight> | |||
|- | |||
!scope='col'| Intel | |||
!scope='col'| Ubuntu | |||
|- | |||
|valign='top'| | |||
<syntaxhighlight lang='bash'> | |||
curl -fsSL https://repositories.intel.com/gpu/intel-graphics.key \ | |||
| sudo tee /etc/apt/keyrings/intel-graphics.asc >/dev/null | |||
DISTRIBUTION=$(. /etc/os-release && echo "${VERSION_CODENAME}") | |||
cat << SRC | sudo tee /etc/apt/sources.list.d/intel-graphics.list >/dev/null | |||
deb [arch=$(dpkg --print-architecture)\ | |||
signed-by=/etc/apt/keyrings/intel-graphics.asc]\ | |||
https://repositories.intel.com/gpu/ubuntu ${DISTRIBUTION} unified | |||
SRC | |||
cat <<'EXE' | sudo bash | |||
apt-get update;echo | |||
apt-get upgrade -y;echo | |||
apt-get install -y intel-gpu-tools | |||
apt-get install -y intel-opencl-icd libze1 libze-intel-gpu1 | |||
apt-get install -y clinfo intel-media-va-driver-non-free | |||
apt-get clean | |||
EXE | |||
</syntaxhighlight> | |||
|valign='top'| | |||
<syntaxhighlight lang='bash'> | |||
cat <<'EXE' | sudo bash | |||
rm /etc/apt/sources.list.d/intel-graphics.list | |||
rm /etc/apt/keyrings/intel-graphics.asc | |||
EXE | |||
cat <<'EXE' | sudo bash | |||
apt-get update;echo | |||
apt-get upgrade -y;echo | |||
apt-get purge -y intel-gpu-tools | |||
apt-get purge -y intel-opencl-icd libze1 libze-intel-gpu1 | |||
apt-get install -y clinfo intel-media-va-driver-non-free | |||
apt-get clean | |||
EXE | |||
cat <<'EXE' | sudo bash | |||
apt-get update;echo | |||
apt-get upgrade -y;echo | |||
apt-get install -y intel-opencl-icd libze-intel-gpu1 libze1 | |||
apt-get install -y intel-media-va-driver-non-free clinfo | |||
apt-get install -y intel-gpu-tools | |||
apt-get clean | |||
EXE | |||
</syntaxhighlight> | |||
|- | |||
|valign='top'| | |||
<syntaxhighlight lang='bash'> | |||
ollama ps | |||
ls /dev/dri | |||
</syntaxhighlight> | |||
|valign='top'| | |||
<syntaxhighlight lang='bash'> | |||
sudo intel_gpu_top | |||
clinfo | grep 'Device Name' | |||
</syntaxhighlight> | |||
|} | |||
{|class='wikitable mw-collapsible mw-collapsed' | |||
!scope='col' style='text-align:left'| Ollama » Config | |||
|- | |||
|valign='top'| | |||
<syntaxhighlight lang='ini'> | |||
cat <<'INI' | sudo tee /etc/systemd/system/ollama.service >/dev/null | |||
[Unit] | |||
Description=Ollama Service | |||
After=network-online.target | |||
[Service] | |||
User=ollama | |||
Group=ollama | |||
# Optimizations for ASUS NUC 15 Pro (32GB Target) | |||
Environment="OLLAMA_NUM_CTX=32768" | |||
Environment="OLLAMA_NUM_GPU=999" | |||
Environment="OLLAMA_VULKAN=1" | |||
# Intel optimizations if available | |||
Environment="OLLAMA_INTEL_GPU=1" | |||
# Ollama listens on any host | |||
Environment="OLLAMA_HOST=0.0.0.0" | |||
Environment="PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin" | |||
ExecStart=/usr/local/bin/ollama serve | |||
Restart=always | |||
RestartSec=3 | |||
[Install] | |||
WantedBy=default.target | |||
INI | |||
</syntaxhighlight> | |||
<syntaxhighlight lang='bash'> | |||
cat <<'EXE' | sudo bash | |||
systemctl daemon-reload | |||
systemctl restart ollama.service | |||
systemctl status ollama.service | |||
EXE | |||
</syntaxhighlight> | |||
<syntaxhighlight lang='bash'> | |||
cat <<'EXE' | sudo bash | |||
ufw allow from 10.19.80.0/22 to any port 11434 proto tcp | |||
ufw allow from 10.20.0.0/24 to any port 11434 proto tcp | |||
ufw allow from 10.20.13.0/24 to any port 11434 proto tcp | |||
ufw allow from 10.20.40.0/24 to any port 11434 proto tcp | |||
ufw allow from 192.168.49.2/32 to any port 11434 proto tcp | |||
EXE | |||
telnet 10.20.40.16 11434 | |||
telnet 192.168.49.2 11434 | |||
telnet shahed-ap.local 11434 | |||
</syntaxhighlight> | |||
|} | |||
{|class='wikitable mw-collapsible mw-collapsed' | |||
!scope='col' style='text-align:left' colspan='2'| Ollama » Model | |||
|- | |||
|valign='top' style='width:50%'| | |||
<syntaxhighlight lang='bash'> | |||
ollama pull gpt-oss:20b | |||
:' | |||
pulling manifest | |||
pulling e7b273f96360: 100% ▕███████████████████████████████████████████▏ 13 GB | |||
pulling fa6710a93d78: 100% ▕███████████████████████████████████████████▏ 7.2 KB | |||
pulling f60356777647: 100% ▕███████████████████████████████████████████▏ 11 KB | |||
pulling d8ba2f9a17b3: 100% ▕███████████████████████████████████████████▏ 18 B | |||
pulling 776beb3adb23: 100% ▕███████████████████████████████████████████▏ 489 B | |||
verifying sha256 digest | |||
writing manifest | |||
success | |||
' | |||
ollama ls | |||
</syntaxhighlight> | |||
|valign='top' style='width:50%'| | |||
<syntaxhighlight lang='bash'> | |||
ollama pull qwen3-coder:30b | |||
:' | |||
pulling manifest | |||
pulling 1194192cf2a1: 100% ▕███████████████████████████████████████████▏ 18 GB | |||
pulling d18a5cc71b84: 100% ▕███████████████████████████████████████████▏ 11 KB | |||
pulling 69aa441ea44f: 100% ▕███████████████████████████████████████████▏ 148 B | |||
pulling 24a94682582c: 100% ▕███████████████████████████████████████████▏ 542 B | |||
verifying sha256 digest | |||
writing manifest | |||
success | |||
' | |||
ollama ls | |||
</syntaxhighlight> | |||
|} | |||
{|class='wikitable mw-collapsible mw-collapsed' | |||
!scope='col' style='text-align:left'| Claude » Install | |||
|- | |||
|valign='top'| | |||
<syntaxhighlight lang='bash'> | |||
curl -fsSL https://claude.ai/install.sh | bash | |||
:' | |||
Setting up Claude Code... | |||
✔ Claude Code successfully installed! | |||
Version: 2.1.71 | |||
Location: ~/.local/bin/claude | |||
Next: Run claude --help to get started | |||
⚠ Setup notes: | |||
• Native installation exists but ~/.local/bin is not in your PATH. Run: | |||
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc && source ~/.bashrc | |||
✅ Installation complete! | |||
' | |||
</syntaxhighlight> | |||
<syntaxhighlight lang='bash'> | |||
cat <<'ENV' | tee -a ${HOME}/.bashrc >/dev/null | |||
# claude config | |||
export PATH="$HOME/.local/bin:$PATH" >> ~/.bashrc | |||
ENV | |||
source ~/.bashrc && sleep 1 | |||
claude --version | |||
</syntaxhighlight> | |||
|} | |||
{|class='wikitable mw-collapsible' | |||
!scope='col' style='text-align:left' colspan='2'| Claude » Config | |||
|- | |||
|valign='top' style='width:50%'| | |||
<syntaxhighlight lang='bash'> | |||
export ANTHROPIC_BASE_URL=http://localhost:11434 | |||
export ANTHROPIC_AUTH_TOKEN=ollama | |||
export ANTHROPIC_API_KEY='' | |||
</syntaxhighlight> | |||
|valign='top' style='width:50%'| | |||
<syntaxhighlight lang='bash'> | |||
export ANTHROPIC_BASE_URL=http://shahed-ap.local:11434 | |||
export ANTHROPIC_AUTH_TOKEN=ollama | |||
export ANTHROPIC_API_KEY='' | |||
</syntaxhighlight> | |||
|- | |||
|valign='top'| | |||
<syntaxhighlight lang='bash'> | |||
export ANTHROPIC_BASE_URL=http://10.20.40.16:11434 | |||
export ANTHROPIC_AUTH_TOKEN=ollama | |||
export ANTHROPIC_API_KEY='' | |||
</syntaxhighlight> | |||
|valign='top'| | |||
|- | |- | ||
|valign='top'| | |||
| < | <syntaxhighlight lang='bash'> | ||
claude --model qwen3-coder:30b | |||
claude --model gpt-oss:20b | |||
</syntaxhighlight> | |||
|valign='top'| | |||
<syntaxhighlight lang='bash'> | |||
ollama stop qwen3-coder:30b | |||
ollama stop gpt-oss:20b | |||
</syntaxhighlight> | |||
|} | |||
|} | |} | ||
|} | |} | ||
| Line 146: | Line 898: | ||
* [https://docs.ollama.com/integrations/claude-code AI » Ollama » Claude Code] | * [https://docs.ollama.com/integrations/claude-code AI » Ollama » Claude Code] | ||
* [https://ollama.com/search AI » Ollama » Search] | * [https://ollama.com/search AI » Ollama » Search] | ||
* [https://github.com/exo-explore/exo AI » Cluster » Exo] | |||
* [https://developers.openai.com/codex/cli/ AI » Codex CLI] | |||
* [https://ollama.com/ AI » Ollama] | * [https://ollama.com/ AI » Ollama] | ||
| Line 153: | Line 907: | ||
|- | |- | ||
|valign='top'| | |valign='top'| | ||
* [https://ollama.com/library/lfm2.5-thinking AI » Model » <code>lfm2.5-thinking</code>] | * [https://ollama.com/library/lfm2.5-thinking AI » Model » <code>lfm2.5-thinking</code>] | ||
* [https://ollama.com/library/lfm2 AI » Model » <code>lfm2</code>] | |||
* [https://ollama.com/library/translategemma AI » Model » <code>translategemma</code>] | * [https://ollama.com/library/translategemma AI » Model » <code>translategemma</code>] | ||
* [https://ollama.com/library/minimax-m2.5 AI » Model » <code>minimax-m2.5</code>] | * [https://ollama.com/library/minimax-m2.5 AI » Model » <code>minimax-m2.5</code>] | ||
* [https://ollama.com/library/ | * [https://ollama.com/library/ministral-3 AI » Model » <code>ministral-3</code>] | ||
* [https://ollama.com/library/ | * [https://ollama.com/library/granite4 AI » Model » <code>granite4</code>] | ||
* [https://ollama.com/library/ | * [https://ollama.com/library/glm-4.7-flash AI » Model » <code>glm-4.7-flash</code>] | ||
* [https://ollama.com/library/glm-4.7 AI » Model » <code>glm-4.7</code>] | |||
* [https://ollama.com/library/glm-ocr AI » Model » <code>glm-ocr</code>] | * [https://ollama.com/library/glm-ocr AI » Model » <code>glm-ocr</code>] | ||
* [https://ollama.com/library/glm-5 AI » Model » <code>glm-5</code>] | * [https://ollama.com/library/glm-5 AI » Model » <code>glm-5</code>] | ||
|valign='top'| | |valign='top'| | ||
* [https://ollama.com/library/qwen3-coder-next AI » Model » <code>qwen3-coder-next</code>] | |||
* [https://ollama.com/library/qwen3-embedding AI » Model » <code>qwen3-embedding</code>] | * [https://ollama.com/library/qwen3-embedding AI » Model » <code>qwen3-embedding</code>] | ||
* [https://ollama.com/library/ | * [https://ollama.com/library/qwen3-coder AI » Model » <code>qwen3-coder</code>] | ||
* [https://ollama.com/library/qwen3-vl AI » Model » <code>qwen3-vl</code>] | * [https://ollama.com/library/qwen3-vl AI » Model » <code>qwen3-vl</code>] | ||
* [https://ollama.com/library/qwen3.5 AI » Model » <code>qwen3.5</code>] | |||
* [https://ollama.com/library/gpt-oss:120b AI » Model » <code>gpt-oss:120b</code>] | |||
* [https://ollama.com/library/gpt-oss:20b AI » Model » <code>gpt-oss:20b</code>] | |||
* [https://ollama.com/library/gpt-oss AI » Model » <code>gpt-oss</code>] | |||
|valign='top'| | |valign='top'| | ||
|- | |- | ||
|valign='top'| | |valign='top'| | ||
Latest revision as of 04:14, 9 March 2026
curl -fsSL https://ollama.com/install.sh | sh
ollama pull gpt-oss:20b
ollama --version
ollama ls
curl -fsSL https://claude.ai/install.sh | bash
ollama launch claude --model gpt-oss:20b
|
export ANTHROPIC_BASE_URL=http://localhost:11434
export ANTHROPIC_AUTH_TOKEN=ollama
export ANTHROPIC_API_KEY=''
export OLLAMA_NUM_CTX=32768
export OLLAMA_KEEP_ALIVE=5m
claude --model gpt-oss:20b
| ||||
sudo usermod -aG render,video ${USER}
echo 'id -nG'|sudo -i -u ${USER} bash
newgrp render
|
|||||
| |||||
Optimization
|
Optimization | |||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Installation
|
Installation | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
References
|
References | ||
|---|---|---|