Basis-URL und Authentifizierung
Starten Sie jede Anfrage, indem Sie Ihren Client auf die richtige Basis-URL zeigen. Verwenden Sie den Schlüssel, den Sie bei der Registrierung erhalten haben, um ihn im Authorization header. Dieser Header authentifiziert Ihr Konto und verfolgt die Nutzung Ihres Guthabens.
Unsere Infrastruktur ist für Entwickler konzipiert, die direkten Zugriff ohne Vermittlungsgebühren wünschen. Sie erhalten eine konsistente Leistung, weil wir unsere eigenen Server betreiben.
Erste Anfrage
Senden Sie Ihre erste Nachricht, um die Konnektivität und die Modellantwort zu überprüfen. Verwenden Sie den Standard-Chat-Completion-Endpunkt mit Ihrer System-Prompt-Anweisung und Ihrer Benutzerabfrage. Dies bestätigt, dass Ihr Schlüssel funktioniert, und zeigt Ihnen die rohe JSON-Antwort.
- Legen Sie den
modelfield touncensored. - Schließen Sie eine einfache Benutzernachricht ein, um die Latenz zu testen.
- Prüfen Sie die
usageObjekt für Token-Anzahlen.
Python SDK
Schnelle Integration über die offizielle Python-Bibliothek. Installieren Sie das Paket und initialisieren Sie den Client mit Ihrer Base-URL und Ihrem Schlüssel. Dieser Ansatz übernimmt Serialisierung und Retries automatisch.
Definieren Sie Ihren Konversationsverlauf als Liste von Wörterbüchern. Übergeben Sie diese direkt an den Chat-Endpunkt. Die Bibliothek gibt ein strukturiertes Antwortobjekt zurück, das Sie für den Text des Assistenten analysieren können.
Node SDK
Erstellen Sie Serverseitige Logik mit dem Node.js-Client. Importieren Sie die Bibliothek und konfigurieren Sie den API-Schlüssel und die Basis-URL. Diese Einrichtung eignet sich gut für Backend-Dienste, die Benutzereingaben asynchron verarbeiten.
Rufen Sie die Completion-Methode mit Ihren Nachrichten auf. Die Antwort enthält den generierten Text und die Nutzungsstatistiken. Behandeln Sie Fehler angemessen, um Abstürze Ihrer Anwendung bei hoher Last zu vermeiden.
Streaming-Antworten
Empfangen Sie Tokens in Echtzeit für ein flüssigeres Benutzererlebnis. Aktivieren Sie Streaming durch Festlegen des entsprechenden Flags in Ihrer Anfrage. Der Server sendet Datenchunks, sobald sie generiert werden.
Stapeln Sie diese Chunks clientseitig, um Text progressiv anzuzeigen. Dies reduziert die wahrgenommene Latenz erheblich. Überwachen Sie den letzten Chunk auf die gesamte Token-Nutzung und Abrechnungsdaten.
Limits, Fehler und Kontext
Respektieren Sie die Rate-Limits, um Unterbrechungen zu vermeiden. Sie dürfen 300 Anfragen pro Minute und 8 gleichzeitige Verbindungen pro Schlüssel nutzen. Wenn Sie dies überschreiten, erhalten Sie einen 429-Fehler.
Ein 401-Fehler bedeutet, dass Ihr API-Schlüssel ungültig ist. Ein 402-Fehler zeigt unzureichendes vorgeladenes Guthaben an. Ihr Context-Window beträgt insgesamt 100.000 Tokens. Halten Sie Ihre Eingabe und Antwort innerhalb dieses Limits, um eine zuverlässige Leistung zu gewährleisten.
cURL
curl https://api.deepseekapiaccess.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "Calculate the total latency for three sequential API calls."}]
}'Python
from openai import OpenAI
client = OpenAI(base_url="https://api.deepseekapiaccess.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)Node.js
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.deepseekapiaccess.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);Streaming
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)