Ejemplos de código ejecutables directamente
Programas completos de Chat Completions en Python y Node.js, con preparación del entorno, selección de modelo, manejo de errores y comandos de ejecución.
Los dos programas siguientes hacen lo mismo: leer variables de entorno, realizar una solicitud de texto no en streaming y mostrar la respuesta o un error localizable. Los ejemplos desactivan los reintentos automáticos para facilitar la verificación del resultado de una sola solicitud.
1. Preparar las variables de entorno
Sección titulada “1. Preparar las variables de entorno”Configúralas en la misma terminal desde la que ejecutarás el programa; ONEZHE_MODEL puede sustituirse por el ID enlos modelos disponibles con clave.
export ONEZHE_API_KEY="sk-你的Key"export ONEZHE_MODEL="gpt-5.6-sol"$env:ONEZHE_API_KEY = "sk-你的Key"$env:ONEZHE_MODEL = "gpt-5.6-sol"2. Ejecutar según el lenguaje elegido
Sección titulada “2. Ejecutar según el lenguaje elegido”Instala python -m pip install openai, guárdalo como chat.py y ejecuta python chat.py.
import osimport sysimport openai
api_key = os.environ.get("ONEZHE_API_KEY")if not api_key: sys.exit("请先设置 ONEZHE_API_KEY 环境变量。")
client = openai.OpenAI( api_key=api_key, base_url="https://1zheai.com/v1", timeout=120.0, max_retries=0,)try: response = client.chat.completions.create( model=os.environ.get("ONEZHE_MODEL", "gpt-5.6-sol"), messages=[{"role": "user", "content": "用一句中文解释 DNS。"}], ) if not response.choices: sys.exit("响应没有 choices,请检查响应协议。") choice = response.choices[0] print(choice.message.content or "本次响应没有普通文本。") print("finish_reason:", choice.finish_reason) print("response_id:", response.id)except openai.APIStatusError as exc: print("HTTP:", exc.status_code, "request_id:", exc.request_id, file=sys.stderr) print("请查看控制台日志和错误码文档;不要公开密钥。", file=sys.stderr) sys.exit(1)except openai.APIConnectionError: sys.exit("连接失败或超时:检查网络与代理,再核对调用日志。")Node.js
Sección titulada “Node.js”Instala npm install openai, guárdalo como chat.mjs y ejecuta node chat.mjs. Usar la extensión .mjs permite habilitar directamente ES Module.
import OpenAI from "openai";
if (!process.env.ONEZHE_API_KEY) { console.error("请先设置 ONEZHE_API_KEY 环境变量。"); process.exit(1);}const client = new OpenAI({ apiKey: process.env.ONEZHE_API_KEY, baseURL: "https://1zheai.com/v1", timeout: 120_000, maxRetries: 0,});try { const response = await client.chat.completions.create({ model: process.env.ONEZHE_MODEL || "gpt-5.6-sol", messages: [{ role: "user", content: "用一句中文解释 DNS。" }], }); const choice = response.choices[0]; if (!choice) throw new Error("响应没有 choices,请检查响应协议。"); console.log(choice.message.content || "本次响应没有普通文本。"); console.log("finish_reason:", choice.finish_reason); console.log("response_id:", response.id);} catch (error) { if (error instanceof OpenAI.APIError) { console.error("HTTP:", error.status, "request_id:", error.request_id); console.error("请检查网络、控制台日志和错误码文档。"); } else { console.error(error instanceof Error ? error.message : "未知错误"); } process.exitCode = 1;}3. Verificar los resultados
Sección titulada “3. Verificar los resultados”Deberías ver una respuesta y la razón de finalización. Cuando finish_reason no sea stop, comprueba si se trata de una llamada a herramientas o de una truncación. El ID de solicitud del SDK puede estar vacío; el servidor también puede colocar el ID de seguimiento en el cuerpo del error; para depurar, complétalo a partir de la respuesta original anonimizada.
Consultael registro de llamadas para verificar las llamadas. El estado de salida del programa y la presencia o ausencia de texto normal no cubren todas las condiciones de éxito del negocio; revisa la estructura y el contenido según tu tarea.
Continuar ampliando
Sección titulada “Continuar ampliando”- Chat Completions: historial de múltiples turnos y descripción de campos.
- Messages: bloques de contenido nativos de Claude.
- Responses: GPT Responses y eventos de streaming.
- Generación de imágenes: generar y guardar archivos de imagen.
- Tiempo de espera y reintentos: configurar el manejo de fallos antes de entrar en producción.
