Γείσοι API Integration: Χρήση των αιτήσεων OpenAI μέσω του ECAIX
Γείσοι API Integration: Χρήση αιτήσεων OpenAI μέσω του ECAIX
Αυτή η οδηγία δείχνει πώς να δοκιμάσετε ένα ID μοντέλου DeepSeek μέσω του ECAIX χρησιμοποιώντας ένα ενδύση OpenAI συμβατό. Περιλαμβάνονται οι μικρότεροι λειτουργικοί αιτήσεις, παραδείγματα σε Python και curl, επιβεβαίωση των ID μοντέλων, ροή, δομή JSON, εργαλεία και ένα μονοπάτι διάγνωσης για κοινά σφάλματα.
Η οδηγία περιγράφει την πρόσβαση μέσω του γείσου ECAIX σε ένα ID μοντέλου που εκτίθεται στον τρέχοντα κατάλογο ECAIX. Δεν κάνουμε claim ότι το ECAIX είναι η επίσημη ενδύση API DeepSeek ή ότι κάθε χαρακτηριστικό DeepSeek είναι διαθέσιμο μέσω κάθε διαδρομής γείσου. Επιβεβαιώστε το ζωντανό σελίδα μοντέλου και την επίσημη εγγράφωση του προμηθευτή πριν μεταφέρετε μια εργασία σε παραγωγή.
Τι επιβεβαιώνει αυτή η οδηγία
Οι παραδείγματα χρησιμοποιούν το μονοπάτι OpenAI συμβατό του ECAIX και ένα ID μοντέλου που είναι ορατό στον δημόσιο κατάλογο κατά την έκδοση. Η διαθεσιμότητα, η διαδρομή, τα όρια, οι τιμές και τα χαρακτηριστικά που υποστηρίζονται μπορούν να αλλάξουν. Θα πρέπει να θεωρείτε τον κατάλογο και την εγγράφωση του API ως την τρέχουσα πηγή αληθείας.
Γρήγορη έναρξη
Χρησιμοποιήστε αυτήν την ακολουθία αν ήδη έχετε εφαρμογή με SDK OpenAI:
- Ανοίξτε την σελίδα DeepSeek v4.1 Flash μοντέλου και επιβεβαιώστε ότι το ID είναι διαθέσιμο.
- Δημιουργήστε ένα API κλειδί ECAIX.
- Ρυθμίστε την URL βάσης OpenAI συμβατής σε
https://ecaix.com/api/ai/v1. - Μείνατε αμετάβλητη η SDK και η κώδικας εφαρμογής όπου είναι δυνατό.
- Εκτελέστε την ελάχιστη αίτηση παρακάτω.
- Προσθέστε τη ροή, την JSON έξοδο ή τα εργαλεία μόνο μετά από επιτυχή λειτουργία της βασικής αίτησης.
Ενδύση και ID μοντέλου
Για κλιτές OpenAI συμβατές, χρησιμοποιήστε:
Base URL: https://ecaix.com/api/ai/v1
Model: deepseek-v4.1-flash
Το ID μοντέλου δεν είναι μια μόνιμη υπόσχεση σε ένα άρθρο. Επιβεβαιώστε το σε ζωντανή σελίδα καταλόγου πριν κάθε νέα σύνδεση ή εκκίνηση. Αν χρειάζεται διαφορετικό μέλος DeepSeek, αντιγράψτε το ακριβές ID από την σελίδα λεπτομερειών του μοντέλου αντί να προσπαθήσετε να προσδιορίσετε ένα πρόσθετο σύμβολο.
Η μορφή της ενδύσης είναι επίσης σημαντική. Η SDK πρέπει να λάβει το μονοπάτι βάσης που τελειώνει με /v1 και ο κλιτής προσθέτει /chat/completions ή άλλο μονοπάτι λειτουργίας. Μην προσθέτετε /chat/completions στο base_url όταν η SDK το προσθέτει ήδη.
Python με το SDK OpenAI
Εγκαταστήστε ή ενημερώστε το Python SDK OpenAI στο περιβάλλον σας:
python -m pip install --upgrade openai
Στη συνέχεια χρησιμοποιήστε το URL βάσης ECAIX και το API κλειδί:
const client = new OpenAI({
apiKey: process.env.ECAIX_API_KEY,
baseURL: "https://ecaix.com/api/ai/v1",
});
const response = await client.chat.completions.create({
model: "deepseek-v4.1-flash",
messages: [
{ role: "user", content: "Return one short sentence about API testing." },
],
max_tokens: 128,
});
console.log(response.choices[0].message.content);
Χρησιμοποιήστε κώδικα σε επίπεδο διακομιστή για την αίτηση API. Μια εφαρμογή web πρέπει να καλεί το δικό της backend αντί να εκθέτει το κλειδί ECAIX σε κώδικα JavaScript σε επίπεδο κλιτών.
Αίτηση curl για διάγνωση
Αν το SDK αποτυγχάνει, αφαιρέστε το SDK από την εξίσωση και δοκιμάστε την ενδύση απευθείας. Αποθηκεύστε τα κεφάλαια και το σώμα ξεχωριστά έτσι ώστε να διακρίνετε ένα πρόβλημα HTTP από ένα πρόβλημα μορφής απάντησης.
curl -sS -D /tmp/ecaix-deepseek-headers.txt \
-o /tmp/ecaix-deepseek-response.json \
-w '\nHTTP %{http_code}\n' \
"https://ecaix.com/api/ai/v1/chat/completions" \
-H "Authorization: Bearer ${ECAIX_API_KEY}" \
-H "content-type: application/json" \
-d '{
"model": "deepseek-v4.1-flash",
"messages": [
{"role": "user", "content": "Reply with one short sentence."}
],
"max_tokens": 128
}'
Μην κάνετε paste των αποθηκευμένων κεφαλαιών ή απαντήσεων σε δημόσια τικέτ χωρίς να αφαιρέσετε κλειδιά API, ID αίτησης, προτάσεις, πακέτα κώδικα, και δεδομένα πελατών.
Πώς να διαγνώσκετε την απάντηση
Χρησιμοποιήστε την παρακάτω σειρά:
- Κώδικας HTTP: προσδιορίστε αν η αίτηση έφτασε σε μια έγκυρη ενδύση.
- Σώμα απάντησης: διαβάστε τον κώδικα σφάλματος του προμηθευτή ή του γείσου.
- ID μοντέλου: αντιγράψτε το ακριβές ID από τον τρέχοντα κατάλογο μοντέλων.
- Αυθενίκηση: ελέγξτε το κεφάλαιο εύρεσης, τον λογαριασμό και τις επιτρεπόμενες επιλογές.
- Μορφή αίτησης: μειώστε το σώμα σε
model,messagesκαι ένα μικρό όριο έκτασης. - Πεδία χαρακτηριστικών: προσθέστε τη ροή, τη JSON ή τα εργαλεία ένα προς ένα.
- Πоведение SDK: συγκρίνετε την αίτηση SDK με την απευθείας αίτηση curl.
Αυτή η διαδικασία αποφεύγει ένα πρόβλημα βιβλιοθήκης κλιτών να συγχέεται με το routing μοντέλων ή τις επιτρεπόμενες επιλογές λογαριασμού.
Απαντήσεις ροής
Αν η εφαρμογή χρειάζεται ενημερώσεις σε πραγματικό χρόνο, προσθέστε τη ροή μόνο μετά από επιτυχή λειτουργία μιας κανονικής αίτησης:
stream = client.chat.completions.create(
model="deepseek-v4.1-flash",
messages=[{"role": "user", "content": "Summarize API retries in three points."}],
stream=True,
max_tokens=256,
)
for chunk in stream:
delta = chunk.choices[0].delta.content
if delta:
print(delta, end="", flush=True)
Το ακριβές συμπεριφορά των γεγονότων εξαρτάται από την ενδύση και το SDK. Επιβεβαιώστε πώς το πλαίσιο σας χειρίζεται ένα κενό δέλτα, ένα τελικό γεγονός χρήσης, διακοπή σύνδεσης και τερματισμό τύπου [DONE]. Μην θεωρείτε ως έτοιμη για παραγωγή μια εφαρμογή ροής μέχρι να δοκιμάσετε διακοπές και επαναλήψεις.
Σχεδιασμένη έξοδος και JSON
Αν χρειάζεται μηχανογραφημένη έξοδος, ξεκινήστε με μια κανονική αίτηση και προσθέστε το μικρότερο επιλογή για δομημένη έξοδο που υποστηρίζεται από την ενδύση και το μοντέλο. Βεβαιωθείτε ότι η επιστροφή περιεχομένου ελέγχεται με έναν πραγματικό ελεγκτή JSON. Μια πρόταση που λέει "επιστρέψτε JSON" δεν είναι το ίδιο με μια απάντηση που υποστηρίζει ένα σχήμα.
import json
response = client.chat.completions.create(
model="deepseek-v4.1-flash",
messages=[
{
"role": "user",
"content": "Return a JSON object with keys title and priority."
}
],
response_format={"type": "json_object"},
max_tokens=128,
)
payload = json.loads(response.choices[0].message.content)
print(payload["title"])
Η υποστήριξη του response_format μπορεί να εξαρτάται από το μοντέλο και τη διαδρομή. Αν η ενδύση επιστρέψει ένα σφάλμα παραμέτρου που δεν υποστηρίζεται, αφαιρέστε το πεδίο και ελέγξτε την επίσημη εγγράφωση της διαδρομής πριν προσπαθήσετε άλλο τύπο μορφής.
Κλήση εργαλείων και εργαλεία
Η κλήση εργαλείων χρειάζεται μια ξεχωριστή δοκιμή από τη γενική παραγωγή κειμένου. Ξεκινήστε με ένα αβέβαιο εργαλείο και ελέγξτε το επιστρεφόμενο όνομα και τις παραμέτρους πριν εκτελέσετε κάτι.
tools = [
{
"type": "function",
"function": {
"name": "get_demo_status",
"description": "Return a fixed status for a local compatibility test.",
"parameters": {
"type": "object",
"properties": {},
"additionalProperties": False,
},
},
}
]
response = client.chat.completions.create(
model="deepseek-v4.1-flash",
messages=[{"role": "user", "content": "Check the demo status."}],
tools=tools,
tool_choice="auto",
max_tokens=128,
)
print(response.choices[0].message.tool_calls)
Ένα μοντέλο μπορεί να επιστρέψει μια έγκυρη απάντηση κειμένου ενώ η κλήση εργαλείων αποτυγχάνει λόγω της μετατροπής σχήματος, των μη υποστηριζόμενων παραμέτρων ή του συμπεριφορικού σχήματος του κλιτών. Μην εκτελέσετε τις επιστρεφόμενες παραμέτρους εργαλείων σε ένα παραγωγικό σύστημα πριν να επιβεβαιώσετε το σχήμα και να προσθέσετε ελέγχους εξουσιοδότησης και ημερομηνίες καταγραφής.
Μονοπάτια συμβατότητας OpenAI και Anthropic
Το ECAIX εκθέτει διαφορετικές επιφάνειες συμβατότητας για διαφορετικές κλιτές:
| Κλιτή ή εργοστάσιο | Παραπομπή εγγράφησης | Τι να επιβεβαιώσετε |
|---|---|---|
| SDK Python/Node OpenAI | /api/ai/v1 | Chat Completions, Απαντήσεις, ροή, εργαλεία |
| Κλιτές Anthropic | /api/ai/v1/anthropic | Πεδία |