URL Base e Autenticação
Conecte-se ao nosso API compatível com openai atualizando a configuração do seu cliente para apontar para https://api.openaicompatibleapiendpoints.com/v1. Você precisa de uma chave de API válida enviada no Authorization cabeçalho como um token Bearer. Esta configuração funciona com os SDKs oficiais da OpenAI e qualquer biblioteca de cliente compatível. Não é necessária configuração complexa de gateway.
curl https://api.openaicompatibleapiendpoints.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "Return 500 status code"}]
}'Cada solicitação deve incluir sua chave exclusiva. Se a chave estiver ausente ou inválida, o servidor retorna um erro 401 imediatamente. Isso garante que suas chamadas alcancem o LLM sem censura correto sem atrasos de roteamento.
Endpoint Chat Completions
Envie mensagens para o POST /v1/chat/completions endpoint para obter respostas de texto do uncensored model. Este endpoint lida com turnos conversacionais padrão e suporta uma janela de contexto de até 100.000 tokens. Você pode definir um máximo de saída de 16.000 tokens por solicitação. O modelo responde sem recusas de conteúdo para tópicos adultos legais.
from openai import OpenAI
client = OpenAI(base_url="https://api.openaicompatibleapiendpoints.com/v1", api_key="YOUR_KEY")
resp = client.chat.completions.create(
model="uncensored",
messages=[{"role": "user", "content": "Summarise this thread without softening it."}],
)
print(resp.choices[0].message.content)Use o padrão messages formato de array. A API ignora campos extras que não reconhece, facilitando a migração. Você paga apenas pelos tokens realmente consumidos pelo modelo.
Respostas em Streaming
Ativar entrega de tokens em tempo real definindo stream: true na sua solicitação. O servidor envia uma série de Server-Sent Events (SSE) até que a resposta seja concluída. As estatísticas de uso de tokens aparecem no último bloco do stream. Isso reduz a latência percebida para usuários aguardando respostas longas.
stream = client.chat.completions.create(
model="uncensored",
messages=[{"role": "user", "content": "Tell the story in second person."}],
stream=True,
)
for chunk in stream:
if chunk.choices and chunk.choices[0].delta.content:
print(chunk.choices[0].delta.content, end="", flush=True)Armazene os tokens recebidos no lado do cliente para reconstruir o texto completo. Erros durante o streaming são raros, mas devem ser tratados verificando o evento final para um código de erro. O fluxo para automaticamente quando o limite de contexto ou o número máximo de tokens é atingido.
Modo JSON e Ferramentas
Força saída estruturada definindo response_format para {"type": "json_object"}. Isso garante que o modelo retorne JSON em vez de texto markdown. Você também pode usar o tools parâmetro para chamada de função. A API suporta tool_choice para controle preciso de quais funções o modelo invoca.
Usar temperature e top_p para ajustar a aleatoriedade. Defina seed para resultados reproduzíveis durante a depuração. Esses parâmetros funcionam exatamente como esperado em integrações padrão compatíveis com OpenAI.
Tratamento de Erros e Limites
Lide com erros HTTP padrão para gerenciar falhas do lado do cliente de forma elegante. Um status 401 significa que sua chave de API é inválida. Um status 402 indica que seu crédito pré-pago foi esgotado. Um erro 429 sinaliza que você excedeu o limite de 300 solicitações por minuto.
Cada chave permite oito solicitações simultâneas. O corpo da solicitação é limitado a 8 MB. Reembolsos não são emitidos para crédito usado, mas erros durante o processamento são gratuitos. Verifique sempre o error objeto na resposta JSON para detalhes.
Janela de Contexto e Detalhes do Modelo
O modelo suporta uma janela de contexto de 100.000 tokens para prompt e conclusão combinados. Isso permite retenção profunda de contexto para documentos longos ou conversas estendidas. A saída máxima padrão é de 2.048 tokens se você não especificar max_tokens. Você pode aumentar isso para até 16.000 tokens por solicitação.
O modelo não é GPT, Claude ou qualquer outro modelo de fornecedor. É um modelo de pesos abertos ajustado para respostas sem censura. Nenhum dado dos seus prompts é usado para treinamento. Isso garante privacidade para seus dados proprietários.
Node.js
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.openaicompatibleapiendpoints.com/v1", apiKey: process.env.API_KEY });
const resp = await client.chat.completions.create({
model: "uncensored",
messages: [{ role: "user", content: "Draft a villain monologue for my game." }],
});
console.log(resp.choices[0].message.content);