---
title: "Exemplos de código prontos para execução"
description: "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."
headingIds: {"1. Preparar as variáveis de ambiente":"section-1","2. Escolher a linguagem e executar":"section-2","Python":"section-3","Node.js":"section-4","3. Verificar os resultados":"section-5","Continuar expandindo":"section-6"}
---

<aside className="docs-publication" data-pagefind-ignore>

Documentação mantida por [1ZheAI](https://1zheai.com/en/editorial/#publisher). [Fontes e correções](https://1zheai.com/en/editorial/).

Encontrou um erro? [Contate o suporte](mailto:support@1zheai.com) com o endereço da página e uma descrição. Não envie chaves de API ou credenciais de conta.

</aside>
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.

## 1. Preparar as variáveis de ambiente

Defina no mesmo terminal em que o programa será executado; `ONEZHE_MODEL` pode ser substituído por um ID de modelo disponível em[as chaves disponíveis](/pt/docs/api-models/).

<CodeGroup>
```bash title="macOS / Linux"
export ONEZHE_API_KEY="sk-你的Key"
export ONEZHE_MODEL="gpt-5.6-sol"
```
```powershell title="Windows PowerShell"
$env:ONEZHE_API_KEY = "sk-你的Key"
$env:ONEZHE_MODEL = "gpt-5.6-sol"
```
</CodeGroup>

## 2. Escolher a linguagem e executar

### Python

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("连接失败或超时：检查网络与代理，再核对调用日志。")
```

### Node.js

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

## 3. Verificar os resultados

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.

Acesse[os logs de chamada](/pt/docs/usage-logs/) 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.

## Continuar expandindo

- [Chat Completions](/pt/docs/api-chat-completions/): histórico de múltiplas rodadas e descrição dos campos.
- [Messages](/pt/docs/api-messages/): blocos de conteúdo nativos do Claude.
- [Responses](/pt/docs/api-responses/): GPT Responses e eventos de streaming.
- [Geração de imagens](/pt/docs/api-images/): gerar e salvar arquivos de imagem.
- [Timeout e retentativas](/pt/docs/retries/): configurar o tratamento de falhas antes de ir para produção.
