Ausführbare Codebeispiele
Vollständige Chat-Completions-Programme für Python und Node.js, einschließlich Umgebungsvorbereitung, Modellauswahl, Fehlerbehandlung und Ausführungsbefehlen.
Die beiden folgenden Programme erledigen dasselbe: Sie lesen Umgebungsvariablen, senden eine nicht-streamende Textanfrage und geben die Antwort oder einen lokalisierbaren Fehler aus. Die Beispiele deaktivieren automatische Wiederholungen, um das Ergebnis einer einzelnen Anfrage überprüfen zu können.
1. Umgebungsvariablen vorbereiten
Abschnitt mit dem Titel „1. Umgebungsvariablen vorbereiten“Im selben Terminal festlegen, in dem das Programm ausgeführt wird; ONEZHE_MODEL kann durch die ID ausverfügbare Modelle mit Schlüsselersetzt werden.
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. Sprache auswählen und ausführen
Abschnitt mit dem Titel „2. Sprache auswählen und ausführen“python -m pip install openai installieren, als chat.py speichern, python chat.py ausführen.
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("连接失败或超时:检查网络与代理,再核对调用日志。")npm install openai installieren, als chat.mjs speichern, node chat.mjs ausführen. Die Verwendung der Erweiterung .mjs aktiviert ES Module direkt.
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. Ergebnis überprüfen
Abschnitt mit dem Titel „3. Ergebnis überprüfen“Eine Antwort und der Beendigungsgrund sollten sichtbar sein. Wenn finish_reason nicht stop ist, prüfen, ob es sich um einen Tool-Aufruf oder eine Abbruch handelt. Die Anfrage-ID des SDKs kann leer sein; der Server kann die Trace-ID auch im Fehlerkörper platzieren. Beim Fehlersuche die desensitisierte Rohantwort ergänzen.
DieAufrufprotokollezum Abgleich der Aufrufe verwenden. Der Exit-Status des Programms und das Vorhandensein von normalem Text decken nicht alle Geschäftserfolgsbedingungen ab; Struktur und Inhalt gemäß Ihrer Aufgabe prüfen.
Weiter ausbauen
Abschnitt mit dem Titel „Weiter ausbauen“- Chat Completions: Mehrstufige Historie und Feldbeschreibungen.
- Messages: Claude-native Inhaltsblöcke.
- Responses: GPT Responses und Streaming-Ereignisse.
- Bildgenerierung: Bilder generieren und Bilddateien speichern.
- Timeout und Wiederholungen: Fehlerbehandlung vor dem Produktivbetrieb konfigurieren.
