Authentifizierung und Base URL
Richten Sie zunächst die Base-URL und den API-Schlüssel in Ihrer Client-Konfiguration ein. Unser Dienst verwendet eine einzelne Base-URL für alle Anfragen, was die Kompatibilität mit bestehenden OpenAI-SDKs gewährleistet. Sie müssen keine mehreren Endpunkte für verschiedene Funktionen verwalten. Generieren Sie Ihren Schlüssel über das Dashboard mit Google oder E-Mail. Bewahren Sie diesen Schlüssel sicher auf, da er direkten Zugriff auf Ihr Prepaid-Guthaben gewährt.
Der API-Schlüssel wird in der Authorization header. Wenn Sie Ihren Schlüssel verlieren, generieren Sie einen neuen im Dashboard, der den alten aktiven Schlüssel ersetzt. Für die Kontowiederherstellung wird keine Telefonnummer benötigt, was unseren datenschutzfreundlichen Ansatz bewahrt. Verwenden Sie die unten angegebene Basis-URL für alle nachfolgenden Anfragen.
Base URL: https://api.norestrictedai.com/v1
POST /v1/chat/completions
Senden Sie Ihren Prompt an den POST /v1/chat/completions Endpunkt zum Empfangen einer Textantwort. Dies ist der einzige Endpunkt, den Sie zur Textgenerierung benötigen. Die Modell-ID ist uncensored. Es ist ein Open-Weight-Modell, das darauf ausgelegt ist, ohne Inhaltsablehnungen für legale Erwachseneninhalte zu antworten. Es ist kein GPT oder Claude. Sie können Antworten streamen oder im JSON-Modus anfordern. Das System unterstützt Function Calling und Standardparameter wie Temperatur und top_p.
Anfragen werden als Text-ein, Text-aus verarbeitet. Es gibt keine Embeddings oder Bildgenerierungsfunktionen. Wenn Sie diese benötigen, schauen Sie woanders. Unser Fokus liegt ausschließlich auf direkter Textgenerierung mit transparenter Token-Preiskalkulation. Fehler und Ablehnungen (außer dem harten Limit für Inhalte mit Minderjährigen) verbrauchen Ihr Guthaben nicht.
Python SDK-Integration
Verwenden Sie die offizielle OpenAI-Python-Bibliothek, um mit unserer API zu interagieren. Legen Sie die Basis-URL und den API-Schlüssel in Ihrer Client-Instanz fest. Dieser Ansatz ermöglicht es Ihnen, Ihre bestehende Codestruktur beizubehalten, während Sie den Anbieter wechseln. Die Bibliothek übernimmt die JSON-Serialisierung und die HTTP-Anfragen automatisch. Sie können denselben Modellnamen verwenden, den Sie auch für andere Dienste nutzen würden, denken Sie jedoch daran, dass unsere Modell-ID uncensored.
Diese Methode ist ideal für Backend-Dienste und Skripte. Die Bibliothek unterstützt sowohl synchrone als auch asynchrone Operationen. Sie können die Temperatur- und top_p-Werte anpassen, um die Kreativität zu steuern. Das Antwortobjekt enthält den generierten Text und die Token-Nutzungsstatistiken.
Node SDK-Integration
Integrieren Sie unsere API in Ihre Node.js-Anwendungen über das Standard-OpenAI-SDK. Konfigurieren Sie den Client mit Ihrer Base-URL und Ihrem API-Schlüssel. Diese Einrichtung funktioniert nahtlos mit Express-Routen oder serverlosen Funktionen. Das SDK verwaltet den Anforderungslebenszyklus, einschließlich Wiederholungen und Fehlerbehandlung. Sie können Nachrichten als Array von Rolle- und Inhaltsobjekten übergeben.
Diese Integration ist perfekt für Webanwendungen und Microservices. Das Antwortobjekt enthält den generierten Inhalt und Nutzungsdaten. Sie können Streaming aktivieren, um Tokens an den Client zu senden, sobald sie generiert werden. Dies reduziert die wahrgenommene Latenz für Endbenutzer. Das SDK unterstützt alle in der API-Spezifikation definierten Standardparameter.
Streaming-Antworten (SSE)
Aktivieren Sie das Streaming, indem Sie den stream Parameter auf true. Die API gibt einen Server-Sent Events (SSE)-Stream zurück. Jeder Chunk enthält eine teilweise Antwort. Der letzte Chunk enthält die gesamte Token-Nutzung. Dieses Feature reduziert die Zeit bis zum ersten Token erheblich. Es ist essenziell für Chat-Schnittstellen und Echtzeitanwendungen.
Der Stream läuft weiter, bis das Modell die Antwort abgeschlossen hat oder ein Fehler auftritt. Sie können den Stream jederzeit abbrechen. Der Server stoppt die Verarbeitung der Anfrage, wenn der Client die Verbindung trennt. Dies spart Rechenressourcen. Verwenden Sie den Streaming-Modus, um ein reibungsloses Benutzererlebnis zu gewährleisten. Die Token-Nutzung im letzten Chunk ermöglicht es Ihnen, die Kosten genau zu verfolgen.
Ratenbegrenzungen und Fehler
Unsere API setzt strenge Rate-Limits zur Sicherstellung der Stabilität. Ihnen stehen 300 Anfragen pro Minute pro Schlüssel zur Verfügung. Sie können 8 gleichzeitige Anfragen gleichzeitig stellen. Die maximale Größe des Anfragetextes beträgt 8 MB. Wenn Sie diese Grenzen überschreiten, erhalten Sie einen 429-Fehler. Fehler wie ungültige Schlüssel geben 401 zurück. Unzureichendes Guthaben gibt 402 zurück. Diese Fehler verbrauchen Ihr Guthaben nicht.
Das Context-Window beträgt 100.000 Tokens für Prompt und Completion zusammen. Die maximale Ausgabe beträgt 16.000 Tokens pro Anfrage. Wenn Sie max_tokens nicht festlegen max_tokens, das Limit beträgt 2.048. Guthaben wird im Voraus bezahlt und verfällt nicht. Fehler sind kostenlos. Wenn Sie doppelt belastet wurden, kontaktieren Sie den Support. Das System protokolliert keine Eingaben für das Training. Datenschutz wird gewährleistet. Verwenden Sie die Code-Blöcke unten, um diese Funktionen zu implementieren.
cURL
curl https://api.norestrictedai.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "Set database index to primary key"}]
}'Python
from openai import OpenAI
client = OpenAI(base_url="https://api.norestrictedai.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.norestrictedai.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)