OpenAI codex api: Quickstart met Python
Deze gids laat zien hoe je de ongecensureerde LLM gebruikt met standaard OpenAI SDKs via onze openai compatible API. Je kunt onmiddellijk verzoeken versturen door je base URL en API key bij te werken.
Installeer de officiële SDK
Gebruik de officiële SDK om compatibiliteit te garanderen met onze openai-proxy-API. Deze aanpak werkt met elke standaardbibliotheek die het OpenAI-protocol ondersteunt.
- Installeer het pakket via je favoriete pakketbeheerder.
- Verifieer de installatie door de bibliotheek te importeren.
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);
Stel je Base URL en sleutel in
Wijs uw client naar ons openai gateway-eindpunt om toegang te krijgen tot het ongefilterde AI-model. Vervang de standaard base URL door ons specifieke eindpunt.
- Stel de API-sleutel in in je omgevingsvariabelen.
- Configureer de basis-URL naar
https://api.openaicodexapi.com/v1.
Deze opstelling zorgt ervoor dat je verzoeken correct naar onze servers worden gerouteerd zonder je bestaande codestructuur te wijzigen.
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."}]
}'
Verstuur uw eerste verzoek
Stuur een eenvoudige tekstvoltooiing om de verbinding te testen. Gebruik de model-ID uncensored voor het request.
- Definieer de berichtinhoud.
- Voer het verzoek uit.
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);De respons retourneert de gegenereerde tekst direct.
Streamen en JSON-modus inschakelen
Streamresponsen voor lagere latentie of afdwing JSON-modus voor gestructureerde gegevens. Stel stream=true voor realtime tokenlevering.
- Gebruik
response_formatvoor JSON-uitvoer. - Verwerk chunks in je code.
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."}]
}'Streaming helpt je om gedeeltelijke resultaten snel weer te geven.
Afhandelen van Tools en Function Calling
Definieer tools in je request om function calling in te schakelen. Specificeer de tool-definities en laat het model beslissen wanneer ze gebruikt moeten worden.
- Definieer het funtieschema.
- Parseer de toolaanroepen in het antwoord.
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);Deze functie maakt integratie met externe systemen mogelijk.
Limieten, fouten en contextvenster
Blijf uw verbruik bij om rate limits of fouten te voorkomen. Het contextvenster ondersteunt in totaal 100,000 tokens.
- Verwerk 401-fouten voor ongeldige sleutels.
- Afhandelen van 402-fouten voor onvoldoende krediet.
- Afhandelen van 429-fouten voor limieten.
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
Wat is de openai codex API?
Het is een ongecensureerde LLM-API die compatibel is met het OpenAI-protocol. Je kunt het gebruiken met standaard SDK's door de basis-URL bij te werken.
Hoe ga ik om met fouten?
Veelvoorkomende fouten zijn onder meer 401 voor ongeldige sleutels, 402 bij gebrek aan tegoed en 429 voor limieten. Controleer je accounttegoed en de geldigheid van je sleutel.
Wat is de grootte van het contextvenster?
Het contextvenster is 100.000 tokens voor zowel prompt als completion samen. Max output is 16.000 tokens per verzoek.
Haal je API-sleutel op
Registreer, kopieer de sleutel en pas de basis-URL aan. Dat is alles.