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 キーを要求します。認証を参照してください。