From b5816415e31281408e96c7c8abc35e352b11d812 Mon Sep 17 00:00:00 2001 From: Seven <88984809@qq.com> Date: Wed, 15 Jul 2026 02:44:43 +0800 Subject: [PATCH 1/2] examples: add DaoXE OpenAI-compatible gateway client --- examples/daoxe_gateway.py | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 examples/daoxe_gateway.py diff --git a/examples/daoxe_gateway.py b/examples/daoxe_gateway.py new file mode 100644 index 0000000000..0354718455 --- /dev/null +++ b/examples/daoxe_gateway.py @@ -0,0 +1,35 @@ +""" +Use the OpenAI Python client against DaoXE, a multi-model multi-protocol API gateway. + +Chat Completions base URL: https://daoxe.com/v1 +Use an exact model ID from your DaoXE account catalog (GET /v1/models). +Not available in mainland China. + +DaoXE also exposes OpenAI Responses and Anthropic Messages for other clients; +this example uses Chat Completions. +""" + +from __future__ import annotations + +import os + +from openai import OpenAI + +client = OpenAI( + # Or set OPENAI_BASE_URL / OPENAI_API_KEY + base_url=os.environ.get("DAOXE_BASE_URL", "https://daoxe.com/v1"), + api_key=os.environ["DAOXE_API_KEY"], +) + +completion = client.chat.completions.create( + model=os.environ.get("DAOXE_MODEL", "YOUR_DAOXE_MODEL_ID"), + messages=[ + { + "role": "user", + "content": "Reply with OK", + }, + ], + max_tokens=16, +) + +print(completion.choices[0].message.content) From 437e8221a09b8a0bf1e437eafd6bbc30e3840c45 Mon Sep 17 00:00:00 2001 From: Seven <88984809@qq.com> Date: Thu, 16 Jul 2026 04:55:09 +0800 Subject: [PATCH 2/2] fix(examples): honor OPENAI_* env fallbacks in DaoXE gateway sample --- examples/daoxe_gateway.py | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/examples/daoxe_gateway.py b/examples/daoxe_gateway.py index 0354718455..97af65e542 100644 --- a/examples/daoxe_gateway.py +++ b/examples/daoxe_gateway.py @@ -15,14 +15,24 @@ from openai import OpenAI +# Prefer DaoXE-specific env vars; fall back to the standard OpenAI client env vars. +api_key = os.environ.get("DAOXE_API_KEY") or os.environ.get("OPENAI_API_KEY") +if not api_key: + raise SystemExit( + "Set DAOXE_API_KEY (or OPENAI_API_KEY) before running this example." + ) + client = OpenAI( - # Or set OPENAI_BASE_URL / OPENAI_API_KEY - base_url=os.environ.get("DAOXE_BASE_URL", "https://daoxe.com/v1"), - api_key=os.environ["DAOXE_API_KEY"], + base_url=os.environ.get("DAOXE_BASE_URL") + or os.environ.get("OPENAI_BASE_URL") + or "https://daoxe.com/v1", + api_key=api_key, ) completion = client.chat.completions.create( - model=os.environ.get("DAOXE_MODEL", "YOUR_DAOXE_MODEL_ID"), + model=os.environ.get("DAOXE_MODEL") + or os.environ.get("OPENAI_MODEL") + or "YOUR_DAOXE_MODEL_ID", messages=[ { "role": "user",