Uwierzytelnianie i konfiguracja URL bazowego
Twój klucz API uwierzytelnia każde żądanie do naszych serwerów. Wystarczy zarejestrować się za pomocą Google lub adresu e-mail i skopiować klucz z pulpitu nawigacyjnego. Wklej go do zmiennej środowiskowej jako DEEPSEEK_API_KEY i skieruj swojego klienta na https://api.keyapideepseek.com/v1.Ten bazowy URL działa z dowolną standardową biblioteką kompatybilną z OpenAI.
curl https://api.keyapideepseek.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "Check the system health and confirm uptime status"}]
}'Możesz zweryfikować swoją konfigurację, wylistując dostępne modele. Odpowiedź potwierdza, że Twój klucz jest ważny i aktywny. Ten krok zapewnia, że Twoja integracja wskazuje na właściwy endpoint bez cenzury przed wysłaniem podpowiedzi.
Punkt końcowy Uzupełnień Czat
The POST /v1/chat/completions punkt końcowy akceptuje Twoją podpowiedź i zwraca odpowiedź modelu. Wysyłasz ciało JSON zawierające wiadomości, instrukcje systemowe i parametry takie jak temperatura. ID modelu to zawsze uncensored. Ten pojedynczy model obsługuje wszystkie Twoje potrzeby generowania tekstu bez złożoności routingu.
from openai import OpenAI
client = OpenAI(base_url="https://api.keyapideepseek.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)SDK Python automatycznie obsługuje żądania HTTP. Przekazujesz swój klucz i URL bazowy do konstruktora klienta. Reszta kodu odzwierciedla standardowe wzorce OpenAI. Zapewnia to, że możesz zmienić dostawcę później bez przepisywania całej logiki aplikacji.
Odpowiedzi strumieniowe i zużycie tokenów
Włącz strumieniowanie, ustawiając stream: true w Twoim żądaniu. API zwraca strumień zdarzeń wysyłanych serwerowo (SSE) fragmentów. Każdy fragment zawiera częściowy tekst i statystyki użycia. Ostatni fragment zawiera całkowite liczby tokenów dla żądania.
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)Strumieniowanie zmniejsza postrzeganą latencję dla użytkowników. Możesz wyświetlać tokeny w miarę ich przybywania. Jest to kluczowe dla generowania długich tekstów lub interaktywnych interfejsów czatu. Monitoruj zużycie tokenów w ostatnim fragmencie, aby dokładnie śledzić zużycie kredytów prepay.
Tryb JSON i wywoływanie funkcji
Wymuszaj output strukturalny poprzez ustawienie response_format do {"type": "json_object"}. Model zwróci format JSON zamiast tekstu swobodnego. Jest to idealne do integracji API lub zadań ekstrakcji danych. Możesz również zdefiniować definicje funkcji w swoim promptie do używania narzędzi.
Model obsługuje tool_choice parametrów. Możesz wymusić konkretne funkcje lub pozwolić modelowi na podjęcie decyzji. Ta elastyczność pozwala budować złożonych agentów. Upewnij się, że schematy Twoich funkcji są ściśle typowane, aby uniknąć błędów parsowania w kodzie klienta.
Limity szybkości i współbieżność
Każdy klucz API jest ograniczony do 300 żądań na minutę. Możesz mieć jednocześnie aktywne do 8 żądań równoległych. Maksymalny rozmiar ciała żądania wynosi 8 MB. Limity te zapobiegają nadużyciom i zapewniają stabilną wydajność dla wszystkich użytkowników. Przekroczenie tych limitów zwraca błąd 429.
Zaimplementuj wykładnicze zwalnianie w kodzie klienta. Ponów nieudane żądania po krótkim opóźnieniu. To obsługuje przejściowe problemy z siecią w sposób elegancki. Twój kredyt z góry opłacony jest naliczany tylko za udane zakończenia, a nie za ponowne próby ograniczone limitami.
Obsługa błędów i odmowy
Błąd 401 oznacza, że Twój klucz jest nieprawidłowy lub wygasł. Błąd 402 oznacza niewystarczające środki w portfelu. Błąd 429 oznacza przekroczenie limitu szybkości. Model odrzuca żądania zawierające treści seksualne z udziałem małoletnich. Pozostałe prawne treści dla dorosłych są dozwolone.
Sprawdź ciało odpowiedzi błędu pod kątem szczegółowych komunikatów. Zaloguj te błędy, aby debugować problemy z integracją. Twoje kredyty nie są zużywane dla nieudanych żądań. Ten przejrzysty model rozliczania pomaga Ci dokładnie przewidywać koszty bez ukrytych opłat.
Node.js
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.keyapideepseek.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);