URL de base et authentification
Démarrez chaque requête en pointant votre client vers l'URL de base correcte. Utilisez la clé que vous avez reçue lors de l'inscription pour la passer dans le Authorization header. Cet en-tête authentifie votre compte et suit l'utilisation de votre crédit prépayé.
Notre infrastructure est conçue pour les développeurs qui souhaitent un accès direct sans frais de routage intermédiaires. Vous bénéficiez de performances cohérentes car nous exploitons nos propres serveurs.
Première demande
Envoyez votre premier message pour vérifier la connectivité et la réponse du modèle. Utilisez le point de terminaison standard de chat completions avec votre invite système et votre requête utilisateur. Cela confirme que votre clé fonctionne et vous montre la réponse JSON brute.
- Définissez le
modelfield touncensored. - Inclure un message utilisateur simple pour tester la latence.
- Vérifiez le
usageobjet pour les comptes de jetons.
SDK Python
Intégrez rapidement à l'aide de la bibliothèque Python officielle. Installez le package et initialisez le client avec votre URL de base et votre clé. Cette approche gère automatiquement la sérialisation et les nouvelles tentatives.
Définissez votre historique de conversation sous forme de liste de dictionnaires. Transmettez-les directement au point de terminaison de chat. La bibliothèque renvoie un objet de réponse structuré que vous pouvez analyser pour extraire le texte de l'assistant.
SDK Node
Créez la logique côté serveur avec le client Node.js. Importez la bibliothèque et configurez la clé API et l'URL de base. Cette configuration convient bien aux services backend qui traitent les entrées utilisateur de manière asynchrone.
Appelez la méthode completion avec vos messages. La réponse inclut le texte généré et les statistiques d'utilisation. Gérez les erreurs avec élégance pour éviter de faire planter votre application lors d'une charge élevée.
Réponses en streaming
Recevez des tokens en temps réel pour une expérience utilisateur plus fluide. Activez le streaming en définissant le drapeau approprié dans votre requête. Le serveur envoie des chunks de données au fur et à mesure de leur génération.
Accumulez ces morceaux côté client pour afficher le texte de manière progressive. Cela réduit considérablement la latence perçue. Surveillez le dernier morceau pour l'utilisation totale des jetons et les données de facturation.
Limites, Erreurs et Contexte
Respectez les limites de débit pour éviter les interruptions. Vous avez droit à 300 requêtes par minute et 8 connexions concurrentes par clé. Si vous dépassez cette limite, vous recevrez une erreur 429.
Une erreur 401 signifie que votre clé API est invalide. Une erreur 402 indique un solde prépayé insuffisant. Votre fenêtre de contexte est de 100 000 tokens au total. Maintenez votre prompt et votre réponse dans cette limite pour garantir des performances fiables.
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)