Codex API OpenAI: Γρήγορη Έναρξη με Python
Αυτό το εγχειρίδιο δείχνει πώς να χρησιμοποιήσετε το LLM χωρίς λογοκρισία με τυπικά SDK OpenAI μέσω της API μας συμβατής με openai. Μπορείτε να ξεκινήσετε να στέλνετε αιτήματα άμεσα ενημερώνοντας τη βασική διεύθυνση URL και το API key.
Εγκατάσταση του Επίσημου SDK
Χρησιμοποιήστε το επίσημο SDK για να διασφαλίσετε τη συμβατότητα με την openai proxy API μας. Αυτή η προσέγγιση λειτουργεί με οποιαδήποτε βιβλιοθήκη που υποστηρίζει το πρωτόκολλο OpenAI.
- Εγκαταστήστε το πακέτο μέσω του διαχειριστή πακέτων που προτιμάτε.
- Επαληθεύστε την εγκατάσταση εισάγοντας τη βιβλιοθήκη.
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);
Ορισμός Base URL και Key
Κατευθύνετε τον πελάτη σας προς το endpoint του gateway openai μας για να αποκτήσετε πρόσβαση στο μοντέλο AI χωρίς λογοκρισία. Αντικαταστήστε το προεπιλεγμένο base URL με το συγκεκριμένο endpoint μας.
- Ορίστε το κλειδί API στις μεταβλητές περιβάλλοντός σας.
- Ρυθμίστε τη βασική διεύθυνση URL σε
https://api.openaicodexapi.com/v1.
Αυτή η ρύθμιση διασφαλίζει ότι οι αιτήσεις σας κατευθύνονται σωστά στους servers μας χωρίς να τροποποιήσετε τη δομή κώδικα που έχετε ήδη.
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."}]
}'
Στείλτε την Πρώτη Αίτηση
Στείλτε μια απλή text completion για να ελέγξετε τη σύνδεση. Χρησιμοποιήστε το ID μοντέλου uncensored για την αίτηση.
- Ορίστε το περιεχόμενο του μηνύματος.
- Εκτέλεση της αίτησης.
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);Η απάντηση επιστρέφει το παραγόμενο κείμενο απευθείας.
Ενεργοποίηση Streaming και Λειτουργίας JSON
Ροή αποκρίσεων για χαμηλότερη καθυστέρηση ή επιβολή JSON mode για δομημένα δεδομένα. Ορίστε stream=true για παράδοση token σε πραγματικό χρόνο.
- Χρήση
response_formatγια JSON output. - Διαχειριστείτε τα τμήματα (chunks) στον κώδικά σας.
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."}]
}'Η ροή δεδομένων σας βοηθά να εμφανίζετε μερικά αποτελέσματα γρήγορα.
Διαχείριση Εργαλείων και Function Calling
Ορίστε εργαλεία στο αίτημά σας για να ενεργοποιήσετε κλήση συναρτήσεων. Προσδιορίστε τους ορισμούς των εργαλείων και αφήστε το μοντέλο να αποφασίσει πότε να τα χρησιμοποιήσει.
- Ορίστε το schema της συνάρτησης.
- Επεξεργαστείτε τις κλήσεις εργαλείων στην απάντηση.
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);Αυτή η λειτουργία επιτρέπει την ενσωμάτωση με εξωτερικά συστήματα.
Όρια, Σφάλματα και Context Window
Παρακολουθήστε τη χρήση σας για να αποφύγετε όρια ταχύτητας ή σφάλματα. Το παράθυρο συμφραζομένων υποστηρίζει συνολικά 100,000 tokens.
- Handle 401 errors για άκυρα keys.
- Διαχειριστείτε τα σφάλματα 402 για ανεπαρκά credit.
- Διαχειριστείτε τα σφάλματα 429 για όρια ρυθμού.
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)Συχνές Ερωτήσεις
Τι είναι το API Codex OpenAI;
Είναι μια μη λογοκριμένη LLM API που είναι συμβατή με το πρωτόκολλο OpenAI. Μπορείτε να τη χρησιμοποιήσετε με τυπικά SDKs ενημερώνοντας τη βάση URL.
Πώς διαχειρίζομαι σφάλματα;
Συνηθισμένα σφάλματα περιλαμβάνουν 401 για μη έγκυρα κλειδιά, 402 για έλλειψη credit και 429 για όρια ρυθμού. Ελέγξτε το υπόλοιπο του λογαριασμού σας και την εγκυρότητα του κλειδιού.
Ποιο είναι το μέγεθος του παραθύρου συνάφειας;
Το παράθυρο συμφραζομένων είναι 100,000 tokens για εντολή και απάντηση συνολικά. Μέγιστη έξοδος 16,000 tokens ανά αίτημα.
Λάβετε το API key σας
Εγγραφείτε, αντιγράψτε το κλειδί και ενημερώστε τη base URL. Αυτό είναι όλο.