Pular para o conteúdo
Português

Exemplos de código prontos para execução

Programas completos de Chat Completions em Python e Node.js, incluindo preparação do ambiente, seleção de modelo, tratamento de erros e comandos de execução.

Os dois programas abaixo fazem a mesma coisa: ler variáveis de ambiente, fazer uma única requisição de texto não streaming e imprimir a resposta ou um erro localizável. Os exemplos desativam a retentativa automática para facilitar a verificação do resultado de uma única requisição.

Defina no mesmo terminal em que o programa será executado; ONEZHE_MODEL pode ser substituído por um ID de modelo disponível emas chaves disponíveis.

macOS / Linux
export ONEZHE_API_KEY="sk-你的Key"
export ONEZHE_MODEL="gpt-5.6-sol"

Instale python -m pip install openai, salve como chat.py e execute python chat.py.

python
import os
import sys
import 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("连接失败或超时:检查网络与代理,再核对调用日志。")

Instale npm install openai, salve como chat.mjs e execute node chat.mjs. Usar a extensão .mjs permite habilitar diretamente ES Module.

javascript
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;
}

Você deve ver uma resposta e o motivo de término. Quando finish_reason não for stop, verifique se houve chamada de ferramenta ou truncamento. O ID da requisição do SDK pode estar vazio; o servidor também pode colocar o ID de rastreamento no corpo do erro — durante a depuração, complemente a partir da resposta original anonimizada.

Acesseos logs de chamada para conferir as chamadas. O status de saída do programa e a presença de texto comum não cobrem todas as condições de sucesso de negócio; verifique a estrutura e o conteúdo conforme a sua tarefa.