paint-brush
数行のコードで自宅でDeepseek(または他のAIモデル)を実行 に@techshinobi
738 測定値
738 測定値

数行のコードで自宅でDeepseek(または他のAIモデル)を実行

Tech Shinobi
Tech Shinobi HackerNoon profile picture

Tech Shinobi

@techshinobi

A Technologist who Cares about People

5 分 read2025/01/30
Read on Terminal Reader
Read this story in a terminal
Print this story
tldt arrow
ja-flagJA
この物語を日本語で読んでください!
en-flagEN
Read this story in the original language, English!
es-flagES
Lee esta historia en Español!
zh-flagZH
用繁體中文閱讀這個故事!
vi-flagVI
Đọc bài viết này bằng tiếng Việt!
ka-flagKA
წაიკითხეთ ეს ამბავი ქართულად!
da-flagDA
Læs denne historie på dansk!
ky-flagKY
Бул окуяны кыргызча окуңуз!
uk-flagUK
Читайте цю історію українською!
ps-flagPS
دا کیسه په پښتو ژبه ولولئ!
sn-flagSN
Verenga nyaya iyi muShona!
th-flagTH
อ่านเรื่องนี้เป็นภาษาไทย!
mn-flagMN
Энэ түүхийг монгол хэлээр уншаарай!
JA

長すぎる; 読むには

RAG をすぐに使用できるプライベート ローカル チャットボット サービスを構築する方法。
featured image - 数行のコードで自宅でDeepseek(または他のAIモデル)を実行
Tech Shinobi HackerNoon profile picture
Tech Shinobi

Tech Shinobi

@techshinobi

A Technologist who Cares about People

0-item

STORY’S CREDIBILITY

Code License

Code License

The code in this story is for educational purposes. The readers are solely responsible for whatever they build with it.

最近、OpenAI の ChatGPT の完全な代替として、プライベート チャットボット サービスが必要になっています。そこで、自宅に 1 つ実装し、ネットワーク プリンターとNAS (OpenMediaVault)と一緒に家族全員がアクセスできるようにすることにしました。


以前、私は英語のタスクには Llama シリーズ、中国語のタスクには Qwen シリーズの使用を推奨していました。独自のモデル (GPT/Claude) と比較して、多言語タスクに十分対応できるオープンソース モデルはありませんでした。


しかし、皆さんご存知のとおり、最近は状況が変わりました。私は Qwen2.5 に飽きるたびに DeepSeek-V2 を時々使用していましたが、ハードウェア不足のため DeepSeek V2.5 と V3 に遅れをとっていました。しかし、DeepSeek は期待を裏切りませんでした。R1 のパフォーマンスは素晴らしく、容量はわずか 1.5B です。


つまり、かなりのユーザー エクスペリエンスがあれば、CPU でも実行できます。多くの人がゲーム用に GPU を持っているため、速度は問題になりません。OpenAI では無料アカウントでの使用を制限しているため、アップロードされたドキュメントや画像をローカル LLM で処理できるのは大きな利点です。


バンドルされた Ollama サポートを備えた Open WebUI のインストールは、公式の 1 行コマンドを使用すると非常に簡単です。

 docker run -d -p 3000:8080 --gpus=all -v ollama:/root/.ollama -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:ollama


しかし、RAG (Web 検索) を機能させることはほとんどの人にとって簡単ではないので、すぐに使えるソリューションを見つけたいと思います。


前回の投稿で述べたように、Harbor はさまざまな LLM スタックを試すための優れたテストベッドです。しかし、それだけではありません。RAG がすぐに使える、ローカル LLM をセルフホストするためのオールインワン ソリューションでもあります。それでは、最初から実装してみましょう。ほとんどの人は OS のインストールから始めないので、手順を自由にスキップしてください。

システムの準備(オプション)

以前と同じように、 debian-11.6.0-amd64-netinst.isoを使用してインストールプロセスを実行します。


sudoerにusermod -aG sudo username追加して再起動します


(オプション)スワップを追加する

fallocate -l 64G /home/swapfile chmod 600 /home/swapfile mkswap /home/swapfile swapon /home/swapfile


スワップファイルを永続化しますnano /etc/fstab

 UUID=xxxxx-xxx swap swap defaults,pri=100 0 0 /home/swapfile swap swap defaults,pri=10 0 0

swapon --showまたはfree -hで確認する


Nouveau ドライバーを無効にする

bash -c "echo blacklist nouveau > /etc/modprobe.d/blacklist-nvidia-nouveau.conf" bash -c "echo options nouveau modeset=0 >> /etc/modprobe.d/blacklist-nvidia-nouveau.conf" update-initramfs -u update-grub reboot


依存関係をインストールする

apt install linux-headers-`uname -r` build-essential libglu1-mesa-dev libx11-dev libxi-dev libxmu-dev gcc software-properties-common sudo git python3 python3-venv pip libgl1 git-lfs -y


(オプション) 必要に応じてアンインストールを実行します

