DeepSeek API integrációi útmutatója: ECAIX-on keresztül OpenAI-szerű kérési megoldások
DeepSeek API integrációi útmutatója: ECAIX-on keresztül OpenAI-szerű kérési megoldások
Ez az útmutató mutatja be, hogyan lehet egy DeepSeek modell ID-t ECAIX-on keresztül tesztelni egy OpenAI-szerű API végponton. Követeli a legkisebb működő kérés, Python és curl példák, modell-ID ellenőrzés, streaming, strukturált kiadás, eszközök és közönséges hibák diagnosztikai utat.
Az útmutató leírása az ECAIX kiterjesztő (gateway) hozzáférést egy aktuális ECAIX katalógusban látható modell ID-re. Nem állítjuk elő, hogy ECAIX az hivatalos DeepSeek API végpontja vagy hogy minden DeepSeek funkciót minden kiterjesztő útvonalon elérhető. Az előkészület előtt mindig ellenőrizd a live modell oldalt és a szolgáltató dokumentációt.
Mivel ez az útmutató ellenőrzi
Az példák az ECAIX OpenAI-szerű útvonalat és egy jelenleg a nyilvános katalógusban látható modell ID-t használják. A hozzáférés, útvonalak, korlátok, árak és támogatott funkciók változhatnak. A katalógus és az API dokumentáció az aktuális forrásoknak tekintendők.
Rövid útmutató
Ha már rendelkezel egy OpenAI SDK alkalmazással:
- Nyíld meg a DeepSeek v4.1 Flash modell oldala és ellenőrizd, hogy elérhető-e az ID.
- Hozd létre egy ECAIX API kulcsot.
- Átállítsd az OpenAI-szerű alappont URL-t
https://ecaix.com/api/ai/v1-re. - Tartsd az SDK-t és alkalmazást olyan módon, ahogyan lehet.
- Futassz a legkisebb kérést alább.
- Csak akkor adjadd hozzá a streaminget, JSON kiadást vagy eszközöket, ha a alapkérés sikeres.
Végpont és modell ID
Az OpenAI-szerű klientek számára használj:
Base URL: https://ecaix.com/api/ai/v1
Model: deepseek-v4.1-flash
A modell ID nem egy állandó garantió egy blogcikkben. Ellenőrizd azt a live modell katalógusban minden új integráció vagy kiadás előtt. Ha egy másik DeepSeek családtagot szeretnél használni, kopírozd a modell részletoldalról az pontos ID-t, nem pedig egy feltételezett utótagot.
Az útvonal formátust is figyelembe kell venni. Az SDKnak kell kapnia az alapútvonalat, amely végződik /v1-vel; a klient hozzáadja /chat/completions vagy más műveletútvonalat. Nem kell hozzáadni /chat/completions az alapponthoz, ha az SDK már hozzáadja.
Python az OpenAI SDK segítségével
Installálj vagy frissítsd az OpenAI Python SDK-t a virtuális környezetedben:
python -m pip install --upgrade openai
Megírd a következő kódot:
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);
Az API kérését server-oldali kódban kell futtatni. Egy browser alkalmazás nem szabad az ECAIX kulcsot közvetlenül klient-oldali JavaScript-ben használni.
Curl diagnosztikai kérés
Ha az SDK hibázik, távolítsd el az SDK-t a számítástelepítésből és teszteld a végpontot közvetlenül. Mentse a fejlécek és testet külön, hogy megkülönböztessük az HTTP-problémát a válaszformátum-problémától.
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
}'
Nem szabad beírni a mentett fejléceket vagy válaszokat nyilvános problémákba, amíg az API kulcsok, kérés ID-k, szövegek, repository útvonalak és ügyfél adatok nem vannak eltávolítva.
Válaszok diagnosztikája
A következő sorrendben vizsgáld a következőket:
- HTTP statusz: eldöntsd, hogy a kérés érvényes végpontra ért-e el.
- Válasz test: olvasd a szolgáltató vagy kiterjesztő hiba kódját.
- Modell ID: kopírozd a pontos ID-t az aktuális modell katalógusból.
- Authentikáció: ellenőrizd a kulcs fejlécét, számla és jogok.
- Kérés alakja: redukálj a testet
model,messagesés egy kicsi kiadás korlátozására. - Funkciós mezők: add meg egy-négy funkciót egy sorban, például streaminget, JSON-t vagy eszközöket.
- SDK viselkedés: összehasonlítsd az SDK kérését a közvetlen curl kérésével.
Ez megelőzi a klient könyvtár hibaételenségét a modell útvonalatól vagy számla jogaitól való téves felismerést.
Streaming válaszok
Ha az alkalmazás szükség van az incrementális kiadásra, add meg a streaminget csak akkor, ha a normális kérés sikeres:
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)
Az exakt esemény viselkedés függ az útvonalatól és az SDK-től. Ellenőrizd, hogyan kezel a framework egy üres delta-t, egy végrehajtási használati eseményt, kapcsolódási megszakítást és [DONE]-stílusú befejezéset. Nem szabad egy streaming implementációt előre késznek tekinteni, amíg nem tesztelted a kapcsolódási megszakításokat és újraindításokat.
Strukturált kiadás és JSON
Ha JSON-készíthető kiadásra van szükséged, kezdj egy normál kéréssel, majd add meg a legkisebb strukturált kiadás lehetőségét, amit az útvonal és a modell támogat. Ellenőrizd a visszatérő tartalmat egy valós JSON-parserekkel. A „hívjon JSON-t” mondás nem azonos a személyezett válaszokkal.
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"])
Az response_format elfogadható-e, függ a modelltől és az útvonalatól. Ha az útvonal egy nem támogatott paramétert hibaüzenetben visszajár, távolítsd el a mezőt és ellenőrizd az útvonal dokumentációját, mielőtt próbálnád más formátumot.
Funkciók hívása és eszközök
Az eszköz hívás egy külön tesztelendő feladat. Kezdj egy harmless funkcióval és vizsgáld vissza a visszatérő név és paramétereket, mielőtt végrehajtod volna valamit.
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)
Egy modell lehet, hogy egy érvényes szöveges válaszat ad vissza, de az eszköz hívás hibázik a szchema konverzió miatt, nem támogatott paraméterek miatt vagy klientspecifikus viselkedés miatt. Nem szabad közvetlenül a produkciós rendszerbe hajtani a visszatérő eszköz paramétereket, mielőtt ellenőrizd a szchema-t és hozzáadod a engedélyezést.
OpenAI-szerű és Anthropic-szerű útvonalak
ECAIX különböző klientek és munkamódszerek számára különböző kompatibilitási felületeket nyújt:
| Klient vagy munkamódszer | Dokumentációs útvonal | Mivel ellenőrizd |
|---|---|---|
| OpenAI Python/Node SDK | /api/ai/v1 | Chat Completions, Válaszok, streaming, eszközök |
| Anthropic-szerű klient | /api/ai/v1/anthropic | Mezők, fejlécek, tartalom blokkok |
| Claude Code harmadik fél munkamódszer | /api/ai/v1/anthropic | Szolgáltatóspecifikus viselkedés; nem hivatalos Anthropic támogatás |
Olvasd meg a Chat Completions dokumentációt, a Válaszok dokumentációt és az Anthropic Messages dokumentációt mielőtt választod az útvonalat. Az azonos modell ID nem biztosítja azonos mezőket vagy viselkedést minden kompatibilitási felületen.
Aktuális modell részletek
Az képeslik ellenőrizni a képességeket és elérhetőséget a live részletoldalakon:
Ezeket az oldalakat jobban megbízhatóak, mint egy statikus cikk a jelenlegi modell ID-k, kontextus információk és árak megjelölései számára.
Közönséges hibák
| Statusz vagy jelenség | Likely ok | Diagnosztikai lépés |
|---|---|---|
401 | Hiányzó vagy hibás bearer kulcs | Ellenőrizd a Authorization, környezeti változókat és kulcs állapotát |
403 | Kulcs vagy számla nem rendelkezik joggal | Ellenőrizd a számla hozzáférést és modell elérhetőségét |
404 | Rossz alappont vagy útvonal végződés | Használd /api/ai/v1/chat/completions a közvetlen curl teszthez |
400 | Rossz test vagy nem támogatott mező | Töröld a választómezőket és próbáld újra a legkisebb testet |
429 | Térfogat korlátozás | Mentse a válasz fejléceket, lassítsd meg és ellenőrizd a számla korlátjait |
5xx | Kiterjesztő |