SIMPLE

【Ollama API入門】ローカル環境でチャット・テキスト生成を行う方法

ローカル環境で動作するOllamaのAPIを用いて、チャット形式および単発プロンプトによるテキスト生成を行う方法を、シンプルなリクエスト例とともに解説します。

通りすがりのラマ🦙
27 April, 2025

はじめに

本記事では、ローカル環境で大規模言語モデル(LLM)を動作させる「Ollama」において、APIを使用してチャットやテキスト生成を行う方法について解説します。
初学者向けに、最小限の実装で動作確認できる内容に絞って紹介します。

前提条件

以下の環境が整っていることを前提とします。

  • Ollamaがインストール済み
  • OllamaのAPIサーバーが起動している(通常、http://localhost:11434
  • 使用するモデルがローカルにダウンロード済み(例:ollama pull llama3

チャットAPIの使用方法

エンドポイント

POST http://localhost:11434/api/chat

リクエスト例

curl http://localhost:11434/api/chat -d '{
  "model": "llama3",
  "messages": [
    { "role": "user", "content": "こんにちは" }
  ]
}'

パラメータ説明

パラメータ 必須 説明
model 使用するモデル名(例:llama3
messages チャットの履歴を配列で指定
各メッセージにroleuser/assistant/system)とcontent(テキスト)を指定

レスポンス例

{
  "model": "llama3",
  "message": {
    "role": "assistant",
    "content": "こんにちは。どのようにお手伝いできますか?"
  },
  "done": true
}

テキスト生成APIの使用方法

エンドポイント

POST http://localhost:11434/api/generate

リクエスト例

curl http://localhost:11434/api/generate -d '{
  "model": "llama3",
  "prompt": "富士山について教えてください"
}'

/api/generateはチャット形式ではなく、単発のプロンプトに対して出力を得る用途に適しています。


注意点

  • モデルの事前取得
    使用するモデルは、ollama pull <モデル名>でダウンロードしておく必要があります。

  • ストリーム出力
    デフォルトでは応答がストリーム形式で返されます。
    まとめて応答を受け取りたい場合は、リクエストに "stream": false を付与してください。

  • ローカル開発向け
    標準構成ではローカル環境での利用を前提としており、セキュリティ設定は行われていません。
    外部公開を想定する場合は、認証やリバースプロキシの設定が必要です。


まとめ

OllamaのAPIは、HTTP POSTリクエストでJSONを送信するシンプルな設計となっており、チャット形式・単発プロンプト形式のいずれにも対応しています。
ローカル環境における軽量なLLM活用に非常に適しているため、開発検証用途にも有効です。

以上、Ollama APIの基本的な使用方法について解説しました。

通りすがりのラマ🦙

このブログでは個人開発で得た知見や興味のあるテクノロジーに関する記事を執筆します。 日々公開されている情報に助けられているので、自分が得た知見も世の中に還元していければと思います。 解決できないバグに出会うと、草を食べます。🦙🌿 経歴: 情報工学部→日系SIer→外資系IT企業 興味: Webアプリケーション開発、Webデザイン、AI 趣味: 個人開発、テニス