概要
Ollama Pythonライブラリでリモートサーバーに接続し、generate、chat、LangChain連携まで使用する方法を整理する。
手順
1. リモートサーバー接続
Clientにhostとtimeoutを指定するとリモートOllamaサーバーに接続できる。LangChainを使う場合はChatOllamaにbase_urlを指定する。
import ollama
client = ollama.Client(
host="http://192.168.x.x:11434",
timeout=300
)
2. generateとchat
# 単一レスポンス生成
result = client.generate(
model="qwen3:8b",
prompt="Pythonとは何かを一文で説明して"
)
print(result["response"])
# 対話形式
reply = client.chat(
model="qwen3:8b",
messages=[{"role": "user", "content": "こんにちは"}]
)
print(reply.message.content)
3. LangChain連携
LangChainのChatOllamaを使えば対話型インターフェースを簡単に実装できる。
from langchain_ollama import ChatOllama
from langchain_core.messages import HumanMessage
llm = ChatOllama(
model="qwen3:8b",
base_url="http://192.168.x.x:11434"
)
while True:
user_input = input("質問を入力してください (終了: exit): ")
if user_input.lower() == "exit":
break
messages = [HumanMessage(content=user_input)]
response = llm.invoke(messages)
print("回答:", response.content)
4. タイムアウト
8Bモデルでもサーバーのスペックによってはレスポンスに時間がかかることがある。デフォルトのタイムアウトが短いとConnectionErrorが発生するため、timeoutを余裕を持って設定するのが良い。
リソース
- 올라마와 오픈소스 LLM을 활용한 AI 에이전트 개발 입문
コメントする