Pular para o conteúdo
Português

Chat Completions API

Solicitação mínima, campos comuns, leitura de respostas e uso de conversas com várias rodadas para POST /v1/chat/completions.

Comece por este endpoint ao usar um cliente compatível com OpenAI, ou quando você já tem o código chat.completions.create. O endereço completo é https://1zheai.com/v1/chat/completions; para SDKs, preencha a Base URL apenas até /v1.

Primeiro defina ONEZHE_API_KEY no seu terminal para a chave de API deste site. O modelo abaixo deve existir na sua lista de modelos disponíveis .

bash
curl --fail-with-body --connect-timeout 10 --max-time 120 \
https://1zheai.com/v1/chat/completions \
-H "Authorization: Bearer $ONEZHE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-5.6-sol",
"messages": [{"role": "user", "content": "请用一句中文解释 DNS 的作用。"}]
}'

--fail-with-body faz com que erros HTTP retornem um código de saída diferente de zero, preservando o corpo do erro; requer curl 7.76 ou posterior. Em versões antigas, use -i primeiro para ver o código de status.

CampoTipoUso
modelstringObrigatório. Copie o ID do modelo deste site; não adicione prefixos de fornecedores de outras plataformas.
messagesarrayObrigatório. Envie a pergunta desta rodada e as mensagens de histórico a serem mantidas, em ordem.
messages[].rolestringPara conversa normal use user / assistant; o suporte ao papel de instrução do sistema depende do modelo.
messages[].contentstring ou array de blocos de conteúdoUse uma string para texto simples primeiro; entrada de imagem requer que o modelo suporte o bloco de conteúdo correspondente.
streambooleanQuando definido como true, leia SSE em vez de tratar a resposta inteira como um único JSON.
temperaturenumberOpcional; alguns modelos de raciocínio não permitem modificá-lo. Omita-o primeiro e depois verifique item por item.
tools / tool_choicearray / string ou objectOpcional; tanto o modelo quanto o upstream devem suportá-los. A execução real da ferramenta é realizada pelo seu programa.

Os parâmetros de limite de saída variam por modelo. Não troque mecanicamente os parâmetros de max_tokens do Claude, max_output_tokens do Responses e do Chat Completions; consulte os requisitos do modelo selecionado e, em um erro 400, verifique primeiro o corpo do erro.

O resultado em texto simples está localizado em choices[0].message.content. O motivo de finalização está em choices[0].finish_reason; quando chamadas de ferramenta são retornadas, o texto pode estar vazio e você precisa ler message.tool_calls. O id, model e usage da resposta podem ser usados para verificar esta chamada.

Abaixo é mostrada apenas a estrutura na qual você precisa prestar atenção; campos e números omitidos não representam resultados reais da solicitação:

json
{
"id": "example-completion",
"object": "chat.completion",
"model": "gpt-5.6-sol",
"choices": [{
"index": 0,
"message": {"role": "assistant", "content": "DNS 将域名解析为网络地址。"},
"finish_reason": "stop"
}]
}

O endpoint não se lembra automaticamente da rodada anterior apenas porque você reutiliza a mesma chave de API. Envie o histórico que deseja manter junto:

json
{
"model": "gpt-5.6-sol",
"messages": [
{"role": "user", "content": "我正在学习 DNS。"},
{"role": "assistant", "content": "我们可以从域名解析开始。"},
{"role": "user", "content": "它和 HTTP 有什么区别?"}
]
}

Quanto mais longo o histórico, maior a solicitação. Os aplicamentos devem recortar ou resumir de acordo com os limites de contexto e manter pares completos de chamada e resultado de ferramentas.

Após adicionar "stream": true, os deltas de texto vêm de choices[].delta.content. Alguns eventos não têm texto ou choices está vazio, então você deve verificar ao ler; veja Saída em Streaming para detalhes.

Execute o exemplo completo em Python / Node.js diretamente, ou mude para Responses ; para parâmetros nativos do Claude veja Messages .