API Codex de OpenAI: Inicio rápido con Python
Esta guía muestra cómo usar el LLM sin censura con SDK estándar de OpenAI a través de nuestra API compatible con openai. Puedes empezar a enviar solicitudes inmediatamente actualizando tu URL base y tu clave API.
Instala el SDK oficial
Usa el SDK oficial para garantizar la compatibilidad con nuestra API proxy de openai. Este enfoque funciona con cualquier biblioteca estándar que soporte el protocolo OpenAI.
- Instala el paquete mediante tu gestor de paquetes preferido.
- Verifica la instalación importando la biblioteca.
from openai import OpenAI
client = OpenAI(base_url="https://api.openaicodexapi.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)import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.openaicodexapi.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);
Establecer tu URL base y clave
Apunta tu cliente a nuestro punto de conexión de gateway openai para acceder al modelo de IA sin censura. Reemplaza la URL base predeterminada con nuestro punto de conexión específico.
- Establece la clave de la API en tus variables de entorno.
- Configura la URL base a
https://api.openaicodexapi.com/v1.
Esta configuración asegura que tus solicitudes se enruten correctamente a nuestros servidores sin modificar la estructura de código existente.
curl https://api.openaicodexapi.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "Explain how prepaid billing works for this API."}]
}'
Envía tu primera solicitud
Envía una finalización de texto simple para probar la conexión. Usa el ID del modelo uncensored para la solicitud.
- Define el contenido del mensaje.
- Ejecuta la solicitud.
from openai import OpenAI
client = OpenAI(base_url="https://api.openaicodexapi.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)import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.openaicodexapi.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);La respuesta devuelve el texto generado directamente.
Habilitar Streaming y Modo JSON
Transmite respuestas para baja latencia o activa el modo JSON para datos estructurados. Configura stream=true para la entrega de tokens en tiempo real.
- Usar
response_formatpara salida JSON. - Gestiona los fragmentos en tu código.
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)curl https://api.openaicodexapi.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "Explain how prepaid billing works for this API."}]
}'El streaming te ayuda a mostrar resultados parciales rápidamente.
Gestionar herramientas y llamada de funciones
Define las herramientas en tu solicitud para habilitar la invocación de funciones. Especifica las definiciones de las herramientas y deja que el modelo decida cuándo utilizarlas.
- Define el esquema de la función.
- Analiza las llamadas a herramientas en la respuesta.
from openai import OpenAI
client = OpenAI(base_url="https://api.openaicodexapi.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)import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.openaicodexapi.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);Esta característica permite la integración con sistemas externos.
Límites, Errores y Ventana de Contexto
Monitorea tu uso para evitar límites de velocidad o errores. La ventana de contexto admite 100,000 tokens en total.
- Maneja errores 401 para claves inválidas.
- Gestiona los errores 402 por crédito insuficiente.
- Gestiona los errores 429 por límites de tasa.
curl https://api.openaicodexapi.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "Explain how prepaid billing works for this API."}]
}'from openai import OpenAI
client = OpenAI(base_url="https://api.openaicodexapi.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)import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.openaicodexapi.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);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)FAQ
¿Qué es la API Codex de OpenAI?
Es una API de LLM sin censura compatible con el protocolo de OpenAI. Puedes usarla con SDK estándar actualizando la URL base.
¿Cómo manejo errores?
Los errores comunes incluyen 401 para claves inválidas, 402 por falta de crédito y 429 por límites de velocidad. Verifica el saldo de tu cuenta y la validez de la clave.
¿Cuál es el tamaño de la ventana de contexto?
La ventana de contexto es de 100,000 tokens para la suma de prompt y completación combinados. La salida máxima es de 16,000 tokens por solicitud.
Obtén tu clave de API
Regístrate, copia la clave y actualiza el URL base. Eso es todo.