Início rápido
Defina o endpoint, configure sua chave, integre o cliente e envie a primeira requisição.
Escolha um endpoint
Escolha o formato de endpoint que seu cliente espera. Há rotas compatíveis com Chat Completions, Responses e Messages.
Base URL: https://api.llm-token.cn/v1Prepare sua API Key
Use uma API Key ativa do ambiente do servidor. Evite expor chaves no código do navegador.
Authorization: Bearer sk-your-api-keyIntegre seu cliente
Use um SDK compatível ou chame a REST API diretamente com um base_url personalizado.
client = OpenAI(base_url='https://api.llm-token.cn/v1')Comece a chamar
Envie requisições e receba respostas de IA. O streaming é suportado para uma resposta mais rápida.
POST /v1/chat/completionsAutenticação
Toda requisição de API deve incluir sua API Key no header HTTP Authorization.
Formato de autenticação
Adicione sua API Key ao header Authorization em cada requisição.
/v1/chat/completionsExemplo de requisição autenticada
curl https://api.llm-token.cn/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer sk-your-api-key" \
-d '{
"model": "gpt-4o-mini",
"messages": [{"role": "user", "content": "Hello!"}]
}'{
"id": "chatcmpl_123",
"object": "chat.completion",
"choices": [{
"message": {
"role": "assistant",
"content": "Hello! How can I help you today?"
}
}]
}https://api.llm-token.cn/v1Use para a maioria dos clienteshttps://gpt-agent.ccUse apenas se o seu cliente rejeitar /v1 durante a validação/v1/chat/completionsPara clientes que esperam Chat Completions/v1/responsesUse primeiro em clientes que suportam Responses/v1/messagesUse primeiro em clientes compatíveis com MessagesChat Completions API
Endpoint Chat Completions compatível com OpenAI para múltiplos ecossistemas de modelos.
from openai import OpenAI
# Initialize the client
client = OpenAI(
api_key="sk-your-api-key",
base_url="https://api.llm-token.cn/v1"
)
# Send a chat request
response = client.chat.completions.create(
model="gpt-4o-mini",
messages=[
{"role": "system", "content": "You are a concise assistant."},
{"role": "user", "content": "Introduce yourself in one sentence."}
]
)
print(response.choices[0].message.content)Parâmetros da requisição
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
model | string | Sim | ID do modelo, por exemplo gpt-4o-mini |
messages | array | Sim | Array de mensagens de chat |
temperature | number | Não | Temperatura de amostragem de 0 a 2, padrão 1 |
max_tokens | integer | Não | Número máximo de tokens a gerar |
stream | boolean | Não | Se ativa a saída em streaming |
top_p | number | Não | Valor de amostragem de núcleo, padrão 1 |
Campos da resposta
| Campo | Tipo | Descrição |
|---|---|---|
id | string | Identificador único da resposta |
object | string | Tipo de objeto, normalmente chat.completion |
created | integer | Carimbo de data/hora de criação |
model | string | ID do modelo usado na resposta |
choices | array | Opções de resposta geradas |
usage | object | Estatísticas de uso de tokens |
Streaming
Ative o streaming para receber os tokens gerados em tempo real e reduzir a latência percebida.
- Menor latência percebida - O usuário vê a saída imediatamente em vez de esperar a resposta completa.
- Melhor experiência com textos longos - Respostas longas aparecem progressivamente, como uma digitação ao vivo.
- Mesmo custo - O streaming tem o mesmo preço da saída síncrona; muda apenas o transporte.
from openai import OpenAI
client = OpenAI(
api_key="sk-your-api-key",
base_url="https://api.llm-token.cn/v1"
)
# Enable streaming
stream = client.chat.completions.create(
model="gpt-4o-mini",
messages=[
{"role": "system", "content": "You are a concise assistant."},
{"role": "user", "content": "Introduce yourself in one sentence."}
],
stream=True
)
# Print each streamed token as it arrives
for chunk in stream:
if chunk.choices[0].delta.content is not None:
print(chunk.choices[0].delta.content, end="")
print() # New lineErros
Erros comuns da API e os passos de tratamento recomendados.
| Status HTTP | Nome do erro | Descrição | Ação recomendada |
|---|---|---|---|
400 | INVALID_REQUEST | O corpo da requisição está malformado ou os parâmetros são inválidos | Verifique o corpo da requisição e os parâmetros |
401 | UNAUTHORIZED | A API Key é inválida ou expirou | Verifique se a API Key está correta |
429 | RATE_LIMIT | Limite de frequência de requisições excedido | Tente novamente com retentativa exponencial |
500 | INTERNAL_ERROR | Erro interno do serviço | Tente novamente mais tarde |
503 | SERVICE_UNAVAILABLE | Serviço temporariamente indisponível | Tente novamente mais tarde |
Limites de taxa
As requisições da API têm limite de taxa para manter o serviço estável.
- Cada API Key tem seus próprios limites de frequência de requisições
- Ao receber uma resposta 429, tente novamente com retentativa exponencial
- Requisições com e sem streaming compartilham a mesma cota de limite de frequência
- O limite efetivo segue a configuração atual da chave