Zaktualizowano
Klucz API DeepSeek nie działa: przyczyny i rozwiązania
Gdy pojawi się błąd klucz API DeepSeek nie działa, klucz jest winny rzadziej niż sądzisz. Większość awarii wynika z base URL, pustego salda, błędnej nazwy modelu lub klienta, który wysyła klucz w złym miejscu.


Zacznij od testu w jednej linii
Zanim zmienisz cokolwiek w aplikacji, usuń klienta z równania. Pojedyncze wywołanie curl mówi, czy klucz, URL i nazwa modelu działają razem. Zastąp placeholdery wartościami z panelu i dokumentacji dostawcy.
curl -i https://YOUR-PROVIDER/v1/chat/completions \
-H "Authorization: Bearer YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"YOUR-MODEL","messages":[{"role":"user","content":"ping"}]}'
Flaga -i wyświetla linię statusu i nagłówki, a te mają większe znaczenie niż treść. Jeśli curl działa, a Twoja aplikacja nie, problem leży w ustawieniach aplikacji. Jeśli curl też zawodzi, problemem jest klucz, konto lub endpoint.
Najpierw przeczytaj kod statusu
| Kod | Znaczenie | Co sprawdzić |
|---|---|---|
| 401 | Klucz został odrzucony | Skopiuj komunikaty o błędach, dodatkowe spacje, unieważniony lub usunięty klucz, klucz od innego dostawcy |
| 402 lub komunikat o saldzie | Brak środków | Saldo konta i strona rozliczeń |
| 404 | Błędna ścieżka lub model | Base URL, końcowy /v1, pisownia nazwy modelu |
| 429 | Zbyt wiele żądań | Żądania na minutę, zapytania równoległe, nagłówki ponownej próby |
| 5xx lub przekroczenie czasu | Strona dostawcy lub sieć | Strona statusu dostawcy, spróbuj później, routing regionalny |
Są to powszechne znaczenia wśród dostawców w stylu OpenAI. Każdy dostawca dokumentuje swoje dokładne kody, więc sprawdź ich aktualną dokumentację, aby uzyskać szczegóły.
Sam klucz
Klucze to długie ciągi znaków, które psują się w nudny sposób. Wklej klucz do edytora tekstu i poszukaj spacji lub znaku nowej linii na końcu, wiodącego cudzysłowu lub podziału wiersza dodanego przez aplikację czatu. Upewnij się, że nagłówek ma postać Authorization: Bearer KEY z jedną spacją po Bearer. Jeśli ustawiasz klucz w zmiennej środowiskowej, wypisz jego długość w aplikacji (nie wartość), aby potwierdzić wczytanie.
Dwa inne przypadki są powszechne. Po pierwsze, utworzyłeś klucz, zamknąłeś stronę i skopiowałeś jego zasłoniętą wersję. Większość paneli pokazuje klucz tylko raz, więc utwórz nowy. Po drugie, używasz klucza z jednej usługi przeciwko URL innej usługi. Klucz jest ważny tylko dla dostawcy, który go wydał.
Saldo, rozliczenia i darmowy kredyt
Wiele kluczy API działa tylko, gdy konto ma środki. Puste saldo może wyglądać jak zepsuty klucz. Otwórz stronę rozliczeń swojego dostawcy i potwierdź, że masz środki, że doładowanie faktycznie zostało zaksięgowane i że kredyt promocyjny nie wygasł. Doładowania kryptowalutami (USDT na TRC20, USDC na Base) mogą pojawić się po kilku minutach. Doładowania kartą nie są już akceptowane.
Jeśli chcesz porównać, jak inny serwis z przedpłaconym kredytem radzi sobie z tym, nasz model jest prosty: kupujesz kredyt, wywołania go zużywają po $0.15 za 1M tokenów wejściowych i $0.50 za 1M tokenów wyjściowych, nieudane lub odrzucone zapytania nie są rozliczane, a kredyt nigdy nie wygasa. Saldo możesz odczytać przez GET /v1/balance lub z nagłówka X-Balance-USD w każdej odpowiedzi.
Podstawowy URL i nazwa modelu
Najczęstszą przyczyną w narzędziach takich jak SillyTavern, Janitor AI i wtyczkach do edytorów jest niepoprawnie wpisany base URL. Typowe błędy: brak /v1, podwojony /v1/v1, użycie http zamiast https lub wklejenie pełnej ścieżki /chat/completions do pola, które już ją dodaje. Pole modelu to druga pułapka. Musi pasować do ID modelu podanego przez dostawcę. Wylistuj je przez GET /v1/models, jeśli dostawca to obsługuje, lub przeczytaj aktualną dokumentację.
Przewodniki konfiguracji dla konkretnych narzędzi znajdziesz na tej stronie: używanie klucza w SillyTavern, w Janitor AI i w VS Code.
Limity zapytań i współbieżność
Fala równoległych zapytań może wywołać błąd 429 nawet przy poprawnym kluczu. Szukaj nagłówka Retry-After i zmniejsz częstotliwość zapytań. Minimalne ponowienie w Pythonie wygląda następująco:
import time
from openai import OpenAI, RateLimitError
client = OpenAI(base_url="https://api.deepseekapikey.com/v1", api_key="YOUR_KEY")
def ask(prompt):
for attempt in range(4):
try:
r = client.chat.completions.create(
model="uncensored",
messages=[{"role": "user", "content": prompt}],
)
return r.choices[0].message.content
except RateLimitError:
time.sleep(5 * (attempt + 1))
raise RuntimeError("still rate limited")
Na naszym endpointzie pełny klucz pozwala na 8 równoległych zapytań i 300 zapytań na minutę. Zapytanie strumieniowe zajmuje slot do momentu zakończenia strumienia. Kod błędu to rate_limited lub concurrency, a tymczasowe przeciążenie zwraca 429 z Retry-After: 5.
Problemy sieciowe i regionalne
Jeśli curl zawiesza się lub resetuje, problem może leżeć po stronie dostawcy: korporacyjny proxy, VPN, DNS lub blokada regionalna. Spróbuj innej sieci, sprawdź, czy Twoje proxy przekazuje nagłówki Authorization, i zwiększ limit czasu klienta dla długich generacji. Strumieniowane odpowiedzi mogą być również przycinane przez proxy buforujące; przetestuj z stream: false, aby oddzielić te dwa problemy.
Lista kontrolna do wykonania w pięć minut
- Uruchom test curl i zanotuj kod statusu.
- Utwórz świeży klucz i przetestuj go. Jeśli nowy klucz działa, stary został źle skopiowany lub unieważniony.
- Sprawdź saldo i datę wygaśnięcia kredytu.
- Porównaj base URL i ID modelu z dokumentacją dostawcy znak po znaku.
- Wyślij jedno zapytanie bez strumieniowania, bez narzędzi i krótkim promptem. Dodawaj funkcje z powrotem po jednej.
- Sprawdź wywołania równoległe. Jeśli Twoja aplikacja wysyła wiele zapytań naraz, zmniejsz współbieżność.
- Spróbuj innej sieci lub wyłącz VPN.
- Spójrz na nagłówki odpowiedzi, w tym na dowolny identyfikator żądania. Zespół wsparcia znajdzie Twoje wywołanie po tym identyfikatorze.
Piąty krok znajduje zaskakująco dużo błędów. Nieco niepoprawne definicje narzędzi, bardzo duża wartość max_tokens lub ciało powyżej limitu rozmiaru mogą zwracać błędy wyglądające jak problemy z kluczem. Na naszym endpoint limit ciała to 8 MB, a każda odpowiedź zawiera nagłówek X-Request-Id, który możesz podać wsparciu.
Skonfiguruj zapasowy endpoint
Awarie i limity zdarzają się u każdego dostawcy, więc trzymaj w konfiguracji drugi endpoint kompatybilny z OpenAI. Nasz to hostowany model o otwartych wagach dostrojony do odpowiadania bez odmów treści dla prawnego użytku dorosłych. Nie jest to oficjalne API DeepSeek i nie jest to router, więc spodziewaj się innych odpowiedzi i innego zachowania. Przełączenie wymaga dwóch ustawień: base URL https://api.deepseekapikey.com/v1 i model uncensored.
curl https://api.deepseekapikey.com/v1/chat/completions \
-H "Authorization: Bearer YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"uncensored","messages":[{"role":"user","content":"ping"}]}'
Nowi użytkownicy mogą jednym kliknięciem odebrać $0,50 kredytu próbnego na stronie klucza API, ważny przez 7 dni. Doładowania wynoszą od $20 do $500 kryptowalutami; szczegóły znajdziesz na stronie z cenami oraz w dokumentacji.
Więcej przewodników
Pytania i odpowiedzi
Dlaczego mój klucz działa w curl, ale nie w aplikacji?
Aplikacja prawdopodobnie ma błędny base URL, błędną nazwę modelu lub przestarzałą kopię klucza. Porównaj jej ustawienia z działającym wywołaniem curl znak po znaku.
Czy poprawny klucz gwarantuje, że zapytania zostaną pomyślnie wykonane?
Nie. Puste saldo, limit zapytań lub nieznana nazwa modelu mogą zakończyć się niepowodzeniem nawet przy idealnie poprawnym kluczu.
Czy mogę użyć tego samego kodu z innym dostawcą?
Jeśli oba są kompatybilne z OpenAI, tak. Zmień base URL, klucz i identyfikator modelu.
Czy twój endpoint to ten sam model co DeepSeek?
Nie. To jeden model o otwartych wagach uruchamiany przez niezależnego dostawcę i nie jest to oficjalne API żadnego dostawcy.
Twój klucz jest o jeden formularz stąd
Utwórz konto, skopiuj klucz, zmień base URL. To cała konfiguracja.