Basis-URL und Authentifizierung
Die Authentifizierung erfordert einen einzelnen API-Schlüssel, der im Authorization header.
Jede Anfrage muss die Basis-URL https://api.dolphinaisincensura.com/v1 und fügen Sie den Schlüssel als Bearer YOUR_API_KEY.
Diese Konfiguration funktioniert mit jedem OpenAI-kompatiblen SDK, indem Sie einfach die base_url Konfiguration.
Fehler wie 401 deuten auf einen ungültigen oder fehlenden Schlüssel hin, während 402 unzureichendes Prepaid-Guthaben signalisiert.
curl https://api.dolphinaisincensura.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "list the python imports for requests and json"}]
}'
Eine Chat Completion senden
Senden Sie eine POST-Anfrage an /v1/chat/completions mit einem model field set to uncensored.
Schließen Sie eine messages Array, das Ihren Prompt-Verlauf enthält, um den Gesprächskontext aufrechtzuerhalten.
Die API gibt eine Textantwort direkt in der content field of the first choice.
Dieser Single-Model-Ansatz eliminiert Proxy-Gebühren und gewährleistet vorhersehbare Preise von $0.15 pro 1M Input-Tokens.
from openai import OpenAI
client = OpenAI(base_url="https://api.dolphinaisincensura.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)
Streaming (SSE) handhaben
Aktivieren Sie Streaming, indem Sie stream zu true in Ihrem Anfrage-Payload.
Der Server antwortet mit Server-Sent Events (SSE), die Tokens inkrementell übermitteln.
Jeden SSE-Chunk analysieren, um den generierten Text zu extrahieren, ohne auf die vollständige Antwort zu warten.
Token-Nutzungsstatistiken werden im finalen Chunk des Streams für eine genaue Abrechnung bereitgestellt.
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)
Function Calling und JSON-Modus
Nutzen Sie die tools Parameter zur Definition von Funktionsschemas für die strukturierte Datenextraktion.
Festlegen response_format zu {"type": "json_object"} strikte JSON-Ausgabe für zuverlässiges Parsing zu erzwingen.
Specify temperature und top_p um Kreativität versus Determinismus in Ihren Ergebnissen zu steuern.
Diese Funktionen ermöglichen es Ihnen, autonome Agenten zu erstellen, die mit externen APIs oder Datenbanken interagieren.
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.dolphinaisincensura.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);
Verständnis der Token-Limits und des Kontexts
Das Context-Window unterstützt 100.000 Tokens für Prompt und Completion zusammen.
Die maximale Ausgabe pro Anfrage beträgt 16.000 Tokens bzw. 2.048, wenn max_tokens ist nicht festgelegt.
Rate-Limits erlauben 300 Anfragen pro Minute und 8 gleichzeitige Anfragen pro API-Schlüssel.
Anfragen, die das Body-Größenlimit von 8 MB überschreiten oder die Concurrency-Caps erreichen, geben 429-Fehler zurück.
Fehlerantworten und Ablehnungen verbrauchen kein vorausbezahltes Guthaben.
Ratenbegrenzungen und Parallelität
Jeder API-Schlüssel ist auf 300 Anfragen pro Minute und 8 gleichzeitige aktive Verbindungen begrenzt.
Ein 429-Statuscode zeigt an, dass Sie diese Schwellenwerte für Parallelität oder Ratenbegrenzung überschritten haben.
Sie können einen neuen Schlüssel generieren, um einen bestehenden zu ersetzen, aber pro Konto ist nur ein aktiver Schlüssel erlaubt.
Überwachen Sie Ihre Nutzung über die Antwort-Header, um innerhalb der 8 MB-Grenze für den Request-Body zu bleiben.