15
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

別マシンの Ollama へのアクセス

Last updated at Posted at 2024-03-04

Ollama は各種 LLM をローカルで手軽に動かせます。HTTP サーバーとして実装されているため、LLM を専用マシンに分離することも簡単です。

デフォルトでは 127.0.0.1:11434 で待ち受けされるため、ローカルからのアクセスに制限されます。

11434llAMA (LLAMA) ということのようです。

WSL2 はホストとは別の IP アドレスを持っているため、Windows 側の Ollama に WSL2 から 127.0.0.1:11434 でアクセスすることはできません。

外部からのアクセスを許可するには環境変数 OLLAMA_HOSTOLLAMA_ORIGINS を設定します。👉FAQ

設定例
OLLAMA_HOST=0.0.0.0
OLLAMA_ORIGINS=192.168.0.*

127.0.0.10.0.0.0 の違いについては以下の記事が参考になります。

クライアント

OLLAMA_HOST はサーバーだけでなく、クライアントにも影響します。

OLLAMA_HOST が設定されていない、または自ホストが指定されている場合、ollama コマンドを実行すると、サーバーが起動していなければ自動的に起動します。一方、他のホストが設定されている場合は、指定されたホストに接続しようとしますが、起動していなければ失敗します。

ライブラリ

Python からアクセスするための公式ライブラリがあります。

OLLAMA_HOST が設定されていれば、自動的にそちらに接続します。

import ollama
ollama.generate(model="gemma2:2b", prompt="Who are you?")

LangChain

汎用的な LLM ライブラリである LangChain でも Ollama はサポートされています。

ただし LangChain では OLLAMA_HOST は参照されないため、別マシンにアクセスするには base_url を指定する必要があります。

from langchain_community.llms import Ollama
llm = Ollama(base_url="http://192.168.0.11:11434", model="gemma2:2b")
llm.invoke("Who are you?")

参考

ローカル LLM の構築は手間が掛かりそうなので敬遠していましたが、Ollama はあっさり動きました。型落ちのノート PC (Core i5-3320M) でも、gemma:2b は 5tps くらいは出るので驚きました(gemma2:2b も同程度)。Ollama と Gemma の組み合わせは私にとって画期的でした。

15
9
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
15
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?