メインコンテンツまでスキップ

OpenAI 互換 API

ChatWalaʻau はエージェントを OpenAI 互換エンドポイントとして公開するため、 OpenAI SDK を使う任意のアプリから利用でき ます。

API_KEY=sk-chatwalaau-your-secret-key-here

SDK の base_url を自分のインスタンスに向けます:

from openai import OpenAI

client = OpenAI(
base_url="http://localhost:8000/v1",
api_key="sk-chatwalaau-your-secret-key-here",
)

# 非ストリーミング
response = client.responses.create(
model="chatwalaau",
input="What is the weather in Tokyo?",
)

# ストリーミング
stream = client.responses.create(
model="chatwalaau",
input="Explain quantum computing.",
stream=True,
)
for event in stream:
if event.type == "response.output_text.delta":
print(event.delta, end="", flush=True)
  • すべてのエージェントツール(天気、コーディング、画像生成)と Skills が利用可
  • previous_response_id によるマルチターン
  • API セッションはチャットサイドバーに API バッジ付きで表示
  • ストリーミング(SSE)と非ストリーミングの両モード

構造化出力

エンドポイントは標準の OpenAI text.format フィールドを尊重するため、既存の SDK コードのまま回答を JSON または特定の JSON Schema に拘束できます。チャット UI と同じ プロバイダ seam で解決されるため、Azure OpenAI / Anthropic の両モデルで動作します。

# JSON Schema に拘束
response = client.responses.create(
model="chatwalaau",
input="Extract the city and the temperature unit from: weather in Tokyo in Celsius.",
text={
"format": {
"type": "json_schema",
"name": "extraction",
"schema": {
"type": "object",
"properties": {"city": {"type": "string"}, "unit": {"type": "string"}},
"required": ["city", "unit"],
"additionalProperties": False,
},
"strict": True,
}
},
)

# あるいは汎用 JSON を要求
response = client.responses.create(
model="chatwalaau",
input="List three primary colors as JSON.",
text={"format": {"type": "json_object"}},
)

通常の散文出力(既定)では text.format を省略します。チャット UI 側は モデルと推論 -> 構造化出力を 参照してください。

/v1/responses は外部アプリ向けの設計のため、クライアントアドレスに関わらず常に一致 する Bearer キーを要求します。認証を参照してください。