GPT-OSS API Serviceを試してみた。
VertexAIのModel Gardenに、GPT-OSS API Serviceが二三日前から使えるようになっています。
使用可能モデル
gpt-oss-120b
gpt-oss-20b
料金 ※2025/8/18から

Gemini 2.5 Flashより安価。
さっそくつかってみよう
前提
- uv
- glcoud auth application-default login
作業ディレクトリ、uvの初期化
mkdir gpt-oss-test
uv init
必要モジュールの導入
uv add openai
uv add google-auth
uv add google-cloud-aiplatform
uv add requests
pyproject.tomlができあがります
[project]
name = "gpt-oss-test"
version = "0.1.0"
description = "Add your description here"
readme = "README.md"
requires-python = ">=3.12.7"
dependencies = [
"google-auth>=2.40.3",
"google-cloud-aiplatform>=1.109.0",
"openai>=1.99.9",
"requests>=2.32.4",
]
サンプルコード
Google Cloud認証情報を取得して、API Keyを生成しているロジックは、OpenAICredentialsRefresherは[1]のものを利用しています。
サンプルコード上の xxxxxxxxxx は各自のGoogle Cloud project idにおきかえてください。
ソースコード
from typing import Any
import google.auth
import google.auth.transport.requests
import openai
class OpenAICredentialsRefresher:
def init(self, **kwargs: Any) -> None:
# Set a dummy key here
self.client = openai.OpenAI(**kwargs, api_key="DUMMY")
self.creds, self.project = google.auth.default(
scopes=["https://www.googleapis.com/auth/cloud-platform"]
)
def __getattr__(self, name: str) -> Any:
if not self.creds.valid:
auth_req = google.auth.transport.requests.Request()
self.creds.refresh(auth_req)
if not self.creds.valid:
raise RuntimeError("Unable to refresh auth")
self.client.api_key = self.creds.token
return getattr(self.client, name)
client = OpenAICredentialsRefresher(base_url="https://us-central1-aiplatform.googleapis.com/v1/projects/xxxxxxxxxx/locations/us-central1/endpoints/openapi")
stream = client.chat.completions.create(
model="openai/gpt-oss-120b-maas",
messages=[
{
"role": "user",
"content": "3.9と3.11どちらがおおきいですか"
}
],
stream=True
)
for chunk in stream:
print(chunk)
if len(chunk.choices)!=0:
print(chunk.choices[0].delta.content)
print("##########")
実行してみましょう。
uv run test2.py
実行結果
ChatCompletionChunk(id='chatcmpl-0da325b35ba7477fbd01368ad7d6cb54', choices=[Choice(delta=ChoiceDelta(content='', function_call=None, refusal=None, role='assistant', tool_calls=None), finish_reason=None, index=0, logprobs=None)], created=1755309271, model='openai/gpt-oss-120b', object='chat.completion.chunk', service_tier=None, system_fingerprint=None, usage=None)
##########
ChatCompletionChunk(id='chatcmpl-0da325b35ba7477fbd01368ad7d6cb54', choices=[Choice(delta=ChoiceDelta(content=None, function_call=None, refusal=None, role=None, tool_calls=None, reasoning_content=''), finish_reason=None, index=0, logprobs=None)], created=1755309271, model='openai/gpt-oss-120b', object='chat.completion.chunk', service_tier=None, system_fingerprint=None, usage=None)
None
##########
ChatCompletionChunk(id='chatcmpl-0da325b35ba7477fbd01368ad7d6cb54', choices=[Choice(delta=ChoiceDelta(content=None, function_call=None, refusal=None, role=None, tool_calls=None, reasoning_content=''), finish_reason=None, index=0, logprobs=None)], created=1755309271, model='openai/gpt-oss-120b', object='chat.completion.chunk', service_tier=None, system_fingerprint=None, usage=None)
None
##########
ChatCompletionChunk(id='chatcmpl-0da325b35ba7477fbd01368ad7d6cb54', choices=[Choice(delta=ChoiceDelta(content=None, function_call=None, refusal=None, role=None, tool_calls=None, reasoning_content=''), finish_reason=None, index=0, logprobs=None)], created=1755309271, model='openai/gpt-oss-120b', object='chat.completion.chunk', service_tier=None, system_fingerprint=None, usage=None)
None
##########
ChatCompletionChunk(id='chatcmpl-0da325b35ba7477fbd01368ad7d6cb54', choices=[Choice(delta=ChoiceDelta(content=None, function_call=None, refusal=None, role=None, tool_calls=None, reasoning_content='The'), finish_reason=None, index=0, logprobs=None)], created=1755309271, model='openai/gpt-oss-120b', object='chat.completion.chunk', service_tier=None, system_fingerprint=None, usage=None)
None
##########
# 留意点
OpenAIインスタンス初期化時、base_urlとして、Google Cloudのエンドポイントを指定する必要があります。
base_url="https://us-central1-aiplatform.googleapis.com/v1/projects/xxxxxxxxxx/locations/us-central1/endpoints/openapi"
-
Google Cloud 認証を使用して OpenAI API認証情報を更新する
https://cloud.google.com/vertex-ai/generative-ai/docs/samples/generativeaionvertexai-credentials-refresher-class?hl=ja ↩︎
Discussion