URL Base y Autenticación
Conéctate a nuestro API compatible con OpenAI actualizando la configuración de tu cliente para apuntar a https://api.openaicompatibleapiendpoints.com/v1.Necesitas una clave de API válida enviada en el Authorization cabecera como un token Bearer. Esta configuración funciona con los SDK oficiales de OpenAI y cualquier biblioteca cliente compatible. No se requiere configuración de puerta de enlace compleja.
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 solicitud debe incluir tu clave única. Si falta la clave o es inválida, el servidor devuelve un error 401 inmediatamente. Esto asegura que tus llamadas lleguen al LLM uncensored correcto sin demoras de enrutamiento.
Endpoint Chat Completions
Envía mensajes a la POST /v1/chat/completions endpoint para obtener respuestas de texto del uncensored modelo. Este endpoint maneja turnos conversacionales estándar y soporta una ventana de contexto de hasta 100,000 tokens. Puedes establecer un máximo de salida de 16,000 tokens por solicitud. El modelo responde sin denegaciones de contenido para temas adultos lícitos.
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)Usa el estándar messages formato de array. La API ignora campos adicionales que no reconoce, lo que facilita la migración. Solo pagas por los tokens realmente consumidos por el modelo.
Respuestas en streaming
Habilitar entrega de tokens en tiempo real estableciendo stream: true en tu solicitud. El servidor envía una serie de Server-Sent Events (SSE) hasta que la respuesta se completa. Las estadísticas de uso de tokens aparecen en el último fragmento del flujo. Esto reduce la latencia percibida para los usuarios que esperan respuestas largas.
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)Almacena los tokens entrantes en el lado del cliente para reconstruir el texto completo. Los errores durante el streaming son raros, pero deben manejarse verificando el evento final para un código de error. El flujo se detiene automáticamente cuando se alcanza el límite de contexto o los tokens máximos.
Modo JSON y herramientas
Fuerza una salida estructurada estableciendo response_format para {"type": "json_object"}. Esto garantiza que el modelo devuelva JSON en lugar de texto en formato markdown. También puedes usar el tools el parámetro para llamadas a funciones. La API admite tool_choice para un control preciso sobre qué funciones invoca el modelo.
Usar temperature y top_p ajustar la aleatoriedad. Establece seed para resultados reproducibles durante la depuración. Estos parámetros funcionan exactamente como se espera en las integraciones estándar compatibles con OpenAI.
Gestión de errores y límites
Maneja errores HTTP estándar para gestionar fallos del lado del cliente de manera adecuada. Un estado 401 significa que tu clave de API es inválida. Un estado 402 indica que se ha agotado tu crédito prepagado. Un error 429 indica que has excedido el límite de 300 solicitudes por minuto.
Cada clave permite ocho solicitudes concurrentes. El cuerpo de la solicitud está limitado a 8 MB. No se emiten reembolsos por el crédito utilizado, pero los errores durante el procesamiento son gratuitos. Verifica siempre el error objeto en la respuesta JSON para más detalles.
Ventana de Contexto y Detalles del Modelo
El modelo admite una ventana de contexto de 100.000 tokens para prompt y completion combinados. Esto permite retener el contexto profundo de documentos largos o conversaciones extendidas. La salida máxima predeterminada es de 2.048 tokens si no especificas max_tokens. Puedes aumentar esto hasta 16.000 tokens por solicitud.
El modelo no es GPT, Claude ni ningún otro modelo de proveedor. Es un modelo de pesos abiertos ajustado para respuestas sin censura. No se utilizan tus prompts para el entrenamiento. Esto garantiza la privacidad de tus datos propietarios.
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);