「[[.NET 開発基盤部会 Wiki>http://dotnetdevelopmentinfrastructure.osscons.jp]]」は、「[[Open棟梁Project>https://github.com/OpenTouryoProject/]]」,「[[OSSコンソーシアム .NET開発基盤部会>https://www.osscons.jp/dotNetDevelopmentInfrastructure/]]」によって運営されています。

-[[戻る>LLM系ツール]]

*目次 [#obbe4eaa]
#contents

*概要 [#n8f9254f]
-LLMをローカルで実行するためのアプリケーション
-その他にも、LM Studio、Llamafile、GPT4ALL、H2oGPTなどがあるらしい。

*詳細 [#ndc8defd]

**インストール [#bafac0e6]

***Window [#bba535b2]
WindowにOllamaをインストールしてLlama3を実行する。

-インストール~
インストーラーをダウンロードして実行~
https://ollama.com/download/windows

-サーバ起動~
PowerShellからOllamaを起動
 ollama

***Linux [#ac6903ea]
LinuxにOllama - Llama3をインストールして実行する。

-インストール
 curl https://ollama.ai/install.sh | sh
※ リダイレクトされる場合は、-Lオプションを追加する。

-サーバ起動
 ollama serve

**動作確認 [#u5adea41]

***LLMの起動 [#a5ec4d6f]
-以下のようなコマンドを使用して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

***標準I/Oから [#v4158077]
 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!

***WebAPIから [#qd7199c5]

-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
HTTPClient
 import 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寄せ」での説明内容と同じ。

-Window+curl→WSL2(Ollama)
-環境を跨ぐ

--Window+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→Window(Ollama)
--WSL2+curl → Window(Ollama)

--IPアドレスを取得
---IPアドレスを取得
 >ipconfig
  イーサネット アダプター vEthernet (WSL):
    接続固有の DNS サフィックス . . . . .:
    リンクローカル IPv6 アドレス. . . . .: ...
    IPv4 アドレス . . . . . . . . . . . .: 172.xxx.xxx.1
    サブネット マスク . . . . . . . . . .: 255.255.240.0
    デフォルト ゲートウェイ . . . . . . .:

--環境変数~
なににどう設定したら良いか解らんわ(笑)
---CORS設定~
ナニをドウ設定したら良いか解らんわ(笑)
 OLLAMA_HOST
 OLLAMA_ORIGINS

**Error: digest mismatch [#cff4214a]
Error: digest mismatchになる場合(恐らくプロキシ環境で発生)

***プロキシ設定 [#f3777410]
以下のようにOllamaプロキシ系の環境変数を設定してもエラーになる。~
(キャッシュ・中継プロキシがコンテンツを改変するため、とのこと)

-Ollama設定ファイルを開く。
 sudo systemctl edit ollama.service

-エディタにプロキシ環境に合わせた内容を記述

-設定を反映
 sudo systemctl daemon-reload
 sudo systemctl restart ollama

***手動ダウンロード [#w401d088]
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 mismatch` on 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

*参考 [#f362e0a7]
-【Ollama】自宅サーバーでかんたんにローカルLLMを動かす方法~
https://zenn.dev/fp16/articles/e8c61e2f62e6b6

**環境 [#ld72d0af]

***Ubuntu [#p0652609]
-第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

***Windows [#j1fd5b73]
-10分の作業で利用可能。WindowsPCで簡単に~
生成AI(LLM)が動くようになっていたので紹介 #ollama~
https://qiita.com/kit/items/cd3a7f8116982d61c06d

--WindowsでOllamaを使って、ローカルで動くLLMのLlama3やPhi3を使いこなす!~
https://zenn.dev/shohei6117/scraps/0b07661a5e670e

-+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

**C/S [#zdc8cbb9]

***クライアント [#m9ae82d2]
-【ローカルLLM】Ollama Python Libraryのメソッド一覧と動作例 #DeepLearning - Qiita~
https://qiita.com/LiberalArts/items/6492e54d479789eddbcd

***サーバー(LLM) [#q164d2ae]
-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

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS