はじめに
この記事の内容は、直近でリリースされたばかりの LM Studio の新バージョン(0.4.0)に関する話です。
●Introducing LM Studio 0.4.0 | LM Studio Blog
https://lmstudio.ai/blog/0.4.0
stateful な新しい REST API エンドポイント
この新バージョンでは、以下の公式のポストでも書かれているように、複数の新機能がリリースされています。
この記事では、その中の 1つの「stateful な新しい REST API エンドポイント」を試してみます。
New REST API: /v1/chat
— LM Studio (@lmstudio) January 28, 2026
Allows you to run your local models and give them local MCPs to use.
Additionally, you can now generate permission tokens to control which clients can interact with your server. pic.twitter.com/NbXKbggkZA
LM Studio の API には OpenAI互換の API がありますが、今回の話はそちらの API ではない、LM Studio の REST API のほうの話になります。LM Studio の REST API で、過去のやりとりを引き継ぐ機能が手軽に使えるようになったという話のようです。
OpenAI互換の API のほうの話
OpenAI互換の API のほうは、2025年の10月に OpenAI の Responses API に対応したエンドポイントが実装されていました。OpenAI互換の API のほうでは、その Responses API に対応したエンドポイントを使えば、過去のやりとりを引き継いだチャットの実装を手軽な方法で行えていたかと思います。
●Responses | LM Studio Docs
https://lmstudio.ai/docs/developer/openai-compat/responses
ちなみに、OpenAI の Responses API に対応したエンドポイントは、以下の赤線で示したものです。
●OpenAI Compatibility Endpoints | LM Studio Docs
https://lmstudio.ai/docs/developer/openai-compat
さっそく試してみる
さっそく試していきます。
Stateful なチャットについて
関連する公式ドキュメントのページは、以下などがあるようです。
●Stateful Chats | LM Studio Docs
https://lmstudio.ai/docs/developer/rest/stateful-chats
上記のページに書かれている説明を見ると、「/api/v1/chat のエンドポイント」は「デフォルトで Stateful」となるようです。
この機能により、クライアント側からチャットリクエストを送信すると、LM Studio は会話を保存しつつ、クライアントへのレスポンス内で「response_id」を返します。そして、クライアント側からの後続のリクエストに、この response_id を使用することで会話を継続できるようです。
それを実際に確かめてみます。
試した内容
今回は、公式ページに書かれた curl を使った手順で試してみます。
今回の内容を試すにあたり、LM Studio でローカルサーバーを起動し、適当なモデルを読み込んでおきます。モデルに関して、以下では openai/gpt-oss-20b を使いました。
1回目のリクエスト
1回目のリクエストの内容は、以下のとおりです。内容は、公式ドキュメントの例を元に作りました。
curl http://localhost:1234/api/v1/chat \
-H "Content-Type: application/json" \
-d '{
"model": "openai/gpt-oss-20b",
"input": "私の好きな色は青です"
}'
これを実行したところ、以下のとおりの返答が返ってきました。LM Studio からのテキストの返答と合わせて、「response_id」として、「resp_」で始まる文字列が返ってきています。
2回目のリクエスト
先ほどのレスポンスに含まれていた「response_id」を使い、2回目のリクエストを送ってみます。リクエストの内容は、また公式ドキュメントの例を元に作りました。
curl http://localhost:1234/api/v1/chat \
-H "Content-Type: application/json" \
-d '{
"model": "openai/gpt-oss-20b",
"input": "先ほど私が話していた色は?",
"previous_response_id": "【先ほどの「response_id」】"
}'
これを実行した結果は、以下のとおりです。想定どおり、先ほどの会話の内容を踏まえた回答が得られました。
最後のお試しで、「response_id」を含めないで 2回目のリクエストの文章を送ってみました。この場合は、以前のやりとりの内容を踏まえた回答はできないはずです。
それを試したところ、以下のように「残念ながら、前のやり取りを記憶しているわけではないので...」という返答になりました。







