やりたいこと
gpt-ossを立ち上げて(もちろんローカル環境)、
APIみたいにしてpythonから使いたいのです。
準備物
・パソコン(手元ではUbuntu)
・RTX 3090(手元のグラボ)
WinやMacでもLM Studioさえ動けば同様の手順で動くと思います。
もちろんグラボは高性能なほどよいです。
やること
STEP1 : LM Studioを導入する
STEP2 : gpt-ossを導入する
STEP3 : LM Stuidoをサーバー化する
STEP4 : Pythonから問い合わせる
STEP 1
LM Studioは公開されているLLMをすぐに使える超便利なGUI環境です。
npakaさんの記事などを見て、LM Studioを導入します。
「LM Studio 入門」などで検索すれば、ざっくりとした使用方法なども見つかると思います。
STEP 2
gpt-ossの導入についても、さきほどのnpakaさんの記事で丁寧に紹介されていますので参考に進めます。
gpt-ossは先日発表されたばかりのローカル用LLMで、コンパクトなサイズでありながら、かなりの応答速度と精度のあるオープンウェイト言語モデルです。
このLLMをベースとしてファインチューニングを試すなど、これから様々な研究へと発展していきそうな素材です。
手元の環境では120Bはうごかなかったので、20Bで試していきます。
STEP 3
LM Studioを使えば、基本機能そのままですぐにgpt-ossをチャットボットのように利用することができます。
さらにgpt-ossの出力をTextToSpeachに渡したり、オリジナルゲームに組み込んだりと、自分好みの形で利用するには、コードからAPIのように使えた方が便利です。
それは、LM Studio + gpt-ossをローカルサーバー化することで可能になります。
サーバー化といってもやることは簡単で、LM Studioの緑のプロンプトアイコン(黄色い吹き出しの下)のタブ選び、「Status:Stopped」と書いてあるスイッチをオンにするだけです。

すると、Status:Runningと変化し、gpt-ossがAPIとして使えるようになります。
APIにはhttp://127.0.0.1:1234/v1 でアクセスできるようになったはずです。
STEP 4
PythonからAPI経由で問い合わせてみます。
コードのサンプルは下記のとおりです。
from openai import OpenAI
client = OpenAI(
base_url="http://localhost:1234/v1",
api_key="dummy_api_key" # api_keyはダミーなので何でもよい
)
MODEL_NAME = "openai/gpt-oss-20b"
# 最初のシステムプロンプト(会話の前提や制約。内容は増やせます。)
messages = [
{
"role": "system",
"content": (
"あなたは知識豊富なメイド型の日本語アシスタントです。"
)
}
]
while True:
user_input = input("YOU > ").strip()
messages.append({"role": "user", "content": user_input})
response = client.chat.completions.create(
model=MODEL_NAME,
messages=messages
)
reply = response.choices[0].message.content.strip()
messages.append({"role": "assistant", "content": reply})
print("AI : " + reply)
もうこれだけで完成です。
(コードの詳細はChatGPTに聞けば教えてくれます。)
gpt-oss-test.pyというファイル名で保存し、そのディレクトリで
python gpt-oss-test.py
と入力して開始してください。
このサンプルコードは、コンソール画面からの会話入力に対して、即座に回答をしてくれる簡易チャットボットです。
性格や会話のルールなども、"あなたは知識豊富なメイド型の日本語アシスタントです。"の部分を変更したり書き足していくことで設定できます。
ロボットの発話システムやゲーム内のキャラとの会話は、これを基本にして作れてしまいそうです。
ネット接続せずにローカルで使えるので、課金を気にせずいろいろな実験を楽しめそうですし、プライベートな情報も扱いやすくなりそうです。