「[[.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