背景
家のゲーミング PC で Ollama を動かし、別の Mac からアクセスして使う構成です。公式ライブラリのページでも、Custom Client + Streaming の例が無く、少し探しても見つからなかったので記事として残すことにしました。
コード
公式ページの Streaming responses の例と Custom client の例の合わせ技とすることで動きます。
from ollama import Client
client = Client(
host='http://接続先の IP アドレス:11434',
headers={'x-some-header': 'some-value'}
)
stream = client.chat(
model='使いたいモデル',
messages=[
{
'role': 'user',
'content': 'AIによって私たちの暮らしはどのように変わりますか?',
},
],
stream=True
)
for chunk in stream:
print(chunk['message']['content'], end='', flush=True)
上記はあくまで動作確認用のサンプルです。実運用で使うには適切なエラー処理などを実装して使用してください。
家のゲーミング PC は 2 年ほど前に組み立てたので、GPU も GeForce RTX 3060 と少し世代が前ではあるものの、12GB VRAM のおかげで話題のあのモデルの 14B とかも悪くない速度で動きました。