apt-get purge nvidia* apt remove nvidia* apt-get purge cuda* apt remove cuda* rm /etc/apt/sources.list.d/cuda* apt-get autoremove && apt-get autoclean rm -rf /usr/local/cuda*


cuda-tookitとcudaをインストールする

wget https://developer.download.nvidia.com/compute/cuda/12.4.1/local_installers/cuda-repo-debian11-12-4-local_12.4.1-550.54.15-1_amd64.deb sudo dpkg -i cuda-repo-debian11-12-4-local_12.4.1-550.54.15-1_amd64.debsudo cp /var/cuda-repo-debian11-12-4-local/cuda-*-keyring.gpg /usr/share/keyrings/ sudo add-apt-repository contrib sudo apt-get update sudo apt-get -y install cuda-toolkit-12-4 sudo apt install libxnvctrl0=550.54.15-1 sudo apt-get install -y cuda-drivers


ハーバーはdockerベースなので、 NVIDIA Container Toolkitをインストールします。

 curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \ && curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | \ sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \ sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list


次に、 sudo apt-get updatesudo apt-get install -y nvidia-container-toolkit


cuda インストール後のアクションを実行するnano ~/.bashrc

 export PATH=/usr/local/cuda-12.4/bin${PATH:+:${PATH}} export LD_LIBRARY_PATH=/usr/local/cuda-12.4/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}


次に、 sudo update-initramfs -uldconfig 、またはsource ~/.bashrcを実行して変更を適用します。


再起動後、 nvidia-sminvcc --versionで確認します。


Miniconda をインストールします (オプション、harbor 用ではありません)

 wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh && sudo chmod +x Miniconda3-latest-Linux-x86_64.sh && bash Miniconda3-latest-Linux-x86_64.sh

ドッカーと港湾

dockerをインストールする

# Add Docker's official GPG key: sudo apt-get update sudo apt-get install ca-certificates curl sudo install -m 0755 -d /etc/apt/keyrings sudo curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc sudo chmod a+r /etc/apt/keyrings/docker.asc # Add the repository to Apt sources: echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian \ $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \ sudo tee /etc/apt/sources.list.d/docker.list > /dev/null sudo apt-get update sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

sudo なしで docker のインストール後を実行する

sudo groupadd docker sudo usermod -aG docker $USER newgrp docker docker run hello-world

Harborの手動インストール

git clone https://github.com/av/harbor.git && cd harbor ./harbor.sh ln


harbor --versionで確認する


RAGサポートをデフォルトに追加し、 harbor defaults add searxng


harbor defaults list使用して確認すると、現在ollamawebuisearxng 3 つのサービスがアクティブになっています。


harbor upを実行して、docker でこれらのサービスを起動します。


docker psとしてharbor psを使用し、 harbor logs使用して tailing ログを確認します。


現在、open-webui フロントエンドは0.0.0.0:33801で提供されており、 http://localhost:33801またはサーバーの IP アドレスを持つ LAN のクライアントからアクセスできます。


watch -n 0.3 nvidia-smiで VRAM の使用状況を監視する



harbor up ollama --tailまたはharbor logsでログを監視します。


harbor ollama listなどのすべてのollamaコマンドが使用可能です。


他のデバイス (デスクトップ/モバイル) からアクセスして管理者アカウントを登録し、モデルをダウンロードしましょう。

ローカル LLM の使用

管理者アカウントでログインした後、右上のアバター アイコンをクリックし、 Admin Panel開いてSettings選択するか、単に `http://ip:33801/admin/settings. からアクセスします。


Modelsをクリックし、右上のダウンロード ボタンのようなManage Modelsをクリックします。


下のテキストボックスにdeepseek-r1またはその他のモデルを入力しPull a model from Ollama.com 、右側のダウンロード ボタンをクリックします。


モデルをダウンロードした後、更新が必要になる場合があります。新しくダウンロードしたモデルはNew Chat (ホーム) ページのドロップダウン メニューで使用できるようになります。


現在、ChatGPT に代わるチャットボットだけでなく、OpenAI API に代わる完全に機能する API や、Google に代わるプライベート検索エンジンも実行されています。


webui は LAN 内でhttp://ip:33801経由でアクセスできます。

ollama は LAN 内でhttp://ip:33821経由でアクセスできます。

searxng は LAN 内でhttp://ip:33811経由でアクセスできます。


LLM API 統合を備えた任意のアプリケーションでOllama API を呼び出します。

 http://ip:33821/api/ps http://ip:33821/v1/models http://ip:33821/api/generate http://ip:33821/v1/chat/completionsb


L O A D I N G
. . . comments & more!

About Author

Tech Shinobi HackerNoon profile picture
Tech Shinobi@techshinobi
A Technologist who Cares about People

ラベル

この記事は...

Read on Terminal Reader
Read this story in a terminal
 Terminal
Read this story w/o Javascript
Read this story w/o Javascript
 Lite
Also published here
X REMOVE AD