API Codex OpenAI: Quickstart con Python
Questa guida mostra come utilizzare l'LLM senza filtri con gli SDK standard di OpenAI tramite la nostra API compatibile con openai. Puoi iniziare a inviare richieste immediatamente aggiornando il tuo URL di base e la chiave API.
Installa l'SDK ufficiale
Utilizza l'SDK ufficiale per garantire la compatibilità con la nostra API proxy openai. Questo approccio funziona con qualsiasi libreria standard che supporta il protocollo OpenAI.
- Installa il pacchetto tramite il tuo gestore di pacchetti preferito.
- Verifica l'installazione importando la libreria.
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);
Imposta il tuo URL di base e Chiave
Indirizza il tuo client al nostro endpoint gateway openai per accedere al modello AI uncensored. Sostituisci l'URL base predefinito con il nostro endpoint specifico.
- Imposta la chiave API nelle tue variabili d'ambiente.
- Configura l'URL di base su
https://api.openaicodexapi.com/v1.
Questa configurazione garantisce che le tue richieste vengano instradate correttamente ai nostri server senza modificare la struttura del codice esistente.
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."}]
}'
Invia la tua prima richiesta
Invia un semplice completamento di testo per testare la connessione. Utilizza l'ID del modello uncensored per la richiesta.
- Definisci il contenuto del messaggio.
- Esegui la richiesta.
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 risposta restituisce il testo generato direttamente.
Abilita lo Streaming e la Modalità JSON
Trasmetti le risposte per una latenza inferiore o imposta la modalità JSON per dati strutturati. Imposta stream=true per la consegna di token in tempo reale.
- Usa
response_formatper output JSON. - Gestisci i chunk nel tuo codice.
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."}]
}'Lo streaming ti aiuta a visualizzare rapidamente i risultati parziali.
Gestisci gli strumenti e la chiamata di funzioni
Definisci gli strumenti nella richiesta per abilitare il richiamo delle funzioni. Specifica le definizioni degli strumenti e lascia che il modello decida quando usarli.
- Definisci lo schema della funzione.
- Analizza le chiamate agli strumenti nella risposta.
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);Questa funzionalità consente l'integrazione con sistemi esterni.
Limiti, Errori e Finestra di Contesto
Monitora il tuo utilizzo per evitare limiti di velocità o errori. La finestra di contesto supporta 100,000 token in totale.
- Gestisci errori 401 per chiavi non valide.
- Gestisci gli errori 402 per credito insufficiente.
- Gestisci gli errori 429 per i limiti di frequenza.
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
Cos'è l'API OpenAI Codex?
È un'API LLM senza filtri compatibile con il protocollo OpenAI. Puoi utilizzarla con SDK standard aggiornando l'URL di base.
Come gestisco gli errori?
Gli errori comuni includono 401 per chiavi non valide, 402 per assenza di credito e 429 per i limiti di frequenza. Controlla il saldo del tuo account e la validità della chiave.
Qual è la dimensione della finestra di contesto?
La finestra di contesto è di 100,000 token per prompt e completamento combinati. L'output massimo è di 16,000 token per richiesta.
Ottieni la tua chiave API
Registrati, copia la chiave e aggiorna l'URL base. Ecco tutto.