Impostazione dell'URL di Base e Autenticazione
La tua chiave API autentica ogni richiesta ai nostri server. Registrati semplicemente con Google o un indirizzo email e copia la chiave dal tuo dashboard. Incollala nella tua variabile d'ambiente come DEEPSEEK_API_KEY e punta il tuo client a https://api.keyapideepseek.com/v1. Questo URL di base funziona con qualsiasi libreria standard compatibile con 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"}]
}'Puoi verificare la tua configurazione elencando i modelli disponibili. La risposta conferma che la tua chiave è valida e attiva. Questo passaggio garantisce che la tua integrazione punti all'endpoint senza filtri corretto prima di inviare prompt.
Endpoint Chat Completions
Il POST /v1/chat/completions l'endpoint accetta il tuo prompt e restituisce la risposta del modello. Invii un corpo JSON contenente i messaggi, le tue istruzioni di sistema e parametri come la temperatura. L'ID del modello è sempre uncensored. Questo modello singolo gestisce tutte le tue esigenze di generazione di testo senza complessità di routing.
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)L'SDK Python gestisce automaticamente le richieste HTTP. Passi la tua chiave e l'URL di base al costruttore del client. Il resto del codice rispecchia gli standard OpenAI. Questo garantisce che tu possa cambiare fornitore in futuro senza riscrivere l'intera logica della tua applicazione.
Risposte in streaming e utilizzo dei token
Abilita lo streaming impostando stream: true nella tua richiesta. L'API restituisce uno stream di Server-Sent Events (SSE) di chunk. Ogni chunk contiene testo parziale e statistiche sull'utilizzo. L'ultimo chunk include i conteggi totali dei token per la richiesta.
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)Lo streaming riduce la latenza percepita per gli utenti. Puoi visualizzare i token man mano che arrivano. Questo è cruciale per la generazione di testi lunghi o per le interfacce chat interattive. Monitora l'utilizzo dei token nell'ultimo chunk per tracciare accuratamente il consumo del credito prepagato.
Modalità JSON e chiamata di funzioni
Imposta un output strutturato impostando response_format a {"type": "json_object"}. Il modello restituirà JSON invece di testo libero. Questo è ideale per le integrazioni API o le attività di estrazione dei dati. Puoi anche definire le definizioni delle funzioni nel tuo prompt per l'uso di strumenti.
Il modello supporta tool_choice parametri. Puoi forzare funzioni specifiche o lasciare che il modello decida. Questa flessibilità ti permette di costruire agenti complessi. Assicurati che gli schemi delle tue funzioni siano fortemente tipati per evitare errori di parsing nel codice del tuo client.
Limiti di frequenza e concorrenza
Ogni chiave API è limitata a 300 richieste al minuto. Puoi avere fino a 8 richieste concorrenti attive contemporaneamente. La dimensione massima del corpo della richiesta è di 8 MB. Questi limiti prevengono abusi e garantiscono prestazioni stabili per tutti gli utenti. Il superamento di questi limiti restituisce un errore 429.
Implementa un exponential backoff nel codice client. Riprova le richieste fallite dopo un breve ritardo. Questo gestisce in modo elegante i problemi di rete transitori. Il tuo credito prepagato viene addebitato solo per i completamenti riusciti, non per i retry limitati dalla frequenza.
Gestione degli errori e rifiuti
Un errore 401 significa che la tua chiave non è valida o è scaduta. Un errore 402 indica credito prepagato insufficiente. Un errore 429 segnala che hai raggiunto il limite di velocità. Il modello rifiuta le richieste contenenti contenuti sessuali che coinvolgono minori. Tutti gli altri contenuti adulti legali sono consentiti.
Verifica il corpo della risposta di errore per messaggi dettagliati. Registra questi errori per debugare i problemi di integrazione. Il tuo credito non viene consumato per le richieste fallite. Questo modello di fatturazione trasparente ti aiuta a prevedere i costi con precisione senza spese nascoste.
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);