-
Notifications
You must be signed in to change notification settings - Fork 0
DNET_Ollama
- 戻る(データサイエンス力、LLM系ツール)
LLM界隈のPFっぽいヤツ- Kaggle
- Ollama
- Hugging Face
-
LLMをローカルで実行するためのCLIツール兼ランタイム
-
その他にも、LM Studio、Llamafile、GPT4ALL、H2oGPTなどがあるらしい。
-
Hugging Faceと同様にLLM界隈のPFっぽいヤツだが、機能的には補完関係にある。
- Hugging Face:OSSのLLMを学習させ、その結果をホスティングするPF&ツール
- Ollama:OSSのLLMをローカル実行させるためのPF&ツール
-
また、GitHub、Docker Hubに似た、モデル管理・配布のプラットフォーム性がある。
- Ollama pull/pushは、git pull/push、docker pull/pushっぽくもある。
- Modelfileは、Dockerfile に似ているが、仕組みは全く異なり、
Ollama 独自のミニ構文で、モデル構成やパラメタ定義に使われているだけ。
WindowsにOllamaをインストールしてLlama3を実行する。
-
インストール
インストーラーをダウンロードして実行
https://ollama.com/download/windows -
サーバ起動
PowerShellからOllamaを起動ollama
LinuxにOllama - Llama3をインストールして実行する。
-
インストール
curl https://ollama.ai/install.sh | sh※ リダイレクトされる場合は、-Lオプションを追加する。
-
サーバ起動
ollama serve
-
以下のようなコマンドを使用してLLMを実行
(必要に応じて、別ターミナルで実行する)-
llama
ollama run llama2 ollama run llama3 -
gemma
ollama run gemma2 -
phi
ollama run phi3
-
-
使用可能なLLM(コマンドライン引数)は以下のサイトから確認できる。
- サイト:https://ollama.com/library
- LLM選択:https://ollama.com/library/llama3.2
- 起動コマンドをコピー:ollama run llama3.2
- 続けてパラメタサイズなどのオプションを指定可能:ollama run llama3.2:1b
success
>>> こんにちは、あなたは誰ですか?
こんにちは!I'm LLaMA, a large language model trained by a team of researcher at Meta AI. My primary function is
to understand and respond to human input in a helpful and informative manner. I can converse on a wide range of
topics, from science and history to entertainment and culture. I'm constantly learning and improving my abilities,
so please bear with me if I make any mistakes. Nice to meet you!
-
WSL2寄せ
modelをphi3にして、ollama run phi3もWebAPIで動作した
(故に、11434ポートのWebAPIはollama仕様と思われる)。-
+curl
生成形式curl http://localhost:11434/api/generate -d '{ "model": "llama3", "prompt":"user", "content": "why is the sky blue?" }'チャット形式
curl http://localhost:11434/api/chat -d '{ "model": "llama3", "messages": [ { "role": "user", "content": "why is the sky blue?" } ] }' -
+Notebook
HTTPClientimport requests url = "http://localhost:11434/api/chat" payload = { "model": "llama3", "messages": [ {"role": "user", "content": "why is the sky blue?"} ] } response = requests.post(url, json=payload) print(response.text) # print(response.json())
-
-
Linux+curl
「WSL2寄せ」での説明内容と同じ。 -
環境を跨ぐ
-
Windows+curl → WSL2(Ollama)
curl -X POST -H "Content-Type:application/json" http://localhost:11434/api/chat -d "{\"model\": \"llama3\", \"messages\": [{ \"role\": \"user\", \"content\": \"why is the sky blue?\" }]}" -
WSL2+curl → Windows(Ollama)
-
IPアドレスを取得
>ipconfig イーサネット アダプター vEthernet (WSL): 接続固有の DNS サフィックス . . . . .: リンクローカル IPv6 アドレス. . . . .: ... IPv4 アドレス . . . . . . . . . . . .: 172.xxx.xxx.1 サブネット マスク . . . . . . . . . .: 255.255.240.0 デフォルト ゲートウェイ . . . . . . .: -
CORS設定
ナニをドウ設定したら良いか解らんわ(笑)OLLAMA_HOST OLLAMA_ORIGINS
-
-
Error: digest mismatchになる場合(恐らくプロキシ環境で発生)
以下のようにOllamaプロキシ系の環境変数を設定してもエラーになる。
(キャッシュ・中継プロキシがコンテンツを改変するため、とのこと)
-
Ollama設定ファイルを開く。
sudo systemctl edit ollama.service -
エディタにプロキシ環境に合わせた内容を記述
-
設定を反映
sudo systemctl daemon-reload sudo systemctl restart ollama
huggingface.co(dockerで言うとdocker.comみたいな仕組み)から、
モデルのファイル(GGUF file、Model file)を手動ダウンロード。
-
Phi-3-mini-4k
-
GGUF file、Model fileをダウンロード
https://huggingface.co/microsoft/Phi-3-mini-4k-instruct-gguf-
Download the GGUF model:
huggingface-cli download microsoft/Phi-3-mini-4k-instruct-gguf Phi-3-mini-4k-instruct-q4.gguf --local-dir . -
Get the Modelfile:
huggingface-cli download microsoft/Phi-3-mini-4k-instruct-gguf Modelfile_q4 --local-dir .
-
-
GGUF file、Model fileをファイルをカレント・ディレクトリに配置
-
モデルを
-
作成する。
※ Model file中からGGUF fileをポイントollama create phi3 -f Modelfile_q4 -
実行する。
ollama run phi3 -
削除する。
ollama rm phi3
-
-
-
Llama-3.2-1B
-
GGUF fileをダウンロード
https://huggingface.co/bartowski/Llama-3.2-1B-Instruct-GGUF-
Downloading using huggingface-cli
huggingface-cli download bartowski/Llama-3.2-1B-Instruct-GGUF Llama-3.2-1B-Instruct-Q8_0.gguf --local-dir .
-
-
Model fileを作成する
-
プロキシなし環境で以下を試みる。
(何気に、コレで動かせてしまうかも?)ollama run hf.co/bartowski/Llama-3.2-1B-Instruct-GGUF:Q8_0 -
以下のコマンドの出力をModelfile.txtに保存する。
ollama show --modelfile hf.co/bartowski/Llama-3.2-1B-Instruct-GGUF:Q8_0 > Modelfile.txt
-
-
GGUF file、Model fileをファイルをカレント・ディレクトリに配置
-
モデルを
-
作成する。
※ Modelfile中からGGUF fileをポイントollama create Llama3 -f Modelfile.txt -
実行する。
ollama run Llama3 -
削除する。
ollama rm Llama3
-
-
-
参考
-
digest mismatchon download · Issue #941 · ollama/ollama
https://github.com/ollama/ollama/issues/941 - 【対策】Ollamaでダウンロードが完了しない場合の解決方法
(Error: digest mismatch, file must be downloaded again)|ノリハラ
https://note.com/takusamu/n/n5983c2b91ec5 - Ollama で Hugging Face Hub の GGUF をそのまま使ってみる|ぬこぬこ
https://note.com/schroneko/n/n6a7c34f0a50c
-
- LLM系ツール > Ollama(LLM系ツールの該当節を参照)
- 【Ollama】自宅サーバーでかんたんにローカルLLMを動かす方法
https://zenn.dev/fp16/articles/e8c61e2f62e6b6
-
第825回 ローカルLLMの実行ツールであるOllamaをUbuntuで動かす | gihyo.jp
https://gihyo.jp/admin/serial/01/ubuntu-recipe/0825 -
+Docker
- Llama3の環境構築からCUIでの実行まで #Docker
https://qiita.com/masa3000/items/8ed69d2036255e5f0af2
- Llama3の環境構築からCUIでの実行まで #Docker
-
10分の作業で利用可能。WindowsPCで簡単に
生成AI(LLM)が動くようになっていたので紹介 #ollama
https://qiita.com/kit/items/cd3a7f8116982d61c06d- WindowsでOllamaを使って、ローカルで動くLLMのLlama3やPhi3を使いこなす!
https://zenn.dev/shohei6117/scraps/0b07661a5e670e
- WindowsでOllamaを使って、ローカルで動くLLMのLlama3やPhi3を使いこなす!
-
+WSL2
-
WSLでローカルLLMを動かす #ollama - Qiita
https://qiita.com/thistle0420/items/b095d169404806002b55 -
WSL2を使ってAI用の環境を構築(Ollama試行利用編)
https://enrock2023-itblogger.com/ollama-review/ -
初心者がとりあえずローカルLLMを触ってみる(Windows10×WSL2×Llama-3-ELYZA-JP-8B) #生成AI - Qiita
https://qiita.com/yoku8983/items/9ddbe1b30182d672c9ac -
【WSL2】WSL2側からホストのlocalhostで立っているAPIサーバーのAPIをcURLで叩く方法 #WSL - Qiita
https://qiita.com/b_tanukiudon_rk/items/416cd1547fb4504972d3
-
-
+Docker
-
WSL2とDockerでWindows上にOllamaを構築する
https://zenn.dev/toki_mwc/articles/d1ebbd634ff488 -
Windows の WSL2 で入れた Ubuntu で Docker + Ollama + llama3 を動かしたメモ – 1ft-seabass.jp.MEMO
https://www.1ft-seabass.jp/memo/2024/05/26/windows-wsl2-ubuntu-docker-ollama-llama3/ -
ollama (llama3) + docker + wsl2 + ubuntu24メモ #Docker - Qiita
https://qiita.com/kiyotaman/items/cf405a654cee1f21641f -
プロダクションでOllamaを使う場合のインストールメモ #LLM - Qiita
https://qiita.com/kiyotaman/items/1aeb098b5ff0d6d5e641
-
- 【ローカルLLM】Ollama Python Libraryのメソッド一覧と動作例 #DeepLearning - Qiita
https://qiita.com/LiberalArts/items/6492e54d479789eddbcd
-
LLaMa-3をAPIサーバーのように使う方法 #LLM
https://qiita.com/tasuku-revol/items/6a287fb69ce4a423dbe0 -
【ollama / Phi-3】ニュースで話題のLLMをローカルPC上で動かしてみる
https://zenn.dev/tanny/articles/705682d88e254e -
Phi-3をOllamaを使ってローカルで動作させる #AI - Qiita
https://qiita.com/ishidahra01/items/16e560105137d41a79f0
移行メモ
- 見出し・本文で「Window」となっていた箇所は「Windows」に統一した。
- 同名の見出し(「Windows」「Linux」)がインストールと参考で重複し GitHub Wiki でアンカが衝突するため、括弧で文脈を補って一意にした。
- PukiWiki のページ内アンカ(
#xxxxxxxx)は GitHub Wiki では再現できないため、 他ページのアンカを指すリンクは「〜(ページ名の該当節を参照)」の形に置き換えた。
Tags: 移行, Ollama, ローカルLLM, Llama3, Phi-3, GGUF, Modelfile, WSL2, Docker
このWikiは「Open棟梁Project」,「OSSコンソーシアム 開発基盤部会」によって運営されています。