diff --git a/mcp/scripts/ask.py b/mcp/scripts/ask.py index 5d82c87..9f4b6bf 100644 --- a/mcp/scripts/ask.py +++ b/mcp/scripts/ask.py @@ -59,16 +59,6 @@ def call_mcp(cfg, message: str): response.raise_for_status() return response.json().get("output", {}).get("response", "❓ 応答が取得できませんでした") -#def call_openai(cfg, message: str): -# payload = build_payload_openai(cfg, message) -# headers = { -# "Authorization": f"Bearer {cfg['api_key']}", -# "Content-Type": "application/json", -# } -# response = requests.post(cfg["url"], headers=headers, json=payload) -# response.raise_for_status() -# return response.json()["choices"][0]["message"]["content"] - def call_openai(cfg, message: str): tools = [ { @@ -127,6 +117,17 @@ def call_openai(cfg, message: str): # 通常のテキスト応答 return result["choices"][0]["message"]["content"] +def call_ollama(cfg, message: str): + payload = { + "model": cfg["model"], + "prompt": message, # `prompt` → `message` にすべき(変数未定義エラー回避) + "stream": False + } + headers = {"Content-Type": "application/json"} + response = requests.post(cfg["url"], headers=headers, json=payload) + response.raise_for_status() + return response.json().get("response", "❌ 応答が取得できませんでした") + def main(): if len(sys.argv) < 2: print("Usage: ask.py 'your message'") @@ -142,6 +143,9 @@ def main(): response = call_openai(cfg, message) elif cfg["provider"] == "mcp": response = call_mcp(cfg, message) + + elif cfg["provider"] == "ollama": + response = call_ollama(cfg, message) else: raise ValueError(f"未対応のプロバイダー: {cfg['provider']}")