Migrace API: Řešení běžných chyb při integraci LLM
Migrace vašich LLM integrací často selhává kvůli drobným chybám v konfiguraci spíše než složitým chybám v logice. Tento průvodce řeší nejčastější pasti při přechodu na nové API neomezené AI, což zajistí spolehlivou funkčnost vašeho kódu od prvního dne.
Naposledy aktualizováno
Shrnutí
- Nesprávná konfigurace základní URL je nejčastější příčinou okamžitých selhání připojení.
- Ignorování kontextového okna o 100 000 tocnech vede k tichému oříznutí dlouhých konverzací.
- Streamování vyžaduje specifické zpracování hlaviček a událostí, které standardní synchronní volání nepotřebují.
- Omezení rychlosti 300 požadavků za minutu vyžadují robustní logiku opakování, aby se předešlo chybám 429.
Nesprávná konfigurace základní URL
Prvním místem selhání je téměř vždy základní URL. Při přechodu mezi poskytovateli musíte aktualizovat koncový bod, ke kterému se připojuje váš SDK. Špatná URL vede k chybě 404 nebo 403 ještě předtím, než vaše payload opustí vaše zařízení.
Ujistěte se, že váš klient ukazuje na správnou doménu. Pro naši službu je základní URL https://api.apimigration.com/v1. Tato URL funguje se standardními SDK OpenAI prostou změnou base_url parametr.
- Ověřte protokol (HTTPS vs HTTP).
- Hledejte koncová lomítka ve konfiguraci klienta.
- Potvrďte, že cesta verze (
/v1) odpovídá vaší specifikaci API.
curl https://api.apimigration.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "Run the latest migration script for the user table"}]
}'
Ignorování limitů kontextového okna
Váš model má tvrdý limit 100 000 tokenů pro kombinovaný prompt a completion. Pokud tento limit překročíte, API zamítne požadavek nebo zkrátí historii tiše v závislosti na implementaci. Vždy sledujte spotřebu tokenů, abyste se vyhnuli dosažení této hranice.
Maximální výstup na požadavek je 16,000 tokenů. Pokud nenastavíte max_tokens, výchozí hodnota je 2 048 tokenů. Tento rozdíl je významný pro úkoly generování dlouhého obsahu.
- Sledujte celkový počet tokenů na požadavek.
- Nastavit
max_tokensexplicitně pro dlouhé výstupy. - Implementujte logiku klouzavého okna pro velmi dlouhé konverzace.
from openai import OpenAI
client = OpenAI(base_url="https://api.apimigration.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)
Nesprávná implementace streamování
Streamované odpovědi vyžadují specifické zpracování událostí Server-Sent Events (SSE). Pokud stream považujete za jeden objekt JSON, váš kód zasekne nebo spadne. Každý blok obsahuje částečná data a poslední blok zahrnuje statistiky využití tokenů.
Čtěte stream postupně. Zpracovávejte každou událost, jak přichází. To snižuje vnímanou latenci pro koncové uživatele. Nečekejte na zpracování celé odpovědi.
- Otevřete spojení a čtěte řádek po řádku.
- Parsovat
data:řádky jako JSON. - Zvládněte
[DONE]správně signalizovat.
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)
Přehlédnutí limitů rychlosti
Naše API umožňuje 300 požadavků za minutu na klíč. Pokud vaše aplikace vykáže špičku, obdržíte chyby 429 Too Many Requests. Musíte implementovat exponenciální zpomalování, abyste tyto chyby zvládli plynule.
Souběžné požadavky jsou také omezeny na 8 najednou na klíč. Překročení tohoto limitu může vést k vyčerpání poolu připojení. Sledujte svá souběžná připojení pečlivě.
- Implementujte exponenciální zpomalování pro chyby 429.
- Omezte souběžná připojení na 8.
- Použijte vzor obvodového přerušení pro vysokou zátěž.
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.apimigration.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);
Předpokládaje standardní formáty JSON
Ačkoli se řídíme formáty kompatibilními s OpenAI, předpoklady mohou narušit vaši integraci. Ujistěte se, že požadujete json_object v response_format pokud potřebujete přísný JSON. Bez toho může model vrátit markdown nebo prostý text.
Parsovejte odpověď pečlivě. Před použitím ověřte strukturu JSON. To zabrání chybám za běhu v následných službách.
- Nastavit
response_formatna{"type": "json_object"}. - Ověřte JSON před parsováním.
- Zvládněte neplatné odpovědi elegantně.
curl https://api.apimigration.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "Run the latest migration script for the user table"}]
}'
Ignorování zpracování chyb
API selhávají. Dochází k časovým limitům sítě, chybám serveru a neplatným tělům požadavků. Váš kód musí tyto chyby zpracovat bez pádu. Pro ladování zaznamenávejte podrobnosti o chybě.
Zkontrolujte kód chyby a zprávu. Při přechodných chybách zkuste znovu. Při trvalých chybách selžete rychle. Toto rozlišení šetří čas a zdroje.
- Logujte kódy chyb a zprávy.
- Opakovat u chyb 5xx s backoff.
- Rychle selhejte při chybách 4xx.
from openai import OpenAI
client = OpenAI(base_url="https://api.apimigration.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)
Platba a problémy s rotací klíčů
Naše API využívá předplacený kredit přes kryptoměny. Kredit nevyprší. Pokud dojdou prostředky, požadavky selžou. Sledujte svůj zůstatek a doplňte jej, než klesne na nulu.
Každý účet má jeden aktivní klíč. Vygenerování nového klíče okamžitě zneplatní starý. Ujistěte se, že vaše nasazení aktualizuje klíč atomicky, aby nedošlo k výpadku.
- Pravidelně sledujte zůstatek kreditu.
- Otáčejte klíče atomicky.
- Aktualizujte všechny instance současně.
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.apimigration.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);
Souhrn nejlepších postupů
Úspěch migrace závisí na pozornosti k detailům. Ověřte svou základní URL. Respektujte limity kontextu. Správně zpracovávejte streamování. Řiďte limity rychlosti. Validujte JSON. Zvládněte chyby. Řiďte platby a klíče. Dodržení těchto kroků zajišťuje hladký přechod.
Otestujte svou integraci důkladně před nasazením do produkce. Použijte zkušební kredit k ověření svého nastavení. To zabraňuje nákladnému výpadku v produkci.
- Ověřte základní URL.
- Respektujte limity kontextu.
- Zvládněte streamování správně.
- Správa limitů frekvence.
- Ověřte JSON.
- Chyby.
- Spravujte platby a klíče.
curl https://api.apimigration.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "Run the latest migration script for the user table"}]
}'Časté otázky
Jaká je velikost context window?
Okno kontextu má 100 000 tokenů pro prompt i dokončení dohromady. Maximální výstup na požadavek je 16 000 tokenů. Pokud nezadáte max_tokens, výchozí hodnota je 2 048 tokenů.
Jak streamovat odpovědi?
Použijte Server-Sent Events (SSE). Přečtěte si každý řádek a parsovejte data JSON. Poslední chunk zahrnuje použití tokenů. Nečekejte na celou odpověď.
Jaká jsou omezení rychlosti?
Můžete odeslat 300 požadavků za minutu na klíč. Můžete mít 8 souběžných požadavků na klíč. Překročení těchto limitů má za následek chyby 429.
Jak platím za API?
Platby jsou pouze v kryptoměnách. Můžete použít USDT (TRC20) nebo USDC (Base). Připsání se pohybují od 20 $ do 500 $. Kredity nevyprší.
Získejte svůj API klíč
Registrovat se, zkopírovat klíč, aktualizovat základní URL. Nastavení je dokončeno